Skip to content

✨ Manage IQM and Amazon Braket device snapshots in MQT Bench #993

Description

@flowerthrower

Problem Statement

MQT Bench currently maintains device data manually. MQT Core now provides a generic QDMI driver and Python API that can query device properties directly.

Bench users should receive reproducible, offline device models without requiring provider credentials or QDMI dependencies. This also provides a credential-free solution for #663.

Concrete calibration snapshots, such as the IQM data added in Core #1992, could be hosted in Bench rather than Core.

Proposed Solution

Add a versioned, Bench-owned JSON catalog for hardware-device snapshots.

A release-only Python tool should:

  • Load the QDMI-on-IQM and Amazon Braket QDMI devices through Core's raw QDMI API.
  • Query sites, topology, operations, fidelities, durations, units, and provenance directly.
  • Avoid using a Qiskit Target as an intermediate snapshot format, since that conversion can discard device metadata.
  • Store missing properties explicitly instead of inventing values.
  • Fail visibly when operations or properties cannot be represented.
  • Generate a reviewable snapshot PR before each Bench release.

Bench should reconstruct its Qiskit Target objects from these snapshots at runtime while preserving the existing get_device(...) API. Normal users should not need Core, QDMI libraries, provider SDKs, or credentials.

The refresh workflow should use a protected IQM token and preferably GitHub OIDC with a read-only AWS role. Secrets must only be available to trusted pre-release workflows and must never be written to snapshots or logs.

Direct IQM should be the authoritative source for IQM snapshots. Braket can initially provide its gate-model AQT, IonQ, and Rigetti devices. It does not replace Bench's IBM or Quantinuum devices, and analog devices such as QuEra Aquila remain out of scope.

After migration, Core should retain the generic QDMI infrastructure while its concrete IQM snapshots can be removed or reduced to test fixtures. Provider redistribution terms must be checked before calibration data is committed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

featureNew feature or requestrefactorAnything related to refactoring the code base

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions