All examples are shipped within cuPQC Software Development Kit.
This folder demonstrates how to use the libraries stored in the cuPQC SDK: cuPQC and cuHash.
- cuPQC SDK
- See cuPQC SDK requirements
- Linux system with installed NVIDIA drivers
- NVIDIA GPU of Volta (SM70) or newer architecture
Download and expand the cuPQC SDK then use the MakeFile located in this directory. Make sure that you set the CUPQC_DIR to the location of your expanded cuPQC SDK folder.
export CUPQC_DIR=<your_path_to_cupqc>
make
// Run
./example_ml_kem
./example_ml_dsa
./example_sha2
./example_sha3
./example_poseidon2
./example_merkle
There is a ML-KEM and a ML-DSA example in this directory, these demonstrate the usage for the cuPQC library, and requires libcupqc.a.
There are also SHA2, SHA3, Poseidon2 and Merkle Tree examples that demonstrate the usage of the cuHash library, these require libcuhash.a.
For the detailed descriptions of the cuPQC API please visit cuPQC SDK Docs section of the cuPQC documentation.