[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71MPF4Z95BJK488DM4X5DW9":3,"skill-same:01M71MPF4Z95BJK488DM4X5DW9":112},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":63,"commitSha":64,"skillDirectory":65,"forksCount":14,"repositoryHtmlUrl":66,"repositoryHomepageUrl":67,"ownerHtmlUrl":68,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":69,"install":70,"resources":83},"01M71MPF4Z95BJK488DM4X5DW9","cudaq-guide",null,"CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.","pattanation\u002FNorvik","pattanation","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F235419268?v=4","01M71M5THHYYB15ME8R2E4FCZG","Patta","01M71M5TJM1NDM992M8PDKYR2K",0,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fcudaq-guide\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"guide","cudaq guide","quantum-computing","cuda-quantum","cuda","grep","installation","read","onboarding guide","simulation","test","gpu","quantum","team","python","applications","getting-started","for","NVIDIA","c++","2026-11-10 10:56:23",false,"---\nname: \"cudaq-guide\"\ntitle: \"Cuda Quantum\"\ndescription: \"CUDA-Q onboarding guide for installation, test programs, GPU simulation, QPU hardware, and quantum applications.\"\nversion: \"1.0.1\"\nauthor: \"CUDA-Q Team \u003Ccuda-quantum@nvidia.com>\"\ntags: [cuda-quantum, quantum-computing, onboarding, getting-started, nvidia]\ntools: [Read, Glob, Grep]\nlicense: \"Apache-2.0\"\ncompatibility: \"Python 3.10+, C++ 20\"\nmetadata:\n    author: \"CUDA-Q Team \u003Ccuda-quantum@nvidia.com>\"\n    tags:\n        - cuda-quantum\n        - quantum-computing\n        - onboarding\n        - getting-started\n        - nvidia\n    languages:\n        - python\n        - c++\n    domain: \"quantum\"\n---\n\n## CUDA-Q Getting Started Guide\n\nYou are a CUDA-Q expert assistant. Use `$ARGUMENTS` with the routing table\nbelow to jump straight to the topic the user needs.\n\n## Purpose\n\nGuide users through the CUDA-Q platform: installation, writing quantum kernels,\nGPU-accelerated simulation, connecting to QPU hardware, and exploring built-in\napplications.\n\n## Prerequisites\n\n- Python 3.10+ (for Python installation path)\n- CUDA Toolkit (for GPU-accelerated targets on Linux; not required on macOS)\n- NVIDIA GPU (optional; CPU-only simulation available via `qpp-cpu`)\n- For C++ path: Linux or WSL on Windows\n- For QPU access: provider-specific credentials and account\n\n## Instructions\n\n- Invoke with `\u002Fcudaq-guide [argument]`\n- If no argument is given, display the full onboarding menu and ask what\n  the user wants to explore\n- Pass an argument from the routing table below to jump directly to that topic\n- Read local CUDA-Q documentation files to answer questions accurately\n\n## References\n\n| Section | Doc file |\n| --- | --- |\n| Install | `docs\u002Fsphinx\u002Fusing\u002Finstall\u002Finstall.rst`, `docs\u002Fsphinx\u002Fusing\u002Fquick_start.rst` |\n| Test Program | `docs\u002Fsphinx\u002Fusing\u002Fbasics\u002Fkernel_intro.rst`, `docs\u002Fsphinx\u002Fusing\u002Fbasics\u002Fbuild_kernel.rst` |\n| GPU Simulation | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fsims\u002Fsvsims.rst`, `docs\u002Fsphinx\u002Fusing\u002Fexamples\u002Fmulti_gpu_workflows.rst` |\n| QPU | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware.rst`, `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fcloud.rst` |\n| Applications | `docs\u002Fsphinx\u002Fusing\u002Fapplications.rst` |\n| Parallelize | `docs\u002Fsphinx\u002Fusing\u002Fexamples\u002Fmulti_gpu_workflows.rst` |\n\n## Routing by Argument\n\n| Argument | Action |\n|---|---|\n| `install` | Walk through installation (see Install section) |\n| `test-program` | Build and run a Bell state kernel to verify CUDA-Q is working properly |\n| `gpu-sim` | Explain GPU-accelerated simulation targets (see GPU Simulation section) |\n| `qpu` | Explain how to run on real QPU hardware (see QPU section) |\n| `applications` | Showcase what can be built with CUDA-Q (see Applications section) |\n| `parallelize` | Show how to run circuits in parallel across multiple QPUs (see Parallelize section) |\n| _(none)_ | Print the full menu below and ask what they'd like to explore |\n\n---\n\n## Full Menu (no argument)\n\nPresent this when invoked with no argument\n\n```text\nCUDA-Q Getting Started\n\nCUDA-Q is NVIDIA's unified quantum-classical programming model for CPUs, GPUs, and QPUs.\nSupports Python and C++. Docs https:\u002F\u002Fnvidia.github.io\u002Fcuda-quantum\u002F\n\nChoose a topic\n  \u002Fcudaq-guide install         Install CUDA-Q (Python pip or C++ binary)\n  \u002Fcudaq-guide test-program    Write and run your quantum kernel\n  \u002Fcudaq-guide gpu-sim         Accelerate simulation on NVIDIA GPUs\n  \u002Fcudaq-guide qpu             Connect to real QPU hardware\n  \u002Fcudaq-guide applications    Explore what you can build\n  \u002Fcudaq-guide parallelize     Run circuits in parallel across multiple QPUs\n```\n\n---\n\n## Install\n\nInstructions\n\n- Default to Python installation unless the user explicitly mentions C++ or\n  the `nvq++` compiler.\n- After installation, always guide the user through the validation step\n  (run the Bell state example and confirm output shows `{ 00:~500 11:~500 }`).\n- Default to GPU-accelerated targets (`nvidia`) unless: the user is on\n  macOS\u002FApple Silicon, mentions no GPU available, or explicitly asks for\n  CPU-only simulation - in those cases use `qpp-cpu`.\n- Do not suggest cloud trial or Launchpad options unless the user has no\n  local environment or asks about cloud access.\n\nPlatform notes\n\n- Linux (x86_64, ARM64): full GPU support -\n  `pip install cudaq` + CUDA Toolkit\n- macOS (ARM64\u002FApple Silicon): CPU simulation only -\n  `pip install cudaq` (no CUDA Toolkit needed)\n- Windows: use WSL, then follow Linux instructions\n- C++ (no sudo):\n  `bash install_cuda_quantum*.$(uname -m) --accept -- --installpath $HOME\u002F.cudaq`\n- Brev (cloud, no local setup): Log in at the NVIDIA Application Hub,\n  open a CUDA-Q workspace, then SSH in with the Brev CLI:\n\n  ```bash\n  brev open ${WORKSPACE_NAME}\n  ```\n\n  CUDA-Q and the CUDA Toolkit are pre-installed.\n\n---\n\n## Test Program\n\nKey concepts to explain\n\n- `@cudaq.kernel` \u002F `__qpu__` marks a quantum kernel - compiled to Quake MLIR\n- `cudaq.qvector(N)` allocates N qubits in |0⟩\n- `cudaq.sample()` - kernel measures qubits; returns bitstring histogram\n  (`SampleResult`)\n- `cudaq.run()` - kernel returns a classical value; runs `shots_count` times\n  and returns a list of those return values\n- `cudaq.observe()` - computes expectation value ⟨H⟩ for a spin operator\n- `cudaq.get_state()` - returns the full statevector (simulator only)\n\nKernel restrictions\n\n- Only a restricted Python subset is valid inside a kernel - it compiles to\n  Quake MLIR, not regular Python.\n- NumPy and SciPy cannot be used inside a kernel. Use them outside the kernel\n  for classical pre\u002Fpost-processing.\n- Kernels can call other kernels; the callee must also be a `@cudaq.kernel`.\n\nFor compiler internals (`inspect` module -> `ast_bridge.py` -> Quake MLIR ->\nQIR -> JIT), route to `\u002Fcudaq-compiler`.\n\n---\n\n## GPU Simulation\n\nTo recommend the best simulation backend for the user, consult the full\ncomparison table at\n\u003Chttps:\u002F\u002Fnvidia.github.io\u002Fcuda-quantum\u002Flatest\u002Fusing\u002Fbackends\u002Fsimulators.html>\n\n### Available GPU Targets\n\n| Target | Description | Use when |\n|---|---|---|\n| `nvidia` (default) | Single-GPU state vector via cuStateVec (up to ~30 qubits) | Default choice for most simulations on a single GPU |\n| `nvidia --target-option fp64` | Double-precision single GPU | Higher numerical precision needed (e.g. chemistry, sensitive observables) |\n| `nvidia --target-option mgpu` | Multi-GPU, pools memory across GPUs (>30 qubits) | Circuit exceeds single-GPU memory; requires MPI |\n| `nvidia --target-option mqpu` | Multi-QPU, one virtual QPU per GPU, parallel execution | Running many independent circuits in parallel (e.g. parameter sweeps, VQE gradients) |\n| `tensornet` | Tensor network simulator | Shallow or low-entanglement circuits; qubit count exceeds statevector feasibility |\n| `qpp-cpu` | CPU-only fallback (OpenMP) | No GPU available; macOS; small circuits for testing |\n\n---\n\n## QPU\n\nWhen the user invokes this section, do not dump all providers at once.\nInstead, follow this two-step dialogue:\n\nStep 1 - ask which technology they want\n\n```text\nWhich QPU technology are you targeting?\n  1. Ion trap       (IonQ, Quantinuum)\n  2. Superconducting (IQM, OQC, Anyon, TII, QCI)\n  3. Neutral atom   (QuEra, Infleqtion, Pasqal)\n  4. Cloud \u002F multi-platform (AWS Braket, Scaleway)\n```\n\nStep 2 - once they pick a technology, ask which provider, then read the\ncorresponding doc file and walk the user through it step by step.\n\n| Technology | Provider | Doc file |\n|---|---|---|\n| Ion trap | IonQ | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fiontrap.rst` (IonQ section) |\n| Ion trap | Quantinuum | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fiontrap.rst` (Quantinuum section) |\n| Superconducting | IQM | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fsuperconducting.rst` (IQM section) |\n| Superconducting | OQC | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fsuperconducting.rst` (OQC section) |\n| Superconducting | Anyon | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fsuperconducting.rst` (Anyon section) |\n| Superconducting | TII | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fsuperconducting.rst` (TII section) |\n| Superconducting | QCI | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fsuperconducting.rst` (QCI section) |\n| Neutral atom | Infleqtion | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fneutralatom.rst` (Infleqtion section) |\n| Neutral atom | QuEra | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fneutralatom.rst` (QuEra section) |\n| Neutral atom | Pasqal | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fneutralatom.rst` (Pasqal section) |\n| Cloud | AWS Braket | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fcloud\u002Fbraket.rst` |\n| Cloud | Scaleway | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fcloud\u002Fscaleway.rst` |\n\nAfter walking through the provider steps, always close with\n\n- Test locally first with `emulate=True` before submitting to real hardware.\n- Use `cudaq.sample_async()` \u002F `cudaq.observe_async()` for non-blocking submission.\n- Handle provider credentials securely: export them as environment variables\n  in your shell session (or a local profile that is not committed to version\n  control) rather than hardcoding them in source or notebooks. Never paste\n  tokens into shared files, logs, or commits, and prefer a secrets manager\n  where one is available.\n\n---\n\n## Applications\n\nCUDA-Q ships with ready-to-run application notebooks\n\n| Category | Examples |\n|---|---|\n| Optimization | QAOA, ADAPT-QAOA, MaxCut |\n| Chemistry | VQE, UCCSD, ADAPT-VQE |\n| Error Correction | Surface codes, QEC memory |\n| Algorithms | Grover's, Shor's, QFT, Deutsch-Jozsa, HHL |\n| ML | Quantum neural networks, kernel methods |\n| Simulation | Hamiltonian dynamics, Trotter evolution |\n| Finance | Portfolio optimization, Monte Carlo |\n\n---\n\n## Parallelize\n\nCUDA-Q supports two distinct multi-GPU parallelization strategies - pick based\non what you are trying to scale.\n\n| Goal | Strategy | Target option |\n|---|---|---|\n| Single circuit too large for one GPU | Pool GPU memory | `nvidia --target-option mgpu` |\n| Many independent circuits at once | Run circuits in parallel | `nvidia --target-option mqpu` |\n| Large Hamiltonian expectation value | Distribute terms across GPUs | `mqpu` + `execution=cudaq.parallel.thread` |\n\n### Circuit batching with mqpu (`sample_async` \u002F `observe_async`)\n\nThe `mqpu` option maps one virtual QPU to each GPU. Dispatch circuits\nasynchronously with `qpu_id` to all GPUs simultaneously.\n\n```python\nimport cudaq\n\ncudaq.set_target(\"nvidia\", option=\"mqpu\")\nn_qpus = cudaq.get_platform().num_qpus()\n\nfutures = [\n    cudaq.observe_async(kernel, hamiltonian, params, qpu_id=i % n_qpus)\n    for i, params in enumerate(param_sets)\n]\nresults = [f.get().expectation() for f in futures]\n```\n\n### Hamiltonian batching\n\nFor a single kernel with a large Hamiltonian, add `execution=` to\n`cudaq.observe` — no other code change needed.\n\n```python\n# Single node, multiple GPUs\nresult = cudaq.observe(kernel, hamiltonian, *args,\n                       execution=cudaq.parallel.thread)\n\n# Multi-node via MPI\nresult = cudaq.observe(kernel, hamiltonian, *args,\n                       execution=cudaq.parallel.mpi)\n```\n\nSee the docs above for complete working examples of both patterns.\n\n---\n\n## Examples\n\n- `\u002Fcudaq-guide` — print the onboarding menu and ask the user which topic to\n  explore.\n- `\u002Fcudaq-guide install` — walk through installation, defaulting to the Python\n  `pip install cudaq` path, then validate with the Bell state example.\n- `\u002Fcudaq-guide test-program` — build and run a Bell state kernel and confirm\n  the output shows roughly `{ 00:~500 11:~500 }`.\n- `\u002Fcudaq-guide gpu-sim` — recommend a simulation backend (for example\n  `nvidia` for a single GPU, or `nvidia --target-option mgpu` for circuits\n  larger than one GPU's memory).\n- `\u002Fcudaq-guide qpu` — start the two-step QPU dialogue (technology, then\n  provider) and read the matching hardware doc.\n- `\u002Fcudaq-guide parallelize` — choose between `mgpu` (pool memory for one large\n  circuit) and `mqpu` (run many circuits in parallel).\n\n---\n\n## Limitations\n\n- GPU simulation requires Linux (x86_64 or ARM64); macOS is CPU-only\n- Multi-GPU `mgpu` target requires MPI\n- Kernel code must use a restricted Python subset; NumPy\u002FSciPy are not\n  allowed inside kernels\n- QPU access requires provider-specific credentials and accounts\n\n## Troubleshooting\n\n- Import error after `pip install cudaq`: Ensure Python 3.10+ and a\n  supported OS (Linux or macOS)\n- No GPU detected: Verify CUDA Toolkit is installed and `nvidia-smi`\n  shows your GPU; fall back to `qpp-cpu`\n- Kernel compile error: Check that only supported Python constructs are\n  used inside `@cudaq.kernel`\n- QPU submission fails: Confirm credentials are set as environment\n  variables per the provider docs\n","## CUDA-Q Getting Started Guide\n\nYou are a CUDA-Q expert assistant. Use `$ARGUMENTS` with the routing table\nbelow to jump straight to the topic the user needs.\n\n## Purpose\n\nGuide users through the CUDA-Q platform: installation, writing quantum kernels,\nGPU-accelerated simulation, connecting to QPU hardware, and exploring built-in\napplications.\n\n## Prerequisites\n\n- Python 3.10+ (for Python installation path)\n- CUDA Toolkit (for GPU-accelerated targets on Linux; not required on macOS)\n- NVIDIA GPU (optional; CPU-only simulation available via `qpp-cpu`)\n- For C++ path: Linux or WSL on Windows\n- For QPU access: provider-specific credentials and account\n\n## Instructions\n\n- Invoke with `\u002Fcudaq-guide [argument]`\n- If no argument is given, display the full onboarding menu and ask what\n  the user wants to explore\n- Pass an argument from the routing table below to jump directly to that topic\n- Read local CUDA-Q documentation files to answer questions accurately\n\n## References\n\n| Section | Doc file |\n| --- | --- |\n| Install | `docs\u002Fsphinx\u002Fusing\u002Finstall\u002Finstall.rst`, `docs\u002Fsphinx\u002Fusing\u002Fquick_start.rst` |\n| Test Program | `docs\u002Fsphinx\u002Fusing\u002Fbasics\u002Fkernel_intro.rst`, `docs\u002Fsphinx\u002Fusing\u002Fbasics\u002Fbuild_kernel.rst` |\n| GPU Simulation | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fsims\u002Fsvsims.rst`, `docs\u002Fsphinx\u002Fusing\u002Fexamples\u002Fmulti_gpu_workflows.rst` |\n| QPU | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware.rst`, `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fcloud.rst` |\n| Applications | `docs\u002Fsphinx\u002Fusing\u002Fapplications.rst` |\n| Parallelize | `docs\u002Fsphinx\u002Fusing\u002Fexamples\u002Fmulti_gpu_workflows.rst` |\n\n## Routing by Argument\n\n| Argument | Action |\n|---|---|\n| `install` | Walk through installation (see Install section) |\n| `test-program` | Build and run a Bell state kernel to verify CUDA-Q is working properly |\n| `gpu-sim` | Explain GPU-accelerated simulation targets (see GPU Simulation section) |\n| `qpu` | Explain how to run on real QPU hardware (see QPU section) |\n| `applications` | Showcase what can be built with CUDA-Q (see Applications section) |\n| `parallelize` | Show how to run circuits in parallel across multiple QPUs (see Parallelize section) |\n| _(none)_ | Print the full menu below and ask what they'd like to explore |\n\n---\n\n## Full Menu (no argument)\n\nPresent this when invoked with no argument\n\n```text\nCUDA-Q Getting Started\n\nCUDA-Q is NVIDIA's unified quantum-classical programming model for CPUs, GPUs, and QPUs.\nSupports Python and C++. Docs https:\u002F\u002Fnvidia.github.io\u002Fcuda-quantum\u002F\n\nChoose a topic\n  \u002Fcudaq-guide install         Install CUDA-Q (Python pip or C++ binary)\n  \u002Fcudaq-guide test-program    Write and run your quantum kernel\n  \u002Fcudaq-guide gpu-sim         Accelerate simulation on NVIDIA GPUs\n  \u002Fcudaq-guide qpu             Connect to real QPU hardware\n  \u002Fcudaq-guide applications    Explore what you can build\n  \u002Fcudaq-guide parallelize     Run circuits in parallel across multiple QPUs\n```\n\n---\n\n## Install\n\nInstructions\n\n- Default to Python installation unless the user explicitly mentions C++ or\n  the `nvq++` compiler.\n- After installation, always guide the user through the validation step\n  (run the Bell state example and confirm output shows `{ 00:~500 11:~500 }`).\n- Default to GPU-accelerated targets (`nvidia`) unless: the user is on\n  macOS\u002FApple Silicon, mentions no GPU available, or explicitly asks for\n  CPU-only simulation - in those cases use `qpp-cpu`.\n- Do not suggest cloud trial or Launchpad options unless the user has no\n  local environment or asks about cloud access.\n\nPlatform notes\n\n- Linux (x86_64, ARM64): full GPU support -\n  `pip install cudaq` + CUDA Toolkit\n- macOS (ARM64\u002FApple Silicon): CPU simulation only -\n  `pip install cudaq` (no CUDA Toolkit needed)\n- Windows: use WSL, then follow Linux instructions\n- C++ (no sudo):\n  `bash install_cuda_quantum*.$(uname -m) --accept -- --installpath $HOME\u002F.cudaq`\n- Brev (cloud, no local setup): Log in at the NVIDIA Application Hub,\n  open a CUDA-Q workspace, then SSH in with the Brev CLI:\n\n  ```bash\n  brev open ${WORKSPACE_NAME}\n  ```\n\n  CUDA-Q and the CUDA Toolkit are pre-installed.\n\n---\n\n## Test Program\n\nKey concepts to explain\n\n- `@cudaq.kernel` \u002F `__qpu__` marks a quantum kernel - compiled to Quake MLIR\n- `cudaq.qvector(N)` allocates N qubits in |0⟩\n- `cudaq.sample()` - kernel measures qubits; returns bitstring histogram\n  (`SampleResult`)\n- `cudaq.run()` - kernel returns a classical value; runs `shots_count` times\n  and returns a list of those return values\n- `cudaq.observe()` - computes expectation value ⟨H⟩ for a spin operator\n- `cudaq.get_state()` - returns the full statevector (simulator only)\n\nKernel restrictions\n\n- Only a restricted Python subset is valid inside a kernel - it compiles to\n  Quake MLIR, not regular Python.\n- NumPy and SciPy cannot be used inside a kernel. Use them outside the kernel\n  for classical pre\u002Fpost-processing.\n- Kernels can call other kernels; the callee must also be a `@cudaq.kernel`.\n\nFor compiler internals (`inspect` module -> `ast_bridge.py` -> Quake MLIR ->\nQIR -> JIT), route to `\u002Fcudaq-compiler`.\n\n---\n\n## GPU Simulation\n\nTo recommend the best simulation backend for the user, consult the full\ncomparison table at\n\u003Chttps:\u002F\u002Fnvidia.github.io\u002Fcuda-quantum\u002Flatest\u002Fusing\u002Fbackends\u002Fsimulators.html>\n\n### Available GPU Targets\n\n| Target | Description | Use when |\n|---|---|---|\n| `nvidia` (default) | Single-GPU state vector via cuStateVec (up to ~30 qubits) | Default choice for most simulations on a single GPU |\n| `nvidia --target-option fp64` | Double-precision single GPU | Higher numerical precision needed (e.g. chemistry, sensitive observables) |\n| `nvidia --target-option mgpu` | Multi-GPU, pools memory across GPUs (>30 qubits) | Circuit exceeds single-GPU memory; requires MPI |\n| `nvidia --target-option mqpu` | Multi-QPU, one virtual QPU per GPU, parallel execution | Running many independent circuits in parallel (e.g. parameter sweeps, VQE gradients) |\n| `tensornet` | Tensor network simulator | Shallow or low-entanglement circuits; qubit count exceeds statevector feasibility |\n| `qpp-cpu` | CPU-only fallback (OpenMP) | No GPU available; macOS; small circuits for testing |\n\n---\n\n## QPU\n\nWhen the user invokes this section, do not dump all providers at once.\nInstead, follow this two-step dialogue:\n\nStep 1 - ask which technology they want\n\n```text\nWhich QPU technology are you targeting?\n  1. Ion trap       (IonQ, Quantinuum)\n  2. Superconducting (IQM, OQC, Anyon, TII, QCI)\n  3. Neutral atom   (QuEra, Infleqtion, Pasqal)\n  4. Cloud \u002F multi-platform (AWS Braket, Scaleway)\n```\n\nStep 2 - once they pick a technology, ask which provider, then read the\ncorresponding doc file and walk the user through it step by step.\n\n| Technology | Provider | Doc file |\n|---|---|---|\n| Ion trap | IonQ | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fiontrap.rst` (IonQ section) |\n| Ion trap | Quantinuum | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fiontrap.rst` (Quantinuum section) |\n| Superconducting | IQM | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fsuperconducting.rst` (IQM section) |\n| Superconducting | OQC | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fsuperconducting.rst` (OQC section) |\n| Superconducting | Anyon | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fsuperconducting.rst` (Anyon section) |\n| Superconducting | TII | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fsuperconducting.rst` (TII section) |\n| Superconducting | QCI | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fsuperconducting.rst` (QCI section) |\n| Neutral atom | Infleqtion | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fneutralatom.rst` (Infleqtion section) |\n| Neutral atom | QuEra | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fneutralatom.rst` (QuEra section) |\n| Neutral atom | Pasqal | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fhardware\u002Fneutralatom.rst` (Pasqal section) |\n| Cloud | AWS Braket | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fcloud\u002Fbraket.rst` |\n| Cloud | Scaleway | `docs\u002Fsphinx\u002Fusing\u002Fbackends\u002Fcloud\u002Fscaleway.rst` |\n\nAfter walking through the provider steps, always close with\n\n- Test locally first with `emulate=True` before submitting to real hardware.\n- Use `cudaq.sample_async()` \u002F `cudaq.observe_async()` for non-blocking submission.\n- Handle provider credentials securely: export them as environment variables\n  in your shell session (or a local profile that is not committed to version\n  control) rather than hardcoding them in source or notebooks. Never paste\n  tokens into shared files, logs, or commits, and prefer a secrets manager\n  where one is available.\n\n---\n\n## Applications\n\nCUDA-Q ships with ready-to-run application notebooks\n\n| Category | Examples |\n|---|---|\n| Optimization | QAOA, ADAPT-QAOA, MaxCut |\n| Chemistry | VQE, UCCSD, ADAPT-VQE |\n| Error Correction | Surface codes, QEC memory |\n| Algorithms | Grover's, Shor's, QFT, Deutsch-Jozsa, HHL |\n| ML | Quantum neural networks, kernel methods |\n| Simulation | Hamiltonian dynamics, Trotter evolution |\n| Finance | Portfolio optimization, Monte Carlo |\n\n---\n\n## Parallelize\n\nCUDA-Q supports two distinct multi-GPU parallelization strategies - pick based\non what you are trying to scale.\n\n| Goal | Strategy | Target option |\n|---|---|---|\n| Single circuit too large for one GPU | Pool GPU memory | `nvidia --target-option mgpu` |\n| Many independent circuits at once | Run circuits in parallel | `nvidia --target-option mqpu` |\n| Large Hamiltonian expectation value | Distribute terms across GPUs | `mqpu` + `execution=cudaq.parallel.thread` |\n\n### Circuit batching with mqpu (`sample_async` \u002F `observe_async`)\n\nThe `mqpu` option maps one virtual QPU to each GPU. Dispatch circuits\nasynchronously with `qpu_id` to all GPUs simultaneously.\n\n```python\nimport cudaq\n\ncudaq.set_target(\"nvidia\", option=\"mqpu\")\nn_qpus = cudaq.get_platform().num_qpus()\n\nfutures = [\n    cudaq.observe_async(kernel, hamiltonian, params, qpu_id=i % n_qpus)\n    for i, params in enumerate(param_sets)\n]\nresults = [f.get().expectation() for f in futures]\n```\n\n### Hamiltonian batching\n\nFor a single kernel with a large Hamiltonian, add `execution=` to\n`cudaq.observe` — no other code change needed.\n\n```python\n# Single node, multiple GPUs\nresult = cudaq.observe(kernel, hamiltonian, *args,\n                       execution=cudaq.parallel.thread)\n\n# Multi-node via MPI\nresult = cudaq.observe(kernel, hamiltonian, *args,\n                       execution=cudaq.parallel.mpi)\n```\n\nSee the docs above for complete working examples of both patterns.\n\n---\n\n## Examples\n\n- `\u002Fcudaq-guide` — print the onboarding menu and ask the user which topic to\n  explore.\n- `\u002Fcudaq-guide install` — walk through installation, defaulting to the Python\n  `pip install cudaq` path, then validate with the Bell state example.\n- `\u002Fcudaq-guide test-program` — build and run a Bell state kernel and confirm\n  the output shows roughly `{ 00:~500 11:~500 }`.\n- `\u002Fcudaq-guide gpu-sim` — recommend a simulation backend (for example\n  `nvidia` for a single GPU, or `nvidia --target-option mgpu` for circuits\n  larger than one GPU's memory).\n- `\u002Fcudaq-guide qpu` — start the two-step QPU dialogue (technology, then\n  provider) and read the matching hardware doc.\n- `\u002Fcudaq-guide parallelize` — choose between `mgpu` (pool memory for one large\n  circuit) and `mqpu` (run many circuits in parallel).\n\n---\n\n## Limitations\n\n- GPU simulation requires Linux (x86_64 or ARM64); macOS is CPU-only\n- Multi-GPU `mgpu` target requires MPI\n- Kernel code must use a restricted Python subset; NumPy\u002FSciPy are not\n  allowed inside kernels\n- QPU access requires provider-specific credentials and accounts\n\n## Troubleshooting\n\n- Import error after `pip install cudaq`: Ensure Python 3.10+ and a\n  supported OS (Linux or macOS)\n- No GPU detected: Verify CUDA Toolkit is installed and `nvidia-smi`\n  shows your GPU; fall back to `qpp-cpu`\n- Kernel compile error: Check that only supported Python constructs are\n  used inside `@cudaq.kernel`\n- QPU submission fails: Confirm credentials are set as environment\n  variables per the provider docs\n",{"name":5,"tags":49,"title":52,"tools":53,"author":57,"license":15,"version":58,"metadata":59,"description":7,"compatibility":62},[27,26,50,40,51],"onboarding","nvidia","Cuda Quantum",[54,55,56],"Read","Glob","Grep","CUDA-Q Team \u003Ccuda-quantum@nvidia.com>","1.0.1",{"tags":60,"author":57,"domain":36,"languages":61},[27,26,50,40,51],[38,43],"Python 3.10+, C++ 20","claude\u002Finstall-gsd-build-foQdV","d86cd127f527124b5fd0fd0bc679a4d79b7d01d7",".agents\u002Fskills\u002Fcudaq-guide","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik","https:\u002F\u002Fnorvik-orpin.vercel.app","https:\u002F\u002Fgithub.com\u002Fpattanation","2026-07-17 11:17:04",{"source":8,"skillName":5,"commands":71,"prompt":81,"zipAvailable":82},[72,75,78],{"tool":73,"command":74},"npx","npx skills add pattanation\u002FNorvik --skill cudaq-guide",{"tool":76,"command":77},"bunx","bunx skills add pattanation\u002FNorvik --skill cudaq-guide",{"tool":79,"command":80},"pnpm","pnpm dlx skills add pattanation\u002FNorvik --skill cudaq-guide","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fcudaq-guide\u002FSKILL.md",true,[84,90,94,98,102,106],{"path":85,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":88,"sourceHtmlUrl":89},"BENCHMARK.md","REFERENCE","参考文档",3901,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fcudaq-guide\u002FBENCHMARK.md",{"path":91,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":92,"sourceHtmlUrl":93},"evals\u002Fconfig.yml",962,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fcudaq-guide\u002Fevals\u002Fconfig.yml",{"path":95,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":96,"sourceHtmlUrl":97},"evals\u002FEVAL.md",1981,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fcudaq-guide\u002Fevals\u002FEVAL.md",{"path":99,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":100,"sourceHtmlUrl":101},"evals\u002Fevals.json",5774,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fcudaq-guide\u002Fevals\u002Fevals.json",{"path":103,"resourceType":86,"resourceTypeDesc":87,"sizeBytes":104,"sourceHtmlUrl":105},"skill-card.md",3800,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fcudaq-guide\u002Fskill-card.md",{"path":107,"resourceType":108,"resourceTypeDesc":109,"sizeBytes":110,"sourceHtmlUrl":111},"skill.oms.sig","OTHER","其他",5029,"https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fcudaq-guide\u002Fskill.oms.sig",[113,145,171,195,216,231],{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":117,"sourceHtmlUrl":118,"categories":119,"keywords":128,"publishedAt":144},"01M71QDV4DM8T19HEHWATEF1K4","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fwebapp-testing\u002FSKILL.md",[120,125],{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",{"categoryNo":126,"categoryName":127,"taxonomyType":123,"taxonomyTypeDesc":124},"01JBSEEDCAT000000000000009","前端开发",[129,130,131,41,39,132,133,134,135,136,137,138,139,140,141,142,143],"webapp","testing","webapp testing","local","frontend","debugging","toolkit","logs","browser","with","playwright","web","behavior","ui","screenshots","2026-11-10 13:02:02",{"skillNo":146,"name":147,"nameZh":6,"description":148,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":149,"sourceHtmlUrl":150,"categories":151,"keywords":153,"publishedAt":144},"01M71QDH2GGMXGA9105C9W1N7B","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fweb-artifacts-builder\u002FSKILL.md",[152],{"categoryNo":126,"categoryName":127,"taxonomyType":123,"taxonomyTypeDesc":124},[154,155,156,140,157,158,159,41,160,161,133,162,163,164,165,166,167,168,169,170],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","ui components","single","use","file","components","react","multi","state","routing","state management",{"skillNo":172,"name":173,"nameZh":6,"description":174,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":175,"licenseFileUrl":176,"sourceHtmlUrl":177,"categories":178,"keywords":180,"publishedAt":144},"01M71QD9T2XC3EWMQNN9ACNWQ1","vueuse-functions","Apply VueUse composables where appropriate to build concise, maintainable Vue.js \u002F Nuxt features.","MIT","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvueuse-functions\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvueuse-functions\u002FSKILL.md",[179],{"categoryNo":126,"categoryName":127,"taxonomyType":123,"taxonomyTypeDesc":124},[181,182,183,184,185,186,187,188,189,190,191,192,193,194],"functions","vueuse","vueuse functions","project","nuxt","apply","github","concise","build","https","features","vue","js","composables",{"skillNo":196,"name":197,"nameZh":6,"description":198,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":175,"licenseFileUrl":199,"sourceHtmlUrl":200,"categories":201,"keywords":204,"publishedAt":144},"01M71QD51HWSGYMCMB7RW7PGK8","vue-testing-best-practices","Use for Vue.js testing. Covers Vitest, Vue Test Utils, component testing, mocking, testing patterns, and Playwright for E2E testing.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-testing-best-practices\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-testing-best-practices\u002FSKILL.md",[202,203],{"categoryNo":121,"categoryName":122,"taxonomyType":123,"taxonomyTypeDesc":124},{"categoryNo":126,"categoryName":127,"taxonomyType":123,"taxonomyTypeDesc":124},[205,130,206,192,207,139,34,208,209,187,210,41,211,212,213,163,214,193,215],"vue testing best practices","testing best practices","best practices","testing patterns","component","vitest","mocking","e2e","utils","patterns","e2e testing",{"skillNo":217,"name":218,"nameZh":6,"description":219,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":175,"licenseFileUrl":220,"sourceHtmlUrl":221,"categories":222,"keywords":224,"publishedAt":144},"01M71QD358H2DJ9THJRBP77T3T","vue-router-best-practices","Vue Router 4 patterns, navigation guards, route params, and route-component lifecycle interactions.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-router-best-practices\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-router-best-practices\u002FSKILL.md",[223],{"categoryNo":126,"categoryName":127,"taxonomyType":123,"taxonomyTypeDesc":124},[225,192,226,207,227,209,228,187,214,229,230],"router","vue router best practices","route","guards","navigation","lifecycle",{"skillNo":232,"name":233,"nameZh":6,"description":234,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":175,"licenseFileUrl":235,"sourceHtmlUrl":236,"categories":237,"keywords":239,"publishedAt":144},"01M71QCYPNWDE2MQZ1TF3ED5S4","vue-best-practices","MUST be used for Vue.js tasks. Strongly recommends Composition API with `\u003Cscript setup>` and TypeScript as the standard approach. Covers Vue 3, SSR, Volar, vue-tsc. Load for any Vue, .vue files, Vue Router, Pinia, or Vite with Vue work. ALWAYS use Composition API unless the project explicitly requires Options API.","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-best-practices\u002FLICENSE.md","https:\u002F\u002Fgithub.com\u002Fpattanation\u002FNorvik\u002Fblob\u002Fclaude\u002Finstall-gsd-build-foQdV\u002F.agents\u002Fskills\u002Fvue-best-practices\u002FSKILL.md",[238],{"categoryNo":126,"categoryName":127,"taxonomyType":123,"taxonomyTypeDesc":124},[240,192,207,241,184,242,243,244,225,245,246,247,248,249,250,41,251,163,252,253],"vue best practices","Composition","files","tasks","api","pinia","work","options","ssr","typescript","as","vite","load","standard"]