hardware.co · AI hardware for on-prem LLM deploymentsVendor-neutral · Quote onlyBuilt to spec

Quantum Framework

CUDA-Q

NVIDIAPythonC++v0.x

CUDA-Q (formerly CUDA Quantum) is NVIDIA's open-source platform for hybrid quantum-classical computing. It provides a unified programming model that allows quantum kernels to run on QPU simulators or real hardware, while classical co-processing runs on NVIDIA GPUs. Designed for high-performance quantum circuit simulation and quantum machine learning workloads.

Overview

Maintainer

NVIDIA

Language(s)

PythonC++

Version

0.x

Supported Architectures

SuperconductingTrapped IonPhotonic

Installation

pip install cudaq
# Alternative:
pip install cuda-quantum
# Or use the official NVIDIA container:
# docker pull nvcr.io/nvidia/nightly/cuda-quantum:latest

Requires Python 3.10+. GPU simulation requires an NVIDIA GPU with CUDA 11.8+. CPU simulation works without a GPU. The NVIDIA container includes all GPU drivers and dependencies pre-configured. For hardware targets, additional backend credentials are required.

Bell State Example

A Bell state (maximally entangled two-qubit state) is the canonical first circuit for any quantum framework.

import cudaq

@cudaq.kernel
def bell_state():
    qubits = cudaq.qvector(2)
    h(qubits[0])
    cx(qubits[0], qubits[1])
    mz(qubits)

# Local GPU simulation
counts = cudaq.sample(bell_state, shots_count=1024)
print(counts)

# Run on IonQ hardware
cudaq.set_target('ionq', machine='ionq.forte')
hardware_counts = cudaq.sample(bell_state, shots_count=100)

Cloud Access

CUDA-Q uses a target-based model: call `cudaq.set_target(...)` to switch from local GPU simulation to cloud QPUs. Supported hardware targets include IonQ, Quantinuum, and IBM Quantum. Each target requires the corresponding API credentials set via environment variables or the CUDA-Q credentials file.

Provider Compatibility

ProviderAccess MethodNotes
NVIDIA (simulation)Local GPU (native)cuStateVec and cuTensorNet backends; multi-GPU support for large circuits
IonQset_target("ionq")Supports ionq.harmony and ionq.forte; requires IONQ_API_KEY env var
Quantinuumset_target("quantinuum")Supports H1 and H2 systems; requires Quantinuum credentials
IBM Quantumset_target("ibm")Requires IBM Quantum API token; uses Qiskit Runtime under the hood

Compatible QPUs

2 systems

Documentation & Resources

Related Frameworks