NVIDIA CUDA Quantum
0.4.1

Contents

  • Getting Started
    • Docker Image
      • Install the Docker Image
      • Use CUDA Quantum in a Terminal
      • Use CUDA Quantum in VS Code
    • Python wheels
    • Building from Source
    • 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
      • 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
    • Single Qubit Rotation
    • Noisy Simulation
    • Variational Quantum Eigensolver
    • Hybrid Quantum Neural Networks
    • Multi-GPU Workflows
      • Available Targets
      • Default CPU Backend
      • Acceleration via NVIDIA GPUs
      • Multiple NVIDIA GPUs
      • Multiple QPU’s
  • 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
      • 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()
        • 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
        • QuakeValue
        • qubit
        • qreg
        • ComplexMatrix
        • SpinOperator
        • spin.i()
        • spin.x()
        • spin.y()
        • spin.z()
        • SampleResult
        • AsyncSampleResult
        • ObserveResult
        • AsyncObserveResult
        • 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
  • CUDA Quantum Tutorials
  • View page source
Previous Next

CUDA Quantum Tutorials¶

Tutorials that give an in depth view of CUDA Quantum and its applications in Python.

Executing Quantum Circuits
Single Qubit Rotation
Noisy Simulation
Variational Quantum Eigensolver
Hybrid Quantum Neural Networks
Multi-GPU Workflows
Previous Next

© Copyright 2023, NVIDIA Corporation & Affiliates.

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