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)
(Optional) CMake (version 3.18 or greater)
Dependencies:
commonDx (shipped with the MathDx package)
Important
Starting with nvCOMPDx 0.1.3, nvCOMPDx only supports CUDA Toolkit 13.0+.
For older versions of CUDA Toolkit, please use nvCOMPDx 0.1.2, which provides both cuda12 and cuda13 packages for users to choose from, supporting applications compiled using CUDA 12.6+ and CUDA 13.0+, respectively.
Important
LTO compatibility rules of CUDA:
Compatibility within a CUDA Toolkit major version: Applications compiled with LTO using an older minor version (e.g., 13.0) can run on a newer minor version (e.g., 13.1) 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.
Note
We recommend always 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.