CUDA-Q Platform¶
Operating System:
Terminal:
Shell:
Editor:
Package Manager:
Programming Language:
Database:
NVIDIA Libraries:
Extension:
Operating System:
Terminal:
Shell:
Editor:
Package Manager:
Programming Language:
Database:
NVIDIA Libraries:
Extension:
Operating System:
Terminal:
Shell:
Editor:
Package Manager:
Programming Language:
Database:
NVIDIA Libraries:
Extension:
Operating System:
Terminal:
Shell:
Editor:
Package Manager:
Programming Language:
Database:
NVIDIA Libraries:
Extension:
Operating System:
Terminal:
Shell:
Editor:
Package Manager:
Programming Language:
Database:
NVIDIA Libraries:
Extension:
Operating System:
Terminal:
Shell:
Editor:
Package Manager:
Programming Language:
Database:
NVIDIA Libraries:
Extension:
Operating System:
Terminal:
Shell:
Editor:
Package Manager:
Programming Language:
Database:
NVIDIA Libraries:
Extension:
NVIDIA CUDA-Q is a platform for hybrid quantum-classical computing. It provides a unified programming model that enables CPUs, GPUs, and QPUs (quantum processing units, either physical or emulated) to work together within a single workflow.
At the core of CUDA-Q is NVQ++, a compiler that implements the CUDA-Q specification and enables execution across different backends. Information on supported simulation backends is available here.
Initialization¶
For information on how to use the Initialization parameter, refer to the Initialization: Bash Script and Initialization: PyPI Packages sections of the documentation.
Run a Script in Batch Mode¶
CUDA-Q supports a batch mode option for jobs. When enabled, a .sh
script runs once at job start, and the job ends as soon as the script finishes execution.
This is useful for automating workflows, quick experiments, or launching pre-defined workloads.
Examples and Applications¶
CUDA-Q includes a collection of examples and applications located in the default user’s home directory:
Examples – showcase core programming concepts.
Applications – demonstrate real-world use cases.
Example: Bernstein–Vazirani algorithm¶
The following command compiles and executes an implementation of the Bernstein-Vazirani algorithm:
$ nvq++ $HOME/examples/cpp/basics/bernstein_vazirani.cpp && ./a.out
If a suitable GPU is detected, CUDA-Q automatically applies GPU acceleration. To confirm GPU usage, the problem size can be increased by modifying the secret string length and explicitly targeting the NVIDIA backend:
$ nvq++ $HOME/examples/cpp/basics/bernstein_vazirani.cpp -DSIZE=25 --target nvidia && ./a.out
This configuration typically demonstrates improved performance with GPU acceleration.
Contents