CUDA-Q¶
Welcome to the CUDA-Q documentation page!
CUDA-Q is a programming model and toolchain for using quantum acceleration in heterogeneous computing architectures available in C++ and Python. CUDA-Q streamlines hybrid application development and promotes productivity and scalability in quantum computing. It offers a unified programming model designed for a hybrid setting—that is, CPUs, GPUs, and QPUs working together. CUDA-Q contains support for programming in Python and in C++.
The CUDA-Q ecosystem supports a wide variety of QPU hardware and high-performance simulators. It includes Python and C++ interfaces for quantum programming, compiler toolchains for optimization and hardware support and low-level QPU runtimes for detailed hardware control. CUDA-Q also provides an open, extensible logical layer for fault-tolerant fault-tolerant workloads, Quantum Error Correction (QEC) codes and QPU architecture co-design, currently in preview. See the CUDA-Q Logical for more information.
You are browsing the documentation for 0.16.0 version of CUDA-Q. You can find documentation for all released versions here.
Research Preview: CUDA-Q Pulse¶
CUDA-Q pulse is a new research-preview package for programming at the pulse level. It provides a Python kernel DSL, pulse and operator dialects, compiler passes, and an experimental GPU execution path. Because it is a research preview, its APIs and behavior may change incompatibly or be removed without notice, and it is not a product-supported CUDA-Q feature.
See the CUDA-Q pulse README for a quick example, build instructions, and the current scope and limitations.
Contents
- Quick Start
- Basics
- Examples
- Introduction
- Building Kernels
- Quantum Operations
- Measuring Kernels
- Visualizing Kernels
- Executing Kernels
- Computing Expectation Values
- Multi-GPU Workflows
- Optimizers & Gradients
- Noisy Simulations
- Pre-Trajectory Sampling with Batch Execution
- Detector Error Models
- Constructing Operators
- Performance Optimizations
- Using Quantum Hardware Providers
- When to Use sample vs. run
- Dynamics Examples
- Applications
- Backends
- Dynamics
- Realtime
- CUDA-QX
- Installation
- Integration
- Extending
- Specifications
- API Reference
- Other Versions
Preview