Quick Installation Guide#

The cuPQC Software Development Kit is available at https://developer.nvidia.com/cuqpc-downloads.

Using the cuPQC SDK In Your Project#

The cuPQC SDK is a collection of static archival libraries built with Link-Time-Optimization targets (LTO). Users will need to include the directory with the relevant library header, e.g. cupqc.hpp, and commonDx in their compilation commands, as well as use -dlto, or the other LTO flags with nvcc (NVCC 12.4 or newer).

nvcc -std=c++17 -dlto -arch=sm_XY  -L<path_to_libcupqc> -lcupqc -I<path_to_cupqc_header> -I<path_to_commondx_include>
When you unpack the cuPQC package tarball into <your_directory> the cuPQC SDK header files, e.g. cupqc.hpp and cuhash.hpp,

will be located in:

  • <your_directory>/include/cupqc/

Since cuPQC is a Device Extension library, commondx is included. The commondx shipped with this library from MathDx 24.08 and is located:

  • <your_directory>/include/commondx/

You can review the Makefile shipped alongside the cuPQC SDK examples to see how they are compiled.

cuPQC In Your CMake Project#

The cuPQC SDK provides configuration files that simplify using cuPQC’s libraries in other CMake projects. The config files are located in

  • <your_directory>/cmake/

For the cuPQC library:

For cuHash: