Cudaq Importing
NVIDIAOfficialCreated by CUDA-Q TeamDistributed by NVIDIA
- Skill
- Workflow
- Software development
- Apache-2.0
- Medium risk
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The CUDA-Q Importing skill provides a systematic approach to migrating quantum circuits from external frameworks into the CUDA-Q Python environment. It emphasizes preserving the original quantum algorithm, ensuring validation fidelity, and removing runtime dependencies on source frameworks. The skill includes specific guidance on gate translation, handling floating-point precision differences, and managing bit-ordering conventions to ensure the ported code behaves identically to the source implementation.
What it does
- Maps source framework gates to native CUDA-Q decorator-mode equivalents.
- Provides patterns for decoupling pure-Python helpers from source-framework dependencies.
- Defines execution patterns for sampling and mid-circuit measurement handling.
- Offers troubleshooting steps for common porting issues like bit-order mismatches and precision differences.
- Ensures algorithmic structure is preserved during the migration process.
- Guides the validation of ported kernels against deterministic source inputs.
When to use it
- When you need to migrate an existing quantum algorithm from Qiskit or similar frameworks to CUDA-Q.
- When you need to ensure a port maintains the exact behavior and fidelity of the original implementation.
- When you are refactoring code to remove dependencies on external quantum frameworks.
- When you encounter discrepancies in fidelity or count-key results between frameworks.
Advantages
- Maintains high-level algorithmic integrity throughout the porting process.
- Reduces runtime overhead by eliminating unnecessary source-framework dependencies.
- Provides clear gate-mapping references to simplify translation.
- Addresses common pitfalls like floating-point precision and bit-ordering conventions.
- Supports scalable kernel design using runtime-argument patterns.
Usage examples
- “Port this Qiskit circuit to a CUDA-Q kernel while preserving the oracle definition.”
- The agent will analyze the Qiskit circuit, map the gates to CUDA-Q equivalents, and provide a framework-free Python kernel that maintains the original oracle logic.
- “My ported CUDA-Q circuit shows different measurement results than the original Qiskit version. How do I fix this?”
- The agent will guide you through checking bit-ordering, floating-point precision settings, and measurement return formats to align the CUDA-Q output with the source.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/nvidia/cudaq-importing/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip cudaq-importing.zip -d .agents/skills
Documentation by CUDA-Q Team
CUDA-Q Importing
Purpose
Use this skill to port quantum circuits from another framework into CUDA-Q Python kernels. This includes Qiskit code and Qiskit-style circuit construction, as well as other framework-driven circuit builders. The goal is a framework-free CUDA-Q port that preserves the source quantum algorithm, matches source behavior at small test sizes, and documents any unavoidable CUDA-Q limitations.
For authoring new CUDA-Q kernels from scratch, and for CUDA-Q installation,
simulation targets, QPU access, and parallelization, use the cudaq-guide
skill (/cudaq-guide author for kernel authoring).
Prerequisites
Python 3.10+.
CUDA-Q installed in the target environment. Check the runtime with:
python -c "import cudaq; print(getattr(cudaq, '__version__', 'unknown'))".Access to the source implementation and a way to run or inspect its expected behavior.
To validate against the source framework (e.g. Qiskit/Aer), it must be installed in the validation environment only. The final CUDA-Q port itself must not require the source framework.
When using CUDA-Q documentation or repository MCP connectors, verify the connector is available before relying on it; otherwise use local docs or the source tree.
When debugging and the installed CUDA-Q version differs from the latest documentation, review relevant documentation or source changes before treating a behavior difference as a porting bug.
Workflow
Read the source circuit construction and identify the exact algorithm, qubit/register layout, measurement behavior, and any framework helpers.
Preserve the high-level quantum algorithm. Do not replace mid-circuit measurement, QPE structure, oracle definitions, or decomposition strategy without explicit user permission.
Select the CUDA-Q execution pattern:
Use
cudaq.samplefor final-measurement sampling.Use
cudaq.runwhen mid-circuit measurement values must be returned or used per shot.Use runtime-argument kernels instead of generated per-size kernels unless CUDA-Q requires a fixed-length return shape.
Translate gates and subcircuits. For detailed gate mappings, ordering rules, precision guidance, and helper-extraction patterns, read references/porting-reference.md.
Remove runtime source-framework dependencies from the CUDA-Q port. Extract pure helpers into framework-free modules.
Validate with small deterministic inputs before scaling. Compare raw count keys and distributions, not just aggregate fidelity.
Re-run any previously failing configurations after every fix.
Core Rules
Keep the source algorithm intact unless the user approves a change.
Do not introduce fixed qubit caps, fixed control arities, or source-framework imports unless they are genuinely unavoidable and documented.
Prefer native CUDA-Q gates (
r1.ctrl,x.ctrl,swap.ctrl, etc.) over transpiling through the source framework.Keep bit-order conversion at the port boundary: allocation order, measurement return list, or final count-key formatting.
Match floating-point precision when comparing CUDA-Q and source results if fidelity differences matter (CUDA-Q defaults to fp32, Qiskit to fp64).
Accept source flags that become no-ops in CUDA-Q when doing so preserves source-compatible behavior.
When to Read the Reference
Read references/porting-reference.md when you need any of the following:
Qiskit-to-CUDA-Q gate translation table.
Bit-ordering and count-key conventions.
CUDA-Q fp32 vs Qiskit fp64 precision implications.
Pure-Python helper extraction and import-blocker validation.
Recursive-constructor emitters or gate-recorder patterns.
Detailed port validation checklist and external CUDA-Q references.
Limitations
Guidance targets CUDA-Q 0.14/0.15 decorator-mode Python APIs. Re-check behavior against the installed CUDA-Q version for version-sensitive features.
Some CUDA-Q kernel-language constructs are constrained compared with normal Python; use the companion
cudaq-guideskill (/cudaq-guide author) for core CUDA-Q authoring constraints and shared kernel patterns.CUDA-Q and source frameworks differ in default precision and count-key display order. Apparent fidelity or bitstring mismatches may be convention differences.
Hardware-target behavior, available backends, and target options depend on the local CUDA-Q installation.
This skill does not guarantee equivalent performance; it focuses on correctness-preserving ports.
Troubleshooting
Use this format when diagnosing failures:
Error:
ModuleNotFoundError: qiskit(or another source framework) from a CUDA-Q path. Cause: The port still imports the source framework. Solution: Move pure helpers into a framework-free module and verify with the import-blocker pattern in the reference.Error: Fidelity looks plausible but raw keys are reversed. Cause: The source framework and CUDA-Q count-key ordering differ. Solution: Fix allocation, return-list order, or formatting at the port boundary. Do not alter the algorithm.
Error: Deep-circuit fidelity differs between frameworks. Cause: CUDA-Q and the source framework may be using different floating-point precision. Solution: Match precision before comparing, then rerun the smallest failing deterministic case.
Error: A multi-controlled operation works for small controls but fails or silently changes behavior at higher arity. Cause: The port used a fixed-arity dispatcher. Solution: Use CUDA-Q control-list patterns for arbitrary arity.
Error: MCP documentation or repository lookup fails. Cause: Connector unavailable, stale, or transiently failing. Solution: Verify the connector/resource list, retry transient failures once, then fall back to local docs/source or official CUDA-Q docs. Do not change the port based on unverified MCP results.
Error: CUDA-Q behavior conflicts with documentation while debugging. Cause: The installed CUDA-Q version may differ from the latest documentation. Solution: Check
cudaq.__version__, then review relevant documentation or source changes between the installed version and latest before changing the port.
References
Companion skill:
cudaq-guide(/cudaq-guide author) for CUDA-Q authoring patterns, kernel-language constraints, execution APIs, and debugging workflow.
Files
- ATTRIBUTION.mdAdded by AutoGineer908 B
- BENCHMARK.md7.6 KiB
- LICENSELicence file added by AutoGineer11.2 KiB
- SKILL.md7.3 KiB
- evals/evals.json6.4 KiB
- references/porting-reference.md10.9 KiB
- skill-card.md3.9 KiB
- skill.oms.sig4.7 KiB
skill-card.md
Description: <br>
Use when porting circuits from another framework (e.g. Qiskit) into CUDA-Q kernels while preserving the source algorithm and validation fidelity. <br>
This skill is ready for commercial/non-commercial use. <br>
Owner
NVIDIA <br>
License/Terms of Use: <br>
Apache-2.0 <br>
Use Case: <br>
Developers and engineers use this skill to port quantum circuits from other frameworks (e.g., Qiskit) into CUDA-Q Python kernels while preserving algorithm correctness and validation fidelity. <br>
Deployment Geography for Use: <br>
Global <br>
Requirements / Dependencies: <br>
Requires API Key or External Credential: [Not Specified] <br> Credential Type(s): [None identified] <br>
Do not include secrets in prompts/logs/output; use least-privilege credentials; rotate keys as appropriate. <br>
Known Risks and Mitigations: <br>
Risk: Review before execution as proposals could introduce incorrect or misleading guidance into skills. <br> Mitigation: Review and scan skill before deployment. <br>
Reference(s): <br>
Skill Output: <br>
Output Type(s): [Code, Configuration instructions] <br> Output Format: [Markdown with inline Python code blocks] <br> Output Parameters: [1D] <br> Other Properties Related to Output: [None] <br>
Evaluation Agents Used: <br>
Claude Code (
aws/anthropic/bedrock-claude-opus-4-8) <br>Codex (
openai/openai/gpt-5.5) <br>
Evaluation Tasks: <br>
4 evaluation tasks (3 positive, 1 negative), 3 attempts each, in isolated k8s-sandbox pods. <br>
Evaluation Metrics Used: <br>
Reported benchmark dimensions: <br>
Security: Whether the skill is safe to use: checks for unsafe operations, secret leakage, and unauthorized access. <br>
Correctness: Whether the final answer is correct against the reference answer. <br>
Discoverability: Whether the expected skill was selected, decoys were avoided, and the workflow executed. <br>
Effectiveness: Whether the skill helped complete the user's goal (50% goal accuracy + 50% expected workflow adherence). <br>
Efficiency: Tool-call productivity and token efficiency (50% each). <br>
Underlying evaluation signals used in this run: <br>
security: Checks for unsafe operations, secret leakage, and unauthorized access. <br>skill_execution: Whether the expected skill was selected and the workflow executed. <br>skill_efficiency: Tool-call productivity (routing scored under Discoverability). <br>accuracy: Final-answer correctness against the reference answer. <br>goal_accuracy: Whether the user's goal was achieved. <br>behavior_check: Whether the expected workflow behavior was followed. <br>token_efficiency: Actual uncached prompt plus completion token usage. <br>
Evaluation Results: <br>
| Measure | Claude Code (Baseline → Skill Uplift) | Codex (Baseline → Skill Uplift) |
|---|---|---|
| Overall | 91.9% | 94.9% |
| Security | 100.0% → 100.0% (±0.0 points) | 100.0% → 100.0% (±0.0 points) |
| Correctness | 90.0% → 100.0% (+10.0 points) | 90.0% → 100.0% (+10.0 points) |
| Discoverability | 93.3% | 95.0% |
| Effectiveness | 79.2% → 89.8% (+10.6 points) | 76.7% → 93.1% (+16.4 points) |
| Efficiency | 76.3% | 86.6% |
Skill Version(s): <br>
1.0.2 (source: frontmatter) <br>
Ethical Considerations: <br>
NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When downloaded or used in accordance with our terms of service, developers should work with their internal team to ensure this skill meets requirements for the relevant industry and use case and addresses unforeseen product misuse. <br>
(For Release on NVIDIA Platforms Only) <br> Please report quality, risk, security vulnerabilities or NVIDIA AI Concerns here. <br>
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs Python
The author says: Python 3.10+
Security
What our scanner noticed· Medium risk
- Large base64-encoded blobs
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- CUDA-Q Team
- Publisher
- NVIDIA (Official)
- Distributed by
- NVIDIA
- Source
- NVIDIA/skills · skills/cudaq-importing · commit fce3cca
- Licence
- Apache License 2.0 (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE-APACHE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by CUDA-Q Team or NVIDIA.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download cudaq-importing.zip