CUDA-Q Circuit Simulation Backends

The simulators available in CUDA-Q are grouped in the figure below. The following sections follow the structure of the figure and provide additional technical details and code examples for using each circuit simulator.

../../_images/circuitsimulators.png
Simulators In CUDA-Q

Simulator Name

Method

Purpose

Processor(s)

Precision(s)

N Qubits

qpp-cpu

State Vector

Testing and small applications

CPU

double

< 28

nvidia *

State Vector

General purpose (default); Trajectory simulation for noisy circuits

Single GPU

single (default) / double

< 33 / 32 (64 GB)

nvidia, option=mgpu *

State Vector

Large-scale simulation

multi-GPU multi-node

single (default) / double

33+

tensornet *

Tensor Network

Shallow-depth (low-entanglement) and high width circuits (exact)

multi-GPU multi-node

double

Thousands

tensornet-mps *

Matrix Product State

Square-shaped circuits (approximate)

Single GPU

double

Hundreds

fermioniq

Matrix Product State

Square-shaped circuits (approximate)

Single GPU

double

Hundreds

nvidia, option=mqpu *

State Vector

Asynchronous distribution across multiple simulated QPUs to speedup applications

multi-GPU multi-node

single (default) / double

< 33 / 32 (64 GB)

remote-mqpu *

State Vector / Tensor Network

Combine mqpu with other backend like tensornet and mgpu

varies

varies

varies

Trajectory Noisy Simulation

works with all simulators marked *

Noisy trajectory simulations

multi-GPU multi-node

double

varies

density-matrix-cpu

Density Matrix

Noisy simulations

CPU

double

< 14

stim

Stabilizer

QEC simulation

CPU

N/A

Thousands +

orca-photonics

State Vector

Photonics

CPU

double

Varies on qudit level