You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds qBraid-Runtime/quantinuum_quickstart.ipynb, a quickstart for Quantinuum's four NEXUS-hosted emulators on qBraid, submitted through QbraidProvider with only a qBraid API key, and free (0 credits):
h1-1le and h2-1le: noiseless
h1-emulator and h2-emulator: hardware noise models
It complements Provider-Jobs/qbraid_runtime_quantinuum_provider.ipynb, which uses your own NEXUS credentials, and links to it. Companion to #71 and #72.
It covers:
connecting and running a first circuit
job.compiled_program(): the NEXUS-compiled program in the hqslib1 dialect, with native U1q/rz/RZZ gates
the one runtime option, optimisation_level: on a deliberately redundant circuit, levels 0/1/2 compile to 3/2/1 RZZ gates, and an out-of-range level fails with a reason in status_message
noiseless vs noisy: GHZ-8 on H2-1LE vs H2-Emulator
mid-circuit measurement and reset
running several circuits: as_batch=True raises, and a list runs as parallel jobs, used for an RY sweep
Also adds the notebook to the qBraid-Runtime README table.
Run end to end against production (about 7.5 minutes). Outputs are stripped and the notebook is black-formatted. Only 4 jobs went to the noisy emulators, each 8 qubits and ≤ 200 shots; everything else ran on the LE targets.
Behaviours worth knowing
No seed. Any other runtime_options key is silently ignored.
optimisation_level 3 is accepted by NEXUS, although the SDK's MAX_OPT_LEVEL = 2 comment says otherwise.
Classical feed-forward fails through the platform. A Qiskit if_test, or QASM2 if(m==1) x q[1];, fails with OpenQASM error: Unexpected token Token('INAM', 'true'). pyqasm's unroll rewrites the condition to if (m[0] == true), which pytket's QASM2 parser rejects. So the notebook leaves feed-forward out.
CI timing. Jobs take 1–4.5 minutes end to end, close to the 300 s per-cell CI timeout.
Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.
Comment @coderabbitai help to get the list of available commands.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
qBraid-Runtime/quantinuum_quickstart.ipynb, a quickstart for Quantinuum's four NEXUS-hosted emulators on qBraid, submitted throughQbraidProviderwith only a qBraid API key, and free (0 credits):h1-1leandh2-1le: noiselessh1-emulatorandh2-emulator: hardware noise modelsIt complements
Provider-Jobs/qbraid_runtime_quantinuum_provider.ipynb, which uses your own NEXUS credentials, and links to it. Companion to #71 and #72.It covers:
job.compiled_program(): the NEXUS-compiled program in thehqslib1dialect, with nativeU1q/rz/RZZgatesoptimisation_level: on a deliberately redundant circuit, levels 0/1/2 compile to 3/2/1RZZgates, and an out-of-range level fails with a reason instatus_messageas_batch=Trueraises, and a list runs as parallel jobs, used for anRYsweepAlso adds the notebook to the
qBraid-RuntimeREADME table.Run end to end against production (about 7.5 minutes). Outputs are stripped and the notebook is
black-formatted. Only 4 jobs went to the noisy emulators, each 8 qubits and ≤ 200 shots; everything else ran on the LE targets.Behaviours worth knowing
seed. Any otherruntime_optionskey is silently ignored.optimisation_level3 is accepted by NEXUS, although the SDK'sMAX_OPT_LEVEL = 2comment says otherwise.if_test, or QASM2if(m==1) x q[1];, fails withOpenQASM error: Unexpected token Token('INAM', 'true'). pyqasm's unroll rewrites the condition toif (m[0] == true), which pytket's QASM2 parser rejects. So the notebook leaves feed-forward out.