NVIDIA's New GPU Instruction Reshapes Crypto Performance
CUDA 13.3's carryless multiply transforms AES-GCM and zero-knowledge proofs

Takeaways
- ›CUDA 13.3's 'clmad' instruction brings hardware-accelerated carryless multiplication to Ampere+ GPUs
- ›GHASH sees up to 18.8x speedup, sum-check 4-13x, approaching DRAM bandwidth
- ›Impacts wide range of crypto and coding algorithms beyond AES-GCM
- ›Available on SM 80+, may require significant algorithm refactoring
NVIDIA just closed a 15-year gap with CPUs. CUDA 13.3 introduces clmad, a hardware-accelerated carryless multiplication instruction for Ampere and newer GPUs. This isn't just a minor tweak, it's a fundamental shift in how GPUs handle cryptography and coding theory.
Why This Matters: Beyond AES-GCM
Carryless multiplication is the hidden workhorse of modern cryptography and coding theory. It's the core operation in:
- GHASH (AES-GCM's integrity check)
- Zero-knowledge proof systems
- CRC and Reed-Solomon codes
- BCH codes for flash memory
- Quantum stabilizer codes
- Several post-quantum schemes
Until now, GPUs lacked native support, forcing developers into suboptimal workarounds. With clmad, the performance landscape for these workloads changes dramatically on every Ampere-or-later NVIDIA system already deployed.
The Numbers: Not Just Faster, But Transformative
NVIDIA's benchmarks reveal a step-change in performance:
-
GHASH on NVIDIA B200: ~6.3 TB/s throughput , Up to 18.8x faster than previous bitsliced implementations , Approaches DRAM read bandwidth
-
Sum-check over GF(2^128): 4-13x speedup
These aren't incremental gains. They fundamentally alter the cost structure of cryptographic operations on GPUs.
Under the Hood: How clmad Works
clmad performs carryless multiplication of two 64-bit inputs, producing a 128-bit result. Here's how it looks in action:
__device__ inline uint128_t clmad_mul_128(uint64_t a, uint64_t b, uint128_t acc) {
uint64_t acc_lo = (uint64_t)acc;
uint64_t acc_hi = (uint64_t)(acc >> 64);
uint64_t lo, hi;
asm("clmad.lo.u64 %0, %1, %2, %3;" : "=l"(lo) : "l"(a), "l"(b), "l"(acc_lo));
asm("clmad.hi.u64 %0, %1, %2, %3;" : "=l"(hi) : "l"(a), "l"(b), "l"(acc_hi));
return ((uint128_t)hi << 64) | lo;
}
For larger fields like GF(2^128), used in GHASH and sum-check, six clmad instructions can implement the Karatsuba algorithm.
The Catch: Not a Universal Panacea
Before you rewrite all your crypto code, consider:
clmadis Ampere+ only (SM 80+)- Existing algorithms may need significant refactoring
- Performance gains vary based on how central carryless multiplication is to your workload
What This Means for You
If you're a:
- CUDA developer integrating crypto: This is your new performance baseline
- Security researcher: Binary-field protocols just got a lot more attractive on GPUs
- ZK proof system designer: Time to revisit your GPU acceleration strategies
The addition of clmad doesn't just speed up existing workloads, it opens up new possibilities. Operations that were previously impractical on GPUs may now be viable, potentially reshaping the landscape of GPU-accelerated cryptography and coding theory.
NVIDIA has closed a long-standing capability gap with CPUs, but the real story is what developers and researchers will build with this new primitive. The era of GPU-native cryptography has begun.
Related reads
NVIDIA Confidential Computing Explained: Performance Impact, Benchmarks
5 min read
NVIDIA RTX PRO 4500 Blackwell Explained: Faster Genomics and Protein Folding
4 min read
NVIDIA GB200 NVL72 Explained: Slurm Block Scheduling, Benchmarks
4 min read
NVbandwidth Explained: Measure GPU Interconnect and Memory Performance
4 min read
NVIDIA GQE Explained: GPU-Accelerated Database Queries
4 min read
NVIDIA nvCOMP Explained: Cut Checkpoint Costs, Reduce Idle Time
5 min read
Reported and explained by AI·Reporter.