CuPQC
cuPQC SDK Developer Hub: samples, integration guides, and technical/release blogs
Install / Use
/learn @NVIDIA/CuPQCREADME
cuPQC SDK Applications
This repository contains examples demonstrating the capabilities of NVIDIA cuPQC SDK.
What's included:
- Example applications with build configs
- Reference implementations
About cuPQC SDK
NVIDIA cuPQC is a GPU-accelerated cryptography SDK containing specialized libraries for building high-performance cryptographic applications:
- cuPQC-HASH - Hash functions & Merkle Trees
- cuPQC-PK - Public-Key Cryptography (ML-KEM & ML-DSA)
Applications & Examples
Applications: Browse applications/ directory for application implementations.
Examples: Browse examples/ directory for examples demonstrating individual SDK primitives:
- Hash Functions (SHA-2, SHA-3, Poseidon2, Merkle Trees)
- Public-Key Cryptography (ML-KEM, ML-DSA)
Quick Start
Prerequisites
| Requirement | Specification | |:------------|:--------------| | GPU | Compute Capability 7.0+ (SM 70, 75, 80, 86, 87, 89, 90) | | CUDA | 12.8 or newer | | Compiler | C++17 (GCC 7+, Clang 9+) | | CMake | 3.20+ (optional) | | SDK | cuPQC 0.4.1+ |
Download cuPQC SDK
Install cuPQC SDK
x86_64:
wget https://developer.download.nvidia.com/compute/cupqc/redist/cupqc/cupqc-sdk-0.4.1-x86_64.tar.gz
tar -xzf cupqc-sdk-0.4.1-x86_64.tar.gz
ARM aarch64:
wget https://developer.download.nvidia.com/compute/cupqc/redist/cupqc/cupqc-sdk-0.4.1-aarch64.tar.gz
tar -xzf cupqc-sdk-0.4.1-aarch64.tar.gz
Configure SDK Path
Set the CUPQC_SDK_DIR environment variable to point to the extracted SDK directory:
# Option 1: Use extracted directory directly
export CUPQC_SDK_DIR=/path/to/cupqc-sdk-0.4.1-x86_64
# Option 2: Install to standard location
sudo mv cupqc-sdk-0.4.1-x86_64 /usr/local/cupqc-sdk
export CUPQC_SDK_DIR=/usr/local/cupqc-sdk
Default path: If CUPQC_SDK_DIR is not set, applications will look for the SDK at /usr/local/cupqc-sdk
Make path persistent: Add the export command to your ~/.bashrc or ~/.zshrc
Verify installation:
ls $CUPQC_SDK_DIR/include # Should show header files
ls $CUPQC_SDK_DIR/lib # Should show library files
For detailed installation, see the Getting Started Guide.
Documentation & Resources
Official Resources
- Product Page - Overview, features, and performance
- Documentation - Complete guides and API reference
- Download Page - Get the latest release
- Developer Hub - Blogs, examples, and application guides
Community
- Developer Forums - Community support
- GitHub Issues - Report bugs and request features
Citation If you use cuPQC SDK in a publication, please cite it. Click the "Cite this repository" button in the About section above, or see CITATION.cff for details.
License
This project is licensed under Apache 2.0. See LICENSE for details.
Note: These samples require the NVIDIA cuPQC SDK. By downloading and using the cuPQC SDK, you agree to fully comply with the terms and conditions of the NVIDIA Software License Agreement.
Contributing
See CONTRIBUTING.md for contribution guidelines and CODE_OF_CONDUCT.md for community standards.
