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)
(Optional) CMake (version 3.18 or greater)
Dependencies:
commonDx (shipped with the MathDx package)
CUTLASS (shipped with the MathDx package)
Important
CUDA’s LTO compatibility rules:
Compatibility 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
Incompatibility across CUDA toolkit major versions: Applications compiled with LTO using CUDA 12 cannot run on CUDA 13 and vice versa.
The nvCOMPDx 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 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.