Skip to content

Testing

Andrey Prokopenko edited this page Feb 1, 2022 · 53 revisions
Build CUDA-9.2-NVCC-CUDA-AWARE-MPI CUDA-10.2-NVCC CUDA-10.0-Clang Clang HIP SYCL
Kokkos 3.4.00 3.5.00 3.4.00 3.4.00 3.4.00 3.5.99 (bb34078)
Serial ✔️ ✔️ ✔️ ✔️
OpenMP ✔️ ✔️
POSIX Threads ✔️
Cuda 9.2 10.2 10.0
HIP 4.2
SYCL 2022-01-06 (https://github.com/intel/llvm/releases/tag/sycl-nightly%2F20220106)
MPI ✔️ ✔️ ✔️ ✔️ ✔️
OpenMPI 3.1.3 3.1.3 3.1.3 3.1.3 3.1.3 3.1.3
CUDA-aware ✔️
CXX compiler nvcc_wrapper nvcc_wrapper clang++ clang++ hipcc clang++
Compiler ID GNU 7.4.0 GNU 7.4.0 Clang 10.0.0 Clang 10.0.0 Clang 12.0.0 Clang 13.0.0
Clang-Tidy ✔️
CMake 3.16.9 3.16.9 3.16.9 3.16.9 3.18.5 3.19.0
Boost 1.75.0 1.75.0 1.75.0 1.75.0 1.72.0 1.72.0
Benchmark 1.4.1 1.4.1 1.4.1 1.4.1 1.5.0 1.5.0

Known issues

  • LLVM 10.0.0 fails with CUDA-9.2 due to a ptx issue (also producing warnings like Instruction 'shfl' without '.sync' may produce unpredictable results on sm_70 and later architectures despite not using __shfl anywhere. However, LLVM 7.0.1 with CUDA-9.2 works fine.
  • HIP hits a compiler bug in functions calling assert, e.g. in the tree traversal for nearest predicates. A workaround is to define globally via adding NDEBUG to CMAKE_CXX_FLAGS.
  • The SYCL backend can't be compiled without optimization flags (ptxas link errors), printf and assert don't work on the device.