Simulators

A vQPU executes quantum tasks through a simulator. The simulator is selected at deployment time with the -sim/--simulator flag of qraise (Bash) or the simulator argument of qraise (Python). If none is given, Aer is used by default.

Important

The value passed to --simulator is the CUNQA name in the first column of the table below, not the name of the underlying library. For example, MQT-DDSIM is selected with --simulator Munich and CunqaSimulator with --simulator Cunqa.

Supported simulators

The following table summarizes the simulators currently accepted by qraise and the features each one supports. NC, CC and QC stand for the three DQC schemes (no-communications, classical-communications and quantum-communications).

--simulator

Library

NC

CC

QC

Noise

GPU

Aer

Qiskit Aer

Munich

MQT-DDSIM

Cunqa

CunqaSimulator

Qulacs

Qulacs

Maestro

Maestro

Qsim

qsim

Quest

QuEST

Note

This matrix reflects what the qraise command currently accepts, derived from the SUPPORTED_*_SIMULATORS constants. Individual backends may still differ in the set of native gates and run options they implement; deploying with an unsupported combination raises an error at deployment time.

Notes on specific features

  • GPU. GPU execution is only available with Aer (and requires building with -DUSE_GPU=ON, see Installation). Requesting --gpu with any other simulator raises an error.

  • Noise. Noisy simulations are supported by Aer and Munich, and only within the no-communications scheme. The noise model is provided through a backend configuration file (--backend / backend); see Backend JSON and Noise properties JSON.

Selecting a simulator

qraise -n 2 -t 01:00:00 --simulator Munich --co-located
family = qraise(2, "01:00:00", simulator="Munich", co_located=True)