Supported devices

Not all PennyLane devices currently work with Catalyst, and for those that do, their supported feature set may not necessarily match supported features when used without qjit().

Supported backend devices include:

lightning.qubit

A fast state-vector qubit simulator written with a C++ backend. See the Lightning-Qubit documentation for more details, as well as its Catalyst configuration file for natively supported instructions.

lightning.kokkos

A fast state-vector qubit simulator utilizing the Kokkos library for CPU and GPU accelerated circuit simulation. See the Lightning-Kokkos documentation for more details, as well as its Catalyst configuration file for natively supported instructions.

lightning.gpu

A fast state-vector qubit simulator based on the NVIDIA cuQuantum SDK for the GPU-accelerated quantum simulation. See the Lightning-GPU documentation for more details, as well as its Catalyst configuration file for natively supported instructions.

braket.aws.qubit

Interact with quantum computing hardware devices and simulators through Amazon Braket. To use this device with Catalyst, make sure to install the PennyLane-Braket plugin. See the Catalyst configuration file for natively supported instructions.

braket.local.qubit

Run gate-based circuits on the Braket SDK’s local simulator. To use this device with Catalyst, make sure to install the PennyLane-Braket plugin. See the Catalyst configuration file for natively supported instructions.

qrack.simulator

Qrack is a GPU-accelerated quantum computer simulator with many novel optimizations including hybrid stabilizer simulation. To use this device with Catalyst, make sure to install the PennyLane-Qrack plugin, and check out the QJIT compilation with Qrack and Catalyst tutorial.

See the Catalyst configuration file for natively supported instructions.

oqc.cloud

Execute on Oxford Quantum Circuits (OQC) superconducting hardware, via OQC Cloud. To use OQC Cloud with Catalyst, simply install the client, ensure your credentials are set as environment variables, and use the backend argument to specify the OQC backend to use:

import os
os.environ["OQC_EMAIL"] = "your_email"
os.environ["OQC_PASSWORD"] = "your_password"
os.environ["OQC_URL"] = "oqc_url"

dev = qml.device("oqc.cloud", backend="lucy", shots=2012, wires=2)

See the Catalyst configuration file for natively supported instructions.

oqd.default

Experimental support for execution on Open Quantum Design (OQD) trapped-ion hardware. To use OQD with Catalyst, use the backend argument to specify the OQD backend to use when initializing the device:

dev = qml.device("oqd", backend="default", shots=1024, wires=2)

See the Catalyst configuration file for natively supported instructions.