Requirements#
The list of required software to use the library includes:
CUDA Toolkit 12.0 or newer, which includes nvJitLink library
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 12.0+ (CUDA Toolkit 12.0 or newer)
(Experimental support) NVRTC 12.0+ (CUDA Toolkit 12.0 or newer)
Host / C++ Compilers:
GCC 7+
Clang 9+ (only on Linux/WSL2)
Note
We recommend always using the latest CUDA Toolkit and NVCC compiler, and GCC 9+.
Note
HPC SDK nvc++ is not a supported host compiler in cuSolverDx 0.1.0.
Note
cuSolverDx emits errors for unsupported versions of C++ standard. These errors could be silenced by defining CUSOLVERDX_IGNORE_DEPRECATED_DIALECT
during compilation, but cuSolverDx is not guaranteed to compile and work correctly in such configurations.
Supported System Architecture#
x86_64
Warning
Compiling cuSolverDx on Windows with MSVC, or on the ARM aarch64 architecture is ONLY supported using NVRTC and nvJitLink as presented in one of the examples.