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.