Requirements#

The list of required software to use the library includes:

  • CUDA Toolkit 12.6.3 or newer (includes the nvJitLink library)

  • Supported CUDA compiler (C++17 required)

  • Supported host compiler (C++17 required)

  • (Optional) CMake version 3.18 or greater

Dependencies:

  • commonDx (shipped with the MathDx package)

  • CUTLASS (shipped with the 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+ (Linux/WSL2 only)

Note

We recommend using the latest CUDA Toolkit and NVCC compiler, along with GCC 9+.

Note

HPC SDK nvc++ is not yet supported as a host compiler in nvCOMPDx.

Note

nvCOMPDx emits errors for unsupported versions of the C++ standard. These errors can be silenced by defining NVCOMPDX_IGNORE_DEPRECATED_DIALECT during compilation, but nvCOMPDx is not guaranteed to compile or work correctly in such configurations.

Supported System Architecture#

  • x86_64

  • AArch64

Warning

Compiling nvCOMPDx on Windows with MSVC and on certain ARM AArch64 architectures (sm_87, sm_103, and sm_121) is experimental, ONLY supported when using NVRTC and nvJitLink as presented in one of the examples.