NVIDIA CUDA Quantum
0.5.0

Contents

  • Getting Started
    • Local Installation
      • Docker
      • Singularity
      • Python wheels
    • Development with VS Code
      • Using a Docker container
      • Using a Singularity container
    • Connecting to a Remote Host
      • Developing with Remote Tunnels
      • Remote Access via SSH
    • DGX Cloud
      • Get Started
      • Use JupyterLab
      • Use VS Code
    • Additional CUDA Tools
    • Dependencies and Compatibility
    • 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
    • Multi-processor Platforms
      • Asynchronous expectation value computations
      • Parallel distribution mode
        • C++
        • Python
    • 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
      • Noisy Simulation
      • Using Quantum Hardware Providers
    • CUDA Quantum in Python
      • Introduction
      • Bernstein-Vazirani
      • Variational Quantum Eigensolver
      • Quantum Approximate Optimization Algorithm
      • Noisy Simulation
      • Using Quantum Hardware Providers
  • Tutorials
    • Executing Quantum Circuits
      • Sample
      • Observe
    • Cost Minimization
    • Noisy Simulation
    • Variational Quantum Eigensolver
    • Hybrid Quantum Neural Networks
    • Multi-GPU Workflows
      • Available Targets
      • QPP-based CPU Backend
      • Acceleration via NVIDIA GPUs
      • Multiple NVIDIA GPUs
      • Multiple QPU’s
  • Simulator Backends
    • State Vector Simulators
      • Single-GPU
      • Multi-node multi-GPU
      • OpenMP CPU-only
    • Tensor Network Simulators
      • Multi-node multi-GPU
      • Matrix product state
    • Default Simulator
  • Hardware Backends
    • Quantinuum
      • Setting Credentials
      • Submission from C++
      • Submission from Python
    • IonQ
      • Setting Credentials
      • Submission from C++
      • Submission from Python
    • IQM
      • Setting Credentials
      • Submission from C++
      • Submission from Python
    • OQC
      • 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
      • 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
  • API Reference
    • C++ API
      • Operators
      • Quantum
      • Common
      • Noise Modeling
      • Kernel Builder
      • Algorithms
      • Platform
      • Namespaces
    • Python API
      • Program Construction
        • make_kernel()
        • from_state()
        • Kernel
      • Kernel Execution
        • sample()
        • sample_async()
        • observe()
        • observe_async()
        • get_state()
        • get_state_async()
        • vqe()
      • Backend Configuration
        • has_target()
        • get_target()
        • get_targets()
        • set_target()
        • reset_target()
        • set_noise()
        • unset_noise()
        • initialize_cudaq()
        • num_available_gpus()
        • set_random_seed()
      • Data Types
        • Target
        • State
        • QuakeValue
        • qubit
        • qreg
        • ComplexMatrix
        • SpinOperator
        • spin.i()
        • spin.x()
        • spin.y()
        • spin.z()
        • SampleResult
        • AsyncSampleResult
        • ObserveResult
        • AsyncObserveResult
        • AsyncStateResult
        • OptimizationResult
        • Optimizers
        • Gradients
        • Noisy Simulation
      • MPI Submodule
        • initialize()
        • rank()
        • num_ranks()
        • all_gather()
        • is_initialized()
        • finalize()
    • Quantum Operations
      • Unitary Operations on Qubits
        • x
        • y
        • z
        • h
        • r1
        • rx
        • ry
        • rz
        • s
        • t
        • swap
      • Adjoint and Controlled Operations
      • Measurements on Qubits
        • mz
        • mx
        • my
  • Other Versions
NVIDIA CUDA Quantum
  • Advanced CUDA Quantum Topics
  • View page source
Previous Next

Advanced CUDA Quantum Topics¶

CUDA Quantum Advanced

  • Create a new NVQIR Simulator
  • Downstream CMake Integration
  • Working with CUDA Quantum IR
  • Create an MLIR Pass for CUDA Quantum
Previous Next

© Copyright 2023, NVIDIA Corporation & Affiliates.

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