Repository navigation
Conversation
Add a local service definition for IQM Resonance's noiseless 20-qubit Garnet mock simulator, so the qpm shim can be exercised against a real provider endpoint without hardware access, and teach the examples to start it. Summary of changes: * share/qfw/config/services/local-services.yaml: add the `shim-garnet-mock` service, backed by `svc_lib_qpm` with the `qrmi-qdmi` provider launch. It is `credential-mode: required`, so device access is always resolved from site.yaml's `service.device-access-config`, even in `--service-mode local`. * examples/qfw_example_common.sh: map the `shim`, `garnet-mock` and `iqm-garnet-mock` backends to `shim-garnet-mock`. When `QFW_EXAMPLE_DEVICE_ACCESS_CONFIG` is set, pass a site config built from that file to the local setup, so the root-only site device-access file is not needed. * examples/qfw_garnet_mock_device_access.yaml: add a sample device-access file for the `iqm-garnet-mock` QPU (provider `iqm`, provider device id `garnet:mock`), with instructions for pointing `QFW_EXAMPLE_DEVICE_ACCESS_CONFIG` at a user-owned copy so root is not needed. The credentials file holding the API key is not included. The changes in this commit were produced with AI assistance (GitHub Copilot, using various Claude models). --- Signed-off-by: Andy Stone <stonea@users.noreply.github.com>
|
Thanks for this. Couple of notes:
Could you also note which examples you ran against the mock, and through which library (QRMI or QDMI)? |
Add a local
shim-garnet-mockservice so QFw examples can exercise theiqm-garnet-mockdevice through the QPM shim and IQM Resonance's mock garnet API.fake-iqmis insufficient for an example that uses the MQT compiler, which is passed a qiskit target. We use the QPM telemetry service to populate this target, and the data returned from fake-iqm is insufficient.To use this in QFw-SLURM-Cluster, use
qfw-site-servicesto start thedirectoryandshimservices. Copy garnet-mock-device-access.yaml.example and garnet-mock-creds.json.example alongside it (removing the .example suffix), fill in your credentials, and point the QFW_EXAMPLE_DEVICE_ACCESS_CONFIG environment variable at your copy of the .yaml file. The run your example (e.g../qfw_qiskit_simple.sh) passing in--backend shim.Related
Complements openQSE/QFw-SLURM-Cluster#72, which makes the IQM Garnet mock available as a QFw device.
Note: changes in this PR were produced with AI assistance (GitHub
Copilot, using various Claude models).