NVIDIA CUDA Quantum
0.4.0

Contents

  • Getting Started
    • Docker Image
      • Install the Docker Image
      • Use CUDA Quantum in a Terminal
      • Use CUDA Quantum in VS Code
    • Python wheels
    • Build CUDA Quantum from Source
    • Next Steps
  • Learn the Basics
    • CUDA Quantum Prerequisites
    • Compiling CUDA Quantum Programs
    • What is a CUDA Quantum Kernel?
    • Allocating Quantum Memory
    • Runtime Versus Compile-time Kernels
    • Generic Library Functions
    • Creating Kernels at Runtime
    • Variational Algorithms
    • Asynchronous Execution
    • Debugging and Verbose Logging
  • Advanced Topics
    • Create a new NVQIR Simulator
      • CircuitSimulator
      • Let’s see this in action
    • Downstream CMake Integration
    • Working with CUDA Quantum IR
    • Create an MLIR Pass for CUDA Quantum
  • Examples
    • CUDA Quantum in C++
      • Introduction
      • Computing Expectation Values
      • Multi-control Synthesis
      • Simulations with cuQuantum
      • Using Quantum Hardware Providers
    • CUDA Quantum in Python
      • Introduction
      • Bernstein-Vazirani
      • Variational Quantum Eigensolver
      • Quantum Approximate Optimization Algorithm
      • Using Quantum Hardware Providers
  • Simulator Backends
    • State Vector Simulators
      • cuQuantum single-GPU
      • cuQuantum multi-node multi-GPU
      • OpenMP CPU-only
    • Tensor Network Simulators
      • cuQuantum multi-node multi-GPU
  • Hardware Backends
    • Quantinuum
      • Setting Credentials
      • Submission from C++
      • Submission from Python
    • IonQ
      • Setting Credentials
      • Submission from C++
      • Submission from Python
  • Specifications
    • Language Specification
      • 1. Machine Model
      • 2. Namespace
      • 3. Quantum Types
        • 3.1. cudaq::qudit<Levels>
        • 3.2. cudaq::qubit
        • 3.3. Quantum Containers
      • 4. Quantum Operators
        • 4.1. cudaq::spin_op
      • 5. Quantum Operations
        • 5.1. Operations on cudaq::qubit
      • 6. Quantum Kernels
        • 6.1. Kernel Composability
        • 6.2. Allowed Kernel Classical Function Invocations
      • 7. Sub-circuit Synthesis
      • 8. Control Flow
      • 9. Just-in-Time Kernel Creation
      • 10. Quantum Patterns
        • 10.1. Compute-Action-Uncompute
      • 11. Platform
      • 12. Algorithmic Primitives
        • 12.1. cudaq::sample
        • 12.2. cudaq::observe
        • 12.3. cudaq::optimizer
        • 12.4. cudaq::gradient
      • 13. Example Programs
        • 13.1. Hello World - Simple Bell State
        • 13.2. GHZ State Preparation and Sampling
        • 13.3. Quantum Phase Estimation
        • 13.4. Deuteron Binding Energy Parameter Sweep
        • 13.5. Grover’s Algorithm
        • 13.6. Iterative Phase Estimation
    • Quake Specification
      • General Introduction
      • Motivation
      • Quake Types
  • API Reference
    • C++ API
      • Operators
      • Quantum
      • Common
      • Noise Modeling
      • Kernel Builder
      • Algorithms
      • Platform
      • Namespaces
    • Python API
      • Program Construction
        • make_kernel()
        • Kernel
      • Kernel Execution
        • sample()
        • sample_async()
        • observe()
        • observe_async()
        • vqe()
      • Backend Configuration
        • set_noise()
        • unset_noise()
        • set_target()
        • has_target()
        • get_target()
        • get_targets()
      • Data Types
        • QuakeValue
        • qubit
        • qreg
        • ComplexMatrix
        • SpinOperator
        • spin.i()
        • spin.x()
        • spin.y()
        • spin.z()
        • SampleResult
        • AsyncSampleResult
        • ObserveResult
        • AsyncObserveResult
        • OptimizationResult
        • Optimizers
        • Gradients
        • Noisy Simulation
  • Other Versions
NVIDIA CUDA Quantum
  • CUDA Quantum
  • View page source

CUDA Quantum¶

Welcome to the CUDA Quantum documentation page! You are browsing the documentation for 0.4.0 version of CUDA Quantum. You can find documentation for all released versions here.

CUDA Quantum is a single-source, modern C++ programming model and compiler platform for the quantum acceleration of existing heterogeneous computing architectures.

Contents

  • Getting Started
    • Docker Image
    • Python wheels
    • Build CUDA Quantum from Source
    • Next Steps
  • Learn the Basics
    • CUDA Quantum Prerequisites
    • Compiling CUDA Quantum Programs
    • What is a CUDA Quantum Kernel?
    • Allocating Quantum Memory
    • Runtime Versus Compile-time Kernels
    • Generic Library Functions
    • Creating Kernels at Runtime
    • Variational Algorithms
    • Asynchronous Execution
    • Debugging and Verbose Logging
  • Advanced Topics
    • Create a new NVQIR Simulator
    • Downstream CMake Integration
    • Working with CUDA Quantum IR
    • Create an MLIR Pass for CUDA Quantum
  • Examples
    • CUDA Quantum in C++
    • CUDA Quantum in Python
  • Simulator Backends
    • State Vector Simulators
    • Tensor Network Simulators
  • Hardware Backends
    • Quantinuum
    • IonQ
  • Specifications
    • Language Specification
    • Quake Specification
  • API Reference
    • C++ API
    • Python API
  • Other Versions
Next

© Copyright 2023, NVIDIA Corporation & Affiliates.

Built with Sphinx using a theme provided by Read the Docs.