diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4d199608c9..8136edfda3 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -152,12 +152,6 @@ jobs: cxx: g++-9 - name: build-ubuntu-gcc10 cxx: g++-10 - - name: build-ubuntu-gcc10-nvcc11.4 - cxx: g++-10 - cuda_url: https://developer.download.nvidia.com/compute/cuda/11.4.4/local_installers/cuda_11.4.4_470.82.01_linux.run - - name: build-ubuntu-gcc10-nvcc11.5 - cxx: g++-10 - cuda_url: https://developer.download.nvidia.com/compute/cuda/11.5.2/local_installers/cuda_11.5.2_495.29.05_linux.run - name: build-ubuntu-gcc10-nvcc11.6 cxx: g++-10 cuda_url: https://developer.download.nvidia.com/compute/cuda/11.6.2/local_installers/cuda_11.6.2_510.47.03_linux.run diff --git a/README.md b/README.md index 59eee29a6a..98399ed848 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ The following compilers are supported by LLAMA and tested as part of our CI: | Linux | Windows | MacOS | |----------------------------------------------------------------------------------------------|-----------------------------------------------------|----------------------------------| -| g++ 9 - 13
clang++ 11 - 17
icpx (latest)
nvc++ 23.5
nvcc 11.4 - 12.2 | Visual Studio 2022
(latest on GitHub actions) | clang++
(latest from brew) | +| g++ 9 - 13
clang++ 11 - 17
icpx (latest)
nvc++ 23.5
nvcc 11.6 - 12.3 | Visual Studio 2022
(latest on GitHub actions) | clang++
(latest from brew) | Single header diff --git a/examples/alpaka/nbody/CMakeLists.txt b/examples/alpaka/nbody/CMakeLists.txt index 92dbb1514d..023c2f06af 100644 --- a/examples/alpaka/nbody/CMakeLists.txt +++ b/examples/alpaka/nbody/CMakeLists.txt @@ -14,12 +14,6 @@ if (NOT TARGET llama::llama) find_package(llama REQUIRED) endif() find_package(alpaka 1.0 REQUIRED) -if (alpaka_ACC_GPU_CUDA_ENABLE AND (CMAKE_CUDA_COMPILER_ID STREQUAL "NVIDIA") AND - (CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 11.6)) - # nvcc <= 11.5 chokes on `pis(tag::Pos{}, tag::X{})` inside `pPInteraction()` and segfauls - message(WARNING "nvcc < 11.6 fails to compile the alpaka n-body example, so it is disabled.") - return() -endif() alpaka_add_executable(${PROJECT_NAME} nbody.cpp ../../common/Stopwatch.hpp) target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17) target_link_libraries(${PROJECT_NAME} PRIVATE llama::llama fmt::fmt alpaka::alpaka xsimd) diff --git a/examples/cuda/nbody/nbody.cu b/examples/cuda/nbody/nbody.cu index 25bd9d8af6..b5cd7aa6a7 100644 --- a/examples/cuda/nbody/nbody.cu +++ b/examples/cuda/nbody/nbody.cu @@ -90,7 +90,6 @@ __device__ void pPInteraction(ParticleRefI& pi, ParticleRefJ pj) template __global__ void updateSM(View particles) { - // FIXME: removing this lambda makes nvcc 11 segfault auto sharedView = [] { constexpr auto sharedMapping = [] diff --git a/include/llama/Tuple.hpp b/include/llama/Tuple.hpp index 4dc3acb6eb..f20e168cbb 100644 --- a/include/llama/Tuple.hpp +++ b/include/llama/Tuple.hpp @@ -248,9 +248,7 @@ namespace llama const Tuple& tuple, const Functor& functor) { - // FIXME(bgruber): nvcc fails to compile - // Tuple{functor(get(tuple))...} - return Tuple()))...>{functor(get(tuple))...}; + return Tuple{functor(get(tuple))...}; } } // namespace internal diff --git a/tests/mapping.Tree.cpp b/tests/mapping.Tree.cpp index dbd41a00d4..314431ea51 100644 --- a/tests/mapping.Tree.cpp +++ b/tests/mapping.Tree.cpp @@ -3,10 +3,6 @@ #include "common.hpp" -#ifdef __NVCC__ -# pragma message("LLAMA tree mapping tests disabled for nvcc. Too many compiler bugs.") -#else - namespace tree = llama::mapping::tree; namespace tag @@ -783,14 +779,14 @@ TEST_CASE("mapping.Tree") using Mapping = tree::Mapping; const Mapping mapping(extents, treeOperationList); -# ifndef __NVCOMPILER +#ifndef __NVCOMPILER auto raw = prettyPrintType(mapping.basicTree); -# ifdef _WIN32 +# ifdef _WIN32 tree::internal::replaceAll(raw, "__int64", "long"); -# endif -# ifdef _LIBCPP_VERSION +# endif +# ifdef _LIBCPP_VERSION tree::internal::replaceAll(raw, "std::__1::", "std::"); -# endif +# endif const auto* const ref = R"(llama::mapping::tree::Node< llama::NoName, llama::Tuple< @@ -927,15 +923,15 @@ TEST_CASE("mapping.Tree") unsigned long >)"; CHECK(raw == ref); -# endif +#endif auto raw2 = prettyPrintType(mapping.resultTree); -# ifdef _WIN32 +#ifdef _WIN32 tree::internal::replaceAll(raw2, "__int64", "long"); -# endif -# ifdef _LIBCPP_VERSION +#endif +#ifdef _LIBCPP_VERSION tree::internal::replaceAll(raw2, "std::__1::", "std::"); -# endif +#endif const auto* const ref2 = R"(llama::mapping::tree::Node< llama::NoName, llama::Tuple< @@ -1097,5 +1093,3 @@ TEST_CASE("treeCoordToString") CHECK( tree::treeCoordToString(tree::createTreeCoord>(ai)) == "[ 6:0, 7:0, 8:3, 0:1, 0:0 ]"); } - -#endif