Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 28 additions & 25 deletions .gitlab-ci-correaa.yml
Original file line number Diff line number Diff line change
Expand Up @@ -814,31 +814,31 @@ cuda-12.6.3:
- mkdir build && cd build
- g++ --version
- /usr/local/cuda/bin/nvcc --version
- CUDACXX=/usr/local/cuda/bin/nvcc cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=1 -DCMAKE_CXX_STANDARD=20 -DCMAKE_CUDA_STANDARD=20 -DCMAKE_CUDA_ARCHITECTURES=75 -DCMAKE_CUDA_HOST_COMPILER=g++
- CUDACXX=/usr/local/cuda/bin/nvcc cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=1 -DCMAKE_CXX_STANDARD=20 -DCMAKE_CUDA_STANDARD=20 -DCMAKE_CUDA_ARCHITECTURES=native -DCMAKE_CUDA_HOST_COMPILER=g++
- cmake --build . --parallel 2 || cmake --build . --verbose
- ctest || ctest --rerun-failed --output-on-failure
needs: ["cuda"]

cuda-12.9.0:
stage: build
allow_failure: false
image: nvcr.io/nvidia/cuda:12.9.0-devel-ubuntu24.04 # https://catalog.ngc.nvidia.com/orgs/nvidia/containers/cuda/tags
tags:
- non-shared
- nvidia-gpu
interruptible: true
script:
- nvidia-smi
- apt-get -qq update
- apt-get install --no-install-recommends -y cmake g++ wget pkg-config make libboost-serialization-dev libboost-timer-dev libblas-dev libfftw3-dev
- cmake --version
- mkdir build && cd build
- g++ --version
- /usr/local/cuda/bin/nvcc --version
- CUDACXX=/usr/local/cuda/bin/nvcc cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=1 -DCMAKE_CXX_STANDARD=20 -DCMAKE_CUDA_STANDARD=20 -DCMAKE_CUDA_ARCHITECTURES=75 -DCMAKE_CUDA_HOST_COMPILER=g++
- cmake --build . --verbose --parallel 2 || cmake --build . --verbose
- ctest || ctest --rerun-failed --output-on-failure
needs: ["g++", "clang++", "cuda"]
# cuda-12.9.0:
# stage: build
# allow_failure: false
# image: nvcr.io/nvidia/cuda:12.9.0-devel-ubuntu24.04 # https://catalog.ngc.nvidia.com/orgs/nvidia/containers/cuda/tags
# tags:
# - non-shared
# - nvidia-gpu
# interruptible: true
# script:
# - nvidia-smi
# - apt-get -qq update
# - apt-get install --no-install-recommends -y cmake g++ wget pkg-config make libboost-serialization-dev libboost-timer-dev libblas-dev libfftw3-dev
# - cmake --version
# - mkdir build && cd build
# - g++ --version
# - /usr/local/cuda/bin/nvcc --version
# - CUDACXX=/usr/local/cuda/bin/nvcc cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=1 -DCMAKE_CXX_STANDARD=20 -DCMAKE_CUDA_STANDARD=20 -DCMAKE_CUDA_ARCHITECTURES=native -DCMAKE_CUDA_HOST_COMPILER=g++
# - cmake --build . --verbose --parallel 2 || cmake --build . --verbose
# - ctest || ctest --rerun-failed --output-on-failure
# needs: ["g++", "clang++", "cuda"]

cuda-13.0.1:
stage: build
Expand All @@ -847,6 +847,7 @@ cuda-13.0.1:
tags:
- non-shared
- nvidia-gpu
- arch75
interruptible: true
script:
- nvidia-smi
Expand All @@ -856,7 +857,7 @@ cuda-13.0.1:
- mkdir build && cd build
- g++ --version
- /usr/local/cuda/bin/nvcc --version
- CUDACXX=/usr/local/cuda/bin/nvcc cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CUDA_FLAGS="-ftemplate-backtrace-limit=0" -DENABLE_CUDA=1 -DCMAKE_CXX_STANDARD=20 -DCMAKE_CUDA_STANDARD=20 -DCMAKE_CUDA_ARCHITECTURES=75 -DCMAKE_CUDA_HOST_COMPILER=g++
- CUDACXX=/usr/local/cuda/bin/nvcc cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CUDA_FLAGS="-ftemplate-backtrace-limit=0" -DENABLE_CUDA=1 -DCMAKE_CXX_STANDARD=20 -DCMAKE_CUDA_STANDARD=20 -DCMAKE_CUDA_ARCHITECTURES=native -DCMAKE_CUDA_HOST_COMPILER=g++
- cmake --build . --verbose --parallel 2 || cmake --build . --verbose
- ctest || ctest --rerun-failed --output-on-failure
needs: ["g++", "clang++", "cuda"]
Expand All @@ -882,7 +883,7 @@ culang++-19 cuda-12.6.3 tidy: # https://catalog.ngc.nvidia.com/orgs/nvidia/cont
- mkdir build && cd build
- clang++-19 --version
- clang-tidy-19 --version
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CUDA_FLAGS="-Wno-unknown-cuda-version" -DCMAKE_CXX_CLANG_TIDY=clang-tidy-19 -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=clang++-19 -DCMAKE_CXX_COMPILER=clang++-19 -DCMAKE_CUDA_ARCHITECTURES=75
- cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CUDA_FLAGS="-Wno-unknown-cuda-version" -DCMAKE_CXX_CLANG_TIDY=clang-tidy-19 -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=clang++-19 -DCMAKE_CXX_COMPILER=clang++-19 -DCMAKE_CUDA_ARCHITECTURES=native
- cmake --build . --parallel 2 || cmake --build . --verbose
- ctest -j 2 --output-on-failure
needs: ["cuda", "clang++"]
Expand Down Expand Up @@ -1144,12 +1145,14 @@ qmcpack:

qmcpack cuda-12.3.1:
stage: test
image: nvcr.io/nvidia/cuda:12.3.1-devel-ubuntu22.04
image:
name: nvcr.io/nvidia/cuda:12.9.0-devel-ubuntu24.04 # nvcr.io/nvidia/cuda:12.3.1-devel-ubuntu24.04
tags:
- non-shared
- nvidia-gpu
- high-bandwidth
interruptible: true
allow_failure: true
before_script:
- apt-get -qq update && apt-get -qq install --no-install-recommends -y ca-certificates cmake git libopenmpi-dev cmake g++ git gfortran libblas-dev libboost-serialization-dev libfftw3-dev libhdf5-dev liblapack-dev libopenmpi-dev make numdiff pkg-config python3 python3-h5py python3-numpy python3-mpi4py python3-scipy libxml2-dev
script:
Expand All @@ -1163,7 +1166,7 @@ qmcpack cuda-12.3.1:
- cd build
- nvcc --version
- __nvcc_device_query
- CUDACXX=/usr/local/cuda/bin/nvcc cmake .. -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DBUILD_AFQMC=1 -DQMC_CXX_STANDARD=17 -DQMC_GPU=cuda -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc -DCMAKE_CUDA_HOST_COMPILER=g++ -DCMAKE_CXX_FLAGS="-Wno-deprecated -Wno-deprecated-declarations" -DCMAKE_CUDA_ARCHITECTURES=75 # =80
- CUDACXX=/usr/local/cuda/bin/nvcc cmake .. -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DBUILD_AFQMC=1 -DQMC_CXX_STANDARD=17 -DQMC_GPU=cuda -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc -DCMAKE_CUDA_HOST_COMPILER=g++ -DCMAKE_CXX_FLAGS="-Wno-deprecated -Wno-deprecated-declarations" -DCMAKE_CUDA_ARCHITECTURES=native # =80
- make -j 4 ppconvert afqmc test_afqmc_matrix test_afqmc_numerics test_afqmc_slaterdeterminantoperations test_afqmc_walkers test_afqmc_hamiltonians test_afqmc_hamiltonian_operations test_afqmc_phmsd test_afqmc_wfn_factory test_afqmc_prop_factory test_afqmc_estimators qmc-afqmc-performance
- OMPI_ALLOW_RUN_AS_ROOT=1 OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 ctest -R ppconvert --output-on-failure
- OMPI_ALLOW_RUN_AS_ROOT=1 OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 ctest -R afqmc --output-on-failure
Expand Down
46 changes: 32 additions & 14 deletions include/boost/multi/detail/index_range.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@
#include <type_traits> // for declval, true_type, decay_t, enable_if_t
#include <utility> // for forward

#if defined(__cplusplus) && (__cplusplus >= 202002L) && __has_include(<ranges>)
#include <ranges> // IWYU pragma: keep // NOLINT(misc-include-cleaner)
#endif

#ifdef __NVCC__
#define BOOST_MULTI_HD __host__ __device__
#else
Expand Down Expand Up @@ -129,11 +133,14 @@ class range {
using pointer = value_type;

range() = default;

// range(range const&) = default;
// range(range&&) = default;
// auto operator=(range const&) -> range& = default;
// auto operator=(range&&) -> range& = default;
// ~range() = default;

template<class Range,
std::enable_if_t<!std::is_base_of_v<range, std::decay_t<Range>>, int> = 0, // NOLINT(modernize-type-traits) for C++20
std::enable_if_t<!std::is_same_v<range, std::decay_t<Range>>, int> = 0, // NOLINT(modernize-type-traits) for C++20
decltype(detail::implicit_cast<IndexType>(std::declval<Range&&>().first()),
detail::implicit_cast<IndexTypeLast>(std::declval<Range&&>().last())
)* = nullptr>
Expand All @@ -143,7 +150,7 @@ class range {

template<
class Range,
std::enable_if_t<!std::is_base_of_v<range, std::decay_t<Range>>, unsigned> = 0,
std::enable_if_t<!std::is_same_v<range, std::decay_t<Range>>, unsigned> = 0, // NOLINT(modernize-type-traits) for C++20
decltype(detail::explicit_cast<IndexType>(std::declval<Range&&>().first()),
detail::explicit_cast<IndexTypeLast>(std::declval<Range&&>().last())
)* = nullptr>
Expand Down Expand Up @@ -178,7 +185,7 @@ class range {
++curr_;
return *this;
}
constexpr auto operator--() -> const_iterator& {
constexpr auto operator--() noexcept(noexcept(--curr_)) -> const_iterator& {
--curr_;
return *this;
}
Expand Down Expand Up @@ -213,8 +220,8 @@ class range {

constexpr auto operator[](difference_type n) const -> const_reference { return first() + n; }

[[nodiscard]] BOOST_MULTI_HD constexpr auto front() const -> const_reference { return first(); }
[[nodiscard]] BOOST_MULTI_HD constexpr auto back() const -> const_reference { return last() - 1; }
[[nodiscard]] BOOST_MULTI_HD constexpr auto front() const -> value_type { return first(); }
[[nodiscard]] BOOST_MULTI_HD constexpr auto back() const -> value_type { return last() - 1; }

[[nodiscard]] constexpr auto cbegin() const { return const_iterator{first_}; }
[[nodiscard]] constexpr auto cend() const { return const_iterator{last_}; }
Expand All @@ -225,11 +232,11 @@ class range {
[[nodiscard]] constexpr auto begin() const -> const_iterator { return cbegin(); }
[[nodiscard]] constexpr auto end() const -> const_iterator { return cend(); }

BOOST_MULTI_HD constexpr auto is_empty() const& noexcept { return first_ == last_; }
friend BOOST_MULTI_HD constexpr auto is_empty(range const& self) noexcept { return self.is_empty(); }
BOOST_MULTI_HD constexpr auto is_empty() const noexcept { return first_ == last_; }
// friend BOOST_MULTI_HD constexpr auto is_empty(range const& self) noexcept { return self.is_empty(); }

[[nodiscard]] BOOST_MULTI_HD constexpr auto empty() const& noexcept { return is_empty(); }
friend BOOST_MULTI_HD constexpr auto empty(range const& self) noexcept { return self.empty(); }
// friend BOOST_MULTI_HD constexpr auto empty(range const& self) noexcept { return self.empty(); }

#ifdef __NVCC__
#pragma nv_diagnostic push
Expand All @@ -242,10 +249,10 @@ class range {
#pragma nv_diagnostic pop
#endif

friend BOOST_MULTI_HD constexpr auto size(range const& self) noexcept -> size_type { return self.size(); }
// friend BOOST_MULTI_HD constexpr auto size(range const& self) noexcept -> size_type { return self.size(); }

friend constexpr auto begin(range const& self) { return self.begin(); }
friend constexpr auto end(range const& self) { return self.end(); }
// friend constexpr auto begin(range const& self) { return self.begin(); }
// friend constexpr auto end(range const& self) { return self.end(); }

friend BOOST_MULTI_HD constexpr auto operator==(range const& self, range const& other) {
return (self.empty() && other.empty()) || (self.first_ == other.first_ && self.last_ == other.last_);
Expand Down Expand Up @@ -344,8 +351,16 @@ struct extension_t : public range<IndexType, IndexTypeLast> {
BOOST_MULTI_HD constexpr extension_t(IndexTypeLast last) noexcept // NOLINT(google-explicit-constructor,hicpp-explicit-conversions) // NOSONAR(cpp:S1709) allow terse syntax
: range<IndexType, IndexTypeLast>(IndexType{}, IndexType{} + last) {}

// extension_t() = default;
// extension_t(extension_t const&) = default;
// extension_t(extension_t&&) = default;
// auto operator=(extension_t const&) -> extension_t& = default;
// auto operator=(extension_t&&) -> extension_t& = default;
// ~extension_t() = default;

template<
class OtherExtension,
// std::enable_if_t<!std::is_same_v<extension_t, std::decay_t<OtherExtension>>, int> = 0, // NOLINT(modernize-type-traits) bug in clang-tidy
decltype(
detail::implicit_cast<IndexType>(std::declval<OtherExtension>().first()),
detail::implicit_cast<IndexTypeLast>(std::declval<OtherExtension>().last())
Expand All @@ -365,13 +380,16 @@ struct extension_t : public range<IndexType, IndexTypeLast> {
// BOOST_MULTI_HD constexpr explicit extension_t(OtherExtension const& other) noexcept
// : extension_t{other.first(), other.last()} {}

template<class OtherExtension>
template<class OtherExtension//,
//std::enable_if_t<!std::is_base_of_v<extension_t, OtherExtension>, int> =0 // NOLINT(modernize-use-constraints,modernize-type-traits)
>
BOOST_MULTI_HD constexpr auto operator=(OtherExtension const& other) -> extension_t& {
(*this) = extension_t{other};
return *this;
}

BOOST_MULTI_HD constexpr extension_t() noexcept : range<IndexType, IndexTypeLast>() {}
extension_t() = default;
// BOOST_MULTI_HD constexpr extension_t() noexcept : range<IndexType, IndexTypeLast>() {}

// friend constexpr auto size(extension_t const& self) -> typename extension_t::size_type { return self.size(); }

Expand Down
4 changes: 2 additions & 2 deletions include/boost/multi/detail/layout.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -502,7 +502,7 @@ struct extensions_t : boost::multi::detail::tuple_prepend_t<index_extension, typ
if(n > 0) { // mull-ignore: cxx_gt_to_ge
curr_ += (rest_it_ - rest_begin_ + n) / (rest_end_ - rest_begin_);
rest_it_ = rest_begin_ + ((rest_it_ - rest_begin_ + n) % (rest_end_ - rest_begin_));
} else if(n < 0) { // mull-ignore: cxx_lt_to_ge, cxx_lt_to_le
} else if(n < 0) { // mull-ignore
curr_ -= (rest_end_ - rest_it_ - n) / (rest_end_ - rest_begin_);
rest_it_ = rest_end_ - ((rest_end_ - rest_it_ - n) % (rest_end_ - rest_begin_));
if(rest_it_ == rest_end_) {
Expand All @@ -521,7 +521,7 @@ struct extensions_t : boost::multi::detail::tuple_prepend_t<index_extension, typ
rest_it_ = rest_begin_;
++curr_;
}
} else if(n < 0) { // mull-ignore: cxx_lt_to_ge, cxx_lt_to_le
} else if(n < 0) { // mull-ignore
curr_ += (rest_it_ - rest_begin_ - n) / (rest_end_ - rest_begin_);
rest_it_ = rest_begin_ + ((rest_it_ - rest_begin_ - n) % (rest_end_ - rest_begin_));
}
Expand Down
10 changes: 5 additions & 5 deletions pre-push
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
# curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg
# echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/amd64 /' | sudo tee /etc/apt/sources.list.d/nvhpc.list
# sudo apt-get update -y
# sudo apt-get install -y nvhpc-24-7
# sudo apt-get install -y nvhpc
# on Fedora:
# sudo yum-config-manager --add-repo https://developer.download.nvidia.com/hpc-sdk/rhel/nvhpc.repo && sudo yum install -y nvhpc-cuda-multi-24.5
# install oneAPI
Expand Down Expand Up @@ -47,11 +47,11 @@ export UBSAN_OPTIONS=print_stacktrack=1
if [[ $(uname -m) != 'aarch64' ]]; then
clang-format-19 --dry-run -Werror include/**/*.hpp test/*.cpp

(CXX="$HOME/bin/circle" cmake -S . -B .build.circle -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_STANDARD=20 -DDISABLE_MPI=1 -DCMAKE_CXX_EXTENSIONS=OFF -DENABLE_CIRCLE=1 -DCMAKE_THREAD_LIBS_INIT="-lpthread" && cmake --build .build.circle $CMT && (ctest --test-dir .build.circle --parallel 8 $CTR || ctest --test-dir .build.circle --rerun-failed --output-on-failure $CTR)) || exit 666
( cmake -S . -B .build.nvcc.relax -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_STANDARD=20 -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=nvcc -DCMAKE_CUDA_FLAGS="--expt-relaxed-constexpr --threads 2" -DCMAKE_CUDA_HOST_COMPILER=g++ -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CUDA_ARCHITECTURES=75 && cmake --build .build.nvcc.relax $CMT && (ctest --test-dir .build.nvcc.relax `#--parallel 8` $CTR || ctest --test-dir .build.nvcc.relax --rerun-failed --output-on-failure $CTR)) || exit 666
( cmake -S . -B .build.nvcc -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=20 -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=nvcc -DCMAKE_CUDA_FLAGS="--threads 2" -DCMAKE_CUDA_HOST_COMPILER=g++ -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CUDA_ARCHITECTURES=75 && cmake --build .build.nvcc $CMT && (ctest --test-dir .build.nvcc --parallel 8 $CTR || ctest --test-dir .build.nvcc --rerun-failed --output-on-failure $CTR)) || exit 666
#(CXX="$HOME/bin/circle" cmake -S . -B .build.circle -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_STANDARD=20 -DDISABLE_MPI=1 -DCMAKE_CXX_EXTENSIONS=OFF -DENABLE_CIRCLE=1 -DCMAKE_THREAD_LIBS_INIT="-lpthread" && cmake --build .build.circle $CMT && (ctest --test-dir .build.circle --parallel 8 $CTR || ctest --test-dir .build.circle --rerun-failed --output-on-failure $CTR)) || exit 666
( cmake -S . -B .build.nvcc.relax -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_STANDARD=20 -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=nvcc -DCMAKE_CUDA_FLAGS="--expt-relaxed-constexpr --threads 2" -DCMAKE_CUDA_HOST_COMPILER=g++ -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CUDA_ARCHITECTURE=native && cmake --build .build.nvcc.relax $CMT && (ctest --test-dir .build.nvcc.relax `#--parallel 8` $CTR || ctest --test-dir .build.nvcc.relax --rerun-failed --output-on-failure $CTR)) || exit 666
( cmake -S . -B .build.nvcc -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=20 -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=nvcc -DCMAKE_CUDA_FLAGS="--threads 2" -DCMAKE_CUDA_HOST_COMPILER=g++ -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CUDA_ARCHITECTURES=native && cmake --build .build.nvcc $CMT && (ctest --test-dir .build.nvcc --parallel 8 $CTR || ctest --test-dir .build.nvcc --rerun-failed --output-on-failure $CTR)) || exit 666
#(source /opt/intel/oneapi/setvars.sh && CXX=/opt/intel/oneapi/compiler/latest/bin/icpx cmake -S . -B .build.icpx -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=20 && cmake --build .build.icpx $CMT && (ctest --test-dir .build.icpx --parallel 8 $CTR || ctest --test-dir .build.icpx --rerun-failed --output-on-failure $CTR)) || exit 666
(CXX=/opt/nvidia/hpc_sdk/Linux_x86_64/2024/compilers/bin/nvc++ cmake -S . -B .build.nvc++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBLA_PREFER_PKGCONFIG=ON -DCMAKE_CXX_COMPILER=/opt/nvidia/hpc_sdk/Linux_x86_64/2024/compilers/bin/nvc++ && cmake --build .build.nvc++ $CMT && (ctest --test-dir .build.nvc++ --parallel 8 $CTR || ctest --test-dir .build.nvc++ --rerun-failed --output-on-failure $CTR)) || exit 666
(CXX=/opt/nvidia/hpc_sdk/Linux_x86_64/2025/compilers/bin/nvc++ cmake -S . -B .build.nvc++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DBLA_PREFER_PKGCONFIG=ON -DCMAKE_CXX_COMPILER=/opt/nvidia/hpc_sdk/Linux_x86_64/2025/compilers/bin/nvc++ && cmake --build .build.nvc++ $CMT && (ctest --test-dir .build.nvc++ --parallel 8 $CTR || ctest --test-dir .build.nvc++ --rerun-failed --output-on-failure $CTR)) || exit 666
( cmake -S . -B .build.culang -DCMAKE_BUILD_TYPE=Release -DENABLE_CUDA=1 -DCMAKE_CUDA_COMPILER=clang++-19 -DCMAKE_CUDA_HOST_COMPILER=clang++-19 -DCMAKE_CXX_COMPILER=clang++-19 && cmake --build .build.culang $CMT && (ctest --test-dir .build.culang --parallel 8 $CTR || ctest --test-dir .build.culang --rerun-failed --output-on-failure $CTR)) || exit 666
fi

Expand Down
Loading