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

single

< 28

nvidia

State Vector

General purpose (default)

Single GPU

single / double

< 33 / 32 (64 GB)

nvidia, option=mgpu

State Vector

Large-scale simulation

multi-GPU multi-node

single / double

33+

tensornet

Tensor Network

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

multi-GPU multi-node

single / double

Thousands

tensornet-mps

Matrix Product State

Square-shaped circuits

Single GPU

single / double

Hundreds

fermioniq

Various

Various

Single GPU

Various

Various

nvidia, option=mqpu

State Vector

Asynchronous distribution across multiple simulated QPUs to speedup applications

multi-GPU multi-node

single / double

< 33 / 32 (64 GB)

remote-mqpu

State Vector / Tensor Network

Combine mqpu with other backend like tensornet and mgpu

varies

varies

varies

density-matrix-cpu

Density Matrix

Noisy simulations

CPU

single

< 14

stim

Stabilizer

QEC simulation

CPU

N/A

Thousands +

orca-photonics

State Vector

Photonics

CPU

double

Varies on qudit level