What is CUDA Quantum? ¶
CUDA Quantum is a library and compiler
toolchain for programming hybrid quantum programs on both GPUs and QPUs (quantum processing
units). PennyLane programs can be compiled using CUDA Quantum via the
@qml.qjit
decorator;
for more details, see What is QJIT?.
CUDA Quantum consists of the following components:
- A C++ frontend for defining a user's quantum program workflow,
- A set of Python bindings to the C++ API,
- the
nvq++
compiler, that compiles the program down to an executable, and - various simulator and hardware backends for executing the quantum components of the workflow. Supported simulators include cuQuantum and q++.
Internally, CUDA Quantum levarages technologies such as MLIR, LLVM, and QIR as intermediate representations of the hybrid workflow, similar to other hybrid compilers such as Catalyst.