Site Tools


cuda-q

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
cuda-q [August 22, 2026 at 15:39] – created - external edit 127.0.0.1cuda-q [August 22, 2026 at 18:21] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 # CUDA-Q # CUDA-Q
  
-**CUDA-Q** is NVIDIA's open-source C++/Python framework for hybrid quantum-classical computing. Targets variational algorithms (VQEQAOA) with GPU-accelerated classical optimization and quantum simulationSupports multiple backends (GPU simulatorsvendor hardware). Includes automatic differentiation for gradients. Designed for HPC workflows and large-scale simulation.+**CUDA-Q** is NVIDIA's open-source quantum computing platform for hybrid quantum-classical computing in C++Define quantum [[cuda-q-quantum-kernels|kernels]] as C++ functionsexecute on quantum simulators (GPU-accelerated via cuQuantum) or real quantum hardware; integrate with classical compute and MLCUDA-Q abstracts backend detailsletting you write once and target different quantum processors.
  
-The following example demonstrates variational quantum eigensolver (VQEfor a two-qubit system:+A **quantum kernel** is C++ function marked with `__qpu__` containing quantum operations. Mix classical control flow with quantum code—loops, conditionals, and function calls all work naturally. Leverage NVIDIA GPUs for massive parallel simulation (thousands of qubitsor distribute across multiple GPUs.
  
-```python +```cpp 
-import cudaq +#include "cudaq.h"
-from scipy.optimize import minimize+
  
-# Define ansatz for VQE +// Quantum kernel: Bell pair 
-def ansatz(theta): +struct BellPair { 
-    qvec = cudaq.qvector(2) +  void operator()() __qpu__ { 
-    cudaq.h(qvec[0]) +    cudaq::qvector q(2); 
-    cudaq.ry(theta[0], qvec[0]) +    h(q[0]); 
-    cudaq.cx(qvec[0], qvec[1]+    cx(q[0], q[1]); 
-    return cudaq.observe(qvec, cudaq.pauli_word({0: 'Z', 1: 'Z'}))+    mz(q); 
 +  } 
 +};
  
-# Minimize ⟨ZZ⟩ with COBYLA +// Execute on GPU-accelerated simulator 
-result = minimize(lambda θansatz(θ).expectation()x0=[0.0], method='COBYLA'+auto result = cudaq::sample<BellPair>(1000)
-print(f"Ground state energy{result.fun:.4f}")+for (auto& [bitscount: result{ 
 +  printf("%s%lu\n", bits.c_str(), count); 
 +}
 ``` ```
 +
 +CUDA-Q bridges quantum computing and classical HPC—ideal for near-term algorithms combining quantum circuits with classical optimization and machine learning.
 +
 +## Concepts
 +
 + 1. [[cuda-q-hybrid-computing|Hybrid quantum-classical computing]]
 + 2. [[cuda-q-quantum-kernels|Quantum kernels]]
 + 3. [[cuda-q-programming-model|CUDA-Q programming model]]
 + 4. [[cuda-q-state-preparation|State preparation]]
 + 5. [[cuda-q-measurement|Measurement and readout]]
 + 6. [[cuda-q-parameterized-circuits|Parameterized quantum circuits]]
 + 7. [[cuda-q-quantum-algorithms|Quantum algorithms library]]
 + 8. [[cuda-q-vqe|VQE (Variational Quantum Eigensolver)]]
 + 9. [[cuda-q-qaoa|QAOA (Quantum Approximate Optimization)]]
 + 10. [[cuda-q-backends|Backends and execution]]
 + 11. [[cuda-q-gpu-acceleration|GPU acceleration with cuQuantum]]
 + 12. [[cuda-q-distributed-simulation|Distributed quantum simulation]]
 + 13. [[cuda-q-noise-models|Noise models and open system simulation]]
 + 14. [[cuda-q-gradients|Gradient computation and optimization]]
 + 15. [[cuda-q-quantum-ml|Quantum machine learning]]
 + 16. [[cuda-q-classical-integration|Integration with classical compute]]
 + 17. [[cuda-q-optimization|Optimization in CUDA-Q]]
 + 18. [[cuda-q-debugging|Debugging and profiling]]
 + 19. [[cuda-q-performance|Performance optimization]]
 + 20. [[cuda-q-hardware|Hardware integration and QPUs]]
  
cuda-q.1787413163.md.gz · Last modified: by 127.0.0.1