Requirements#

cuRANDDx is a CUDA C++ header only library. The list of required software to use the library includes:

  • CUDA Toolkit 13.0 or newer

  • Supported CUDA compiler (C++17 required)

  • Supported host compiler (C++17 required)

  • (Optionally) CMake (version 3.18 or greater)

Dependencies:

  • commonDx (shipped with MathDx package)

Supported Compilers#

CUDA Compilers:

  • NVCC 13.0+ (CUDA Toolkit 13.0 or newer)

  • (Experimental support) NVRTC 13.0+ (CUDA Toolkit 13.0 or newer)

Host / C++ Compilers:

  • GCC 7+ (GCC 7 is deprecated)

  • Clang 9+ (only on Linux/WSL2)

  • HPC SDK nvc++ 23.1+

  • MSVC 19.44+ (Visual Studio 2022 version 17.14 and above)

Warning

Support for GCC 7 is deprecated and will be removed in a future release. Compiling with GCC 7 emits a warning, which can be silenced by defining CURANDDX_IGNORE_DEPRECATED_COMPILER during compilation.

Note

We recommend using GCC 10+ as the host compiler, and NVCC shipped with the latest CUDA Toolkit as the CUDA compiler.

Note

cuRANDDx emits errors for unsupported versions of C++ standard. These errors could be silenced by defining CURANDDX_IGNORE_DEPRECATED_DIALECT during compilation, but cuRANDDx is not guaranteed to compile and work correctly in such configurations.