Skip to main content

QUARK plugin for running benchmarks on Quantinuum backends.

Project description

QUARK-plugin-quantinuum

This is a QUARK plugin that implements access to running QUARK benchmarks on Quantinuum devices.

Access is provided through Quantinuum Nexus, and use of the Quantinuum backends requires setting up a Nexus account. Please see the Nexus documentation for more information on the available devices.

Once you have a Nexus account, authentication is provided through the qnexus python package. With this plugin installed, simply run qnx login in the terminal before running your QUARK benchmark configuration.

Example benchmark configurations can be found in examples.

Please note that running a benchmark on Nexus requires a nexus_upload step followed by nexus_run. The reason for this split is to allow running an uploaded benchmark multiple times with different configurations without needing multiple uploads. See below for more details.

Run a benchmark config using:

quark -c <config_file>

Registered QUARK Modules

The modules registered by this plugin and their configuration APIs are documented below. Pipeline step names are the names to use in QUARK configuration files.

Nexus Upload

Pipeline step name: nexus_upload

Defined in nexus_upload.py.

Uploads pytket circuits to Quantinuum Nexus and passes Nexus circuit references to a later Nexus execution module.

Parameter Type Default Description
project_name str "Quark Benchmarking" Nexus project name used for uploaded circuits. The project is created if it does not already exist.

Example:

- "free_fermion": {output_circuit_type: "pytket", n_shots: 100}
- "nexus_upload": {project_name: "Quark Benchmarking"}

Nexus Run Backend

Pipeline step name: nexus_run

Defined in quantinuuum_nexus.py.

Compiles uploaded Nexus circuits for a Quantinuum backend, executes the compiled circuits, and returns counts for benchmark postprocessing.

Parameter Type Default Description
device str Required Quantinuum backend device name to use through Nexus, for example "H2-1LE".
compile_optimization_level int 1 Nexus compilation optimization level.
n_shots int 100 Stored module setting for shot count. Shot counts are currently provided by the uploaded benchmark input.
project_name_override Optional[str] None Optional Nexus project name for compile and execute jobs. Uses the upload project when omitted.

Example:

- "free_fermion": {output_circuit_type: "pytket", n_shots: 100}
- "nexus_upload": {project_name: "Quark Benchmarking"}
- "nexus_run": {device: "H2-1LE", compile_optimization_level: 1}

Aer Simulator Backend

Pipeline step name: aer_simulator

Defined in aer_simulator.py.

For testing purposes, runs simulation benchmarks locally with qiskit_aer.AerSimulator and returns counts for downstream benchmark postprocessing.

Parameter Type Default Description
noise_rate float 0.0 Depolarizing error rate applied to two-qubit gates in the local Aer noise model. The default is no noise.

Example:

- "free_fermion": {output_circuit_type: "qiskit", n_shots: 100}
- "aer_simulator": {noise_rate: 0.001}

Free Fermion Benchmark

Pipeline step name: free_fermion

Defined in free_fermion.py.

This module is only used for testing purposes and is not up-to-date. For actual benchmarking purposes, please use the Free Fermion benchmark from QUARK-plugin-hamiltonian-simulation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quark_plugin_quantinuum-0.0.2.tar.gz (167.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quark_plugin_quantinuum-0.0.2-py3-none-any.whl (32.3 kB view details)

Uploaded Python 3

File details

Details for the file quark_plugin_quantinuum-0.0.2.tar.gz.

File metadata

  • Download URL: quark_plugin_quantinuum-0.0.2.tar.gz
  • Upload date:
  • Size: 167.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for quark_plugin_quantinuum-0.0.2.tar.gz
Algorithm Hash digest
SHA256 fce5fb5a4d3fba210d8436f5c74814df8e30d8d7eabbfe9bede6d54ce67647ab
MD5 2ab470ef080700f4df672da97a65310c
BLAKE2b-256 11b64abb4a0622369f83114f2bdfacc5843658f783da3f0e6e722c9725d37c35

See more details on using hashes here.

Provenance

The following attestation bundles were made for quark_plugin_quantinuum-0.0.2.tar.gz:

Publisher: release.yml on Quantinuum/QUARK-plugin-quantinuum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file quark_plugin_quantinuum-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for quark_plugin_quantinuum-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e7244bef8ee54df72ef06638d317b35d4b0f75e29532608f1703672363d67643
MD5 d3aee0e84a4fea760a4ebd2b71458ad0
BLAKE2b-256 bd23fb59feec4455baaef9b4776197fe42080ebd30ad9290d3e6a2bb7942ecf8

See more details on using hashes here.

Provenance

The following attestation bundles were made for quark_plugin_quantinuum-0.0.2-py3-none-any.whl:

Publisher: release.yml on Quantinuum/QUARK-plugin-quantinuum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page