Table of Contents

CUDA-Q

CUDA-Q is NVIDIA's open-source quantum computing platform for hybrid quantum-classical computing in C++. Define quantum kernels as C++ functions, execute on quantum simulators (GPU-accelerated via cuQuantum) or real quantum hardware; integrate with classical compute and ML. CUDA-Q abstracts backend details, letting you write once and target different quantum processors.

A quantum kernel is a C++ function marked with __qpu__ containing quantum operations. Mix classical control flow with quantum code—loops, conditionals, and function calls all work naturally. Leverage NVIDIA GPUs for massive parallel simulation (thousands of qubits) or distribute across multiple GPUs.

#include "cudaq.h"
 
// Quantum kernel: Bell pair
struct BellPair {
  void operator()() __qpu__ {
    cudaq::qvector q(2);
    h(q[0]);
    cx(q[0], q[1]);
    mz(q);
  }
};
 
// Execute on GPU-accelerated simulator
auto result = cudaq::sample<BellPair>(1000);
for (auto& [bits, count] : result) {
  printf("%s: %lu\n", bits.c_str(), count);
}

CUDA-Q bridges quantum computing and classical HPC—ideal for near-term algorithms combining quantum circuits with classical optimization and machine learning.

Concepts