Requirements#
The list of required software to use the library includes:
CUDA Toolkit 12.6+ for the
cuda12package, and CUDA Toolkit 13.0+ for thecuda13packageSupported 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)
Important
Because of CUDA LTO’s compatibility rules:
within a CUDA toolkit major version, applications compiled with LTO using an older minor version (e.g., 12.6) can run on a newer minor version (e.g., 12.8) and their corresponding drivers, and
not compatible across major versions, i.e., applications compiled with LTO using CUDA 12 cannot run on CUDA 13 and vice versa.
cuSolverDx library provides both cuda12 and cuda13 packages for users to choose from, supporting applications compiled using CUDA 12.6+ and CUDA 13.0+, respectively.
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.