Requirements#
The list of required software to use the library includes:
CUDA Toolkit 12.6.3 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)
CUTLASS (shipped with MathDx package)
Supported Compilers#
CUDA Compilers:
NVCC 12.6.77+ (CUDA Toolkit 12.6.3 or newer)
(Experimental support) NVRTC 12.6.77+ (CUDA Toolkit 12.6.3 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 yet a supported host compiler in cuSolverDx.
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
AArch64
Warning
Compiling cuSolverDx on Windows with MSVC or on certain ARM AArch64 architectures is experimental, ONLY supported when using NVRTC and nvJitLink as presented in the NVRTC Example.