NVIDIA CUDA Quantum
0.7.0

Contents

  • Quick Start
    • Install CUDA Quantum
    • Validate your Installation
  • Basics
    • What is a CUDA Quantum Kernel?
    • Building your first CUDA Quantum Program
    • Running your first CUDA Quantum Program
      • Sample
      • Observe
      • Running on a GPU
    • Troubleshooting
      • Debugging and Verbose Simulation Output
  • Examples
    • Introduction
    • Computing Expectation Values
    • Multi-Control Synthesis
    • Bernstein-Vazirani
    • Variational Quantum Eigensolver
    • Quantum Approximate Optimization Algorithm
    • Simulations with cuQuantum
    • Noisy Simulation
    • Using Quantum Hardware Providers
  • Applications
    • Cost Minimization
    • Deutschs’ Algorithm
      • XOR \(\oplus\)
      • Quantum oracles
      • Phase oracle
      • Quantum parallelism
      • Deutschs’ Algorithm:
    • Executing Quantum Circuits
      • Sample
        • Sample Async
      • Observe
        • Observe Async
    • Hybrid Quantum Neural Networks
    • Multi-GPU Workflows
      • Available Targets
      • QPP-based CPU Backend
      • Acceleration via NVIDIA GPUs
      • Multiple NVIDIA GPUs
      • Multiple QPU’s
    • Multiple Qubits
      • Some notation conventions
      • Controlled-NOT gate
    • Noisy Simulation
    • Quantum Bits
      • Qubit
      • Pauli X gate
      • Superpositions & Measurements
      • Qubit visualizations
      • Gate linearity
      • Gate unitarity
      • Single qubit gates
    • Variational Quantum Eigensolver
      • Using CUDA Quantum Optimizers
      • Integration with Third-Party Optimizers
  • Backends
    • Simulation
      • State Vector Simulators
        • Single-GPU
        • Multi-node multi-GPU
        • OpenMP CPU-only
      • Tensor Network Simulators
        • Multi-node multi-GPU
        • Matrix product state
      • Default Simulator
    • Quantum Hardware
      • 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
    • NVIDIA Quantum Cloud
      • Quick Start
      • Simulator Backend Selection
      • Multiple GPUs
      • Multiple QPUs Asynchronous Execution
      • FAQ
    • Multi-Processor Platforms
      • NVIDIA MQPU Platform
        • Asynchronous expectation value computations
        • Parallel distribution mode
      • Remote MQPU Platform
        • Supported Kernel Arguments
  • Installation
    • Local Installation
      • Introduction
        • Docker
        • Singularity
        • Python wheels
        • Pre-built binaries
      • 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
        • Installation via PyPI
        • Installation In Container Images
        • Installing Pre-built Binaries
      • Distributed Computing with MPI
      • Updating CUDA Quantum
      • Dependencies and Compatibility
      • Next Steps
    • Data Center Installation
      • Prerequisites
      • Build Dependencies
        • CUDA
        • Toolchain
      • Building CUDA Quantum
      • C++ Support
      • Python Support
      • Installation on the Host
        • CUDA Runtime Libraries
        • MPI
  • Integration
    • Combining CUDA with CUDA Quantum
    • Downstream CMake Integration
  • Extending
    • Create a new NVQIR Simulator
      • CircuitSimulator
      • Let’s see this in action
    • Working with CUDA Quantum IR
    • Create an MLIR Pass for CUDA Quantum
  • 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()
        • PyKernel
        • Kernel
        • PyKernelDecorator
      • Kernel Execution
        • sample()
        • sample_async()
        • observe()
        • observe_async()
        • get_state()
        • get_state_async()
        • vqe()
        • draw()
      • 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
        • qvector
        • 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()
        • broadcast()
        • 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.

Cost Minimization
Deutschs’ Algorithm
Executing Quantum Circuits
Hybrid Quantum Neural Networks
Multi-GPU Workflows
Multiple Qubits
Noisy Simulation
Quantum Bits
Variational Quantum Eigensolver
Previous Next

© Copyright 2023, NVIDIA Corporation & Affiliates.

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