Requirements#

The list of required software to use the library includes:

  • CUDA Toolkit 13.0+

  • 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)

Important

Starting from cuSolverDx 0.4.0, cuSolverDx only supports CUDA Toolkit 13.0+.

For older versions of CUDA Toolkit, please use cuSolverDx 0.3.0, which 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.