-
Notifications
You must be signed in to change notification settings - Fork 11
CompilerCompatibility
Roland Haas edited this page Sep 21, 2023
·
12 revisions
Erik is using GCC 10.2 when using CUDA, and only CUDA 11.2.2. No combination for more modern versions that work has been found (https://bitbucket.org/eschnett/cactusamrex/issues/6/static-assert-on-sizeof-char-sizeof).
These compilers are known to compile the CPU version of CarpetX's thornlist:
- GNU g++ 11
- GNU g++ 10
- GNU g++ 9
- GNU g++ 8 (needs -lstdc++fs)
These compilers are know to fail to compile the CPU version of CarpetX's thornlist:
- Intel icpc 19, due to incomplete C++17 support and ICE
- Intel icpc 19.1.3.304 20200925, on db1.hpc.lsu.edu using g++-9.3.0 STL due to incomplete C++17 support
- GNU g++ 7, due to missing
tuple_size_v
and ICE - GNU g++ 10.3.0 as provided by Cray on NERSC's Perlmutter system (with an ICE when compiling std::chrono)
These compilers are known to compile the GPU version of CarpetX's thornlist:
- nvcc 11.2
- nvcc 11.6.1
These compilers are known to not compile the GPU version of CarpetX's thornlist:
- nvcc 9.X + GNU as host compiler since it supports at most gcc 6.X which is too old for CarpetX
- all versions of nvcc prior to 11 (https://en.cppreference.com/w/cpp/compiler_support/17) due to lack of C++17
- nvcc 11.0.3 as provided by Summit's cuda/11.0.3 modules fails with invalid memory access in cicc in AMReX or ADIOS
- nvcc 11.4 fails in a static assert on size of
unique_C_ptr