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
-[Quantum resource for workload management systems](#quantum-resource-for-workload-management-system)
19
19
-[Quantum resource API](#quantum-resource-api)
@@ -62,8 +62,8 @@ Extension of the context overview of involved components, personas and backend s
62
62
### IBM Quantum Platform
63
63
Cloud-based quantum computing service providing access to IBM's fleet of quantum backends. Sometimes abbreviated as IQP.
64
64
65
-
### Direct Access API
66
-
Local interface to am IBM Quantum Computer. Sometimes abbreviated as DA API. Below the Direct Access API, classical preparation of jobs prior to the actual quantum execution can run in parallel (called *lanes* in the API definition).
65
+
### Quantum System API
66
+
Local interface to a IBM Quantum Computer. Below the Quantum System API, classical preparation of jobs prior to the actual quantum execution can run in parallel (called *lanes* in the API definition).
67
67
68
68
## Vendor-Specific Definitions: Pasqal
69
69
@@ -90,7 +90,7 @@ Additional resource definition might be needed depending on implementation from
The QPU resource definition does not expose individual parallelism abstracts. Each backend flavor can have specific qualifiers how to use backend specific capabilities (e.g. for common use case: if a user wants to exclusively use a backend, all parallel job preparation units will be available for use -- if not, several users could submit jobs and share these units. As execution lanes in DA API do not have any identities that could be managed explicitly, only quantities resp. exclusive/shared use should be user controlled).
93
+
The QPU resource definition does not expose individual parallelism abstracts. Each backend flavor can have specific qualifiers how to use backend specific capabilities (e.g. for common use case: if a user wants to exclusively use a backend, all parallel job preparation units will be available for use -- if not, several users could submit jobs and share these units. As execution lanes in IBM Quantum System API do not have any identities that could be managed explicitly, only quantities resp. exclusive/shared use should be user controlled).
-[Running jobs with dependencies](#running-jobs-with-dependencies)
@@ -25,8 +25,8 @@ Slurm QPU resource definitions determine what physical resources can be used by
25
25
User source code should be agnostic to specific backend instances and even backend types as far as possible.
26
26
This keeps source code portable while the QPU selection criteria are part of the resource definition (which is considered configuration as opposed to source code).
27
27
The source code does not have to take care resp. is not involved in resource reservation handling (that is done when Slurm jobs are assigned QPU resources and start running, if applicable on the backend) or execution modes like sessions (these are automatically in place while the job is running, if applicable on the backend).
28
-
This makes the source code more portable between similar QPU resource types through different backend access methods (such as IBM's Direct Access API and IBM's Qiskit Runtime service through IBM Quantum Platform).
29
-
All backend types (such as IBM's Direct Access API, IBM's Qiskit Runtime service, or Pasqal's backends) follow these principles.
28
+
This makes the source code more portable between similar QPU resource types through different backend access methods (such as IBM's Quantum System API and IBM's Qiskit Runtime service through IBM Quantum Platform).
29
+
All backend types (such as IBM's Quantum System API, IBM's Qiskit Runtime service, or Pasqal's backends) follow these principles.
30
30
31
31
## Connecting physical resources to Slurm resources and how to use them
32
32
@@ -132,13 +132,13 @@ print(f">>> {result}")
132
132
See [examples directory](https://github.com/qiskit-community/qrmi/tree/main/examples/qiskit_primitives/) for example files.
133
133
134
134
### Backend specifics
135
-
#### IBM Direct Access API
135
+
#### IBM Quantum System API
136
136
##### HPC admin scope
137
-
Configuration of Direct Access API backends (HPC admin scope) includes endpoints and credentials to the Direct Access endpoint, authentication services as well as the S3 endpoint.
137
+
Configuration of Quantum System API backends (HPC admin scope) includes endpoints and credentials to the Quantum System endpoint, authentication services as well as the S3 endpoint.
138
138
Specifically, this includes:
139
139
140
140
* IBM Cloud API key for creating bearer tokens
141
-
* endpoint of Direct Access API
141
+
* endpoint of Quantum System API
142
142
* S3 bucket and access details
143
143
144
144
Access credentials should not be visible to HPC users or other non-privileged users on the system.
Copy file name to clipboardExpand all lines: plugins/spank_qrmi/README.md
+16-4Lines changed: 16 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -68,13 +68,19 @@ The `resources` array contains a set of available Quantum Resources which can be
68
68
| properties | descriptions |
69
69
| ---- | ---- |
70
70
| name | Quantum resource name. e.g. Quantum backend name. |
71
-
| type | Resource type (`direct-access`, `qiskit-runtime-service` and `pasqal-cloud`) |
71
+
| type | Resource type (`ibm-quantum-system`, `qiskit-runtime-service` and `pasqal-cloud`) |
72
72
| environment | A set of environment variables to work with QRMI. Current implementations assume API endpoint and credentials are specified via environment variable setting. |
73
73
74
74
If a user specifies a resource with the --qpu option that is not defined in the qrmi_config.json file, the specification will be ignored.
75
75
76
76
If the user sets the necessary environment variables for job execution themselves, it is not required to specify them in this file. In this case, the environment property will be `{}`.
77
77
78
+
> [!IMPORTANT]
79
+
> The IBM Direct Access API has been renamed to the IBM Quantum System API.
80
+
> As part of this change, the previously available resource type name has been updated from `direct-access` to `ibm-quantum-system`.
81
+
> During a transition period, both `direct-access` and `ibm-quantum-system` resource type names will be supported.
82
+
> After the transition period ends, support for the `direct-access` resource type name will be discontinued.
83
+
78
84
> [!NOTE]
79
85
> If you are using a QPU resource with the resource type `qiskit-runtime-service`, use an account that supports [opening a session](https://quantum.cloud.ibm.com/docs/en/guides/run-jobs-session#open-a-session), such as a Premium plan.
80
86
> If you are using an account that does not support opening a session, such as an Open plan account, add `QRMI_IBM_QRS_SESSION_MODE="batch"` to the environment variable list in qrmi_config.json as workaround:
At runtime, each QRMI instance is linked to a single QPU resource. To enable the use of multiple Quantum resources within a single job script, this plugin sets environment variables with the resource name as a prefix. For example, if `--qpu=qpu1,qpu2` is specified, the environment variables will be set as follows:
169
175
170
176
```bash
171
-
qpu1_QRMI_IBM_DA_ENDPOINT=http://test1
172
-
qpu2_QRMI_IBM_DA_ENDPOINT=http://test2
177
+
qpu1_QRMI_IBM_QS_ENDPOINT=http://test1
178
+
qpu2_QRMI_IBM_QS_ENDPOINT=http://test2
173
179
```
174
180
175
181
This ensures that each QRMI instance operates with the configuration parameters set for its respective resource during the execution of the Slurm job.
@@ -181,7 +187,13 @@ This plugin also set the following 2 environment variables which will be referre
181
187
| environment varilables | descriptions |
182
188
| ---- | ---- |
183
189
| SLURM_JOB_QPU_RESOURCES | Comma separated list of QPU resources to use at runtime. Undocumented resources will be filtered out. For example, `qpu1,qpu2`. |
184
-
| SLURM_JOB_QPU_TYPES | Comma separated list of Resource type (`direct-access`, `qiskit-runtime-service` and `pasqal-cloud`). For example, `direct-access,direct-access` |
190
+
| SLURM_JOB_QPU_TYPES | Comma separated list of Resource type (`ibm-quantum-system`, `qiskit-runtime-service` and `pasqal-cloud`). For example, `ibm-quantum-system,ibm-quantum-system` |
191
+
192
+
> [!IMPORTANT]
193
+
> The IBM Direct Access API has been renamed to the IBM Quantum System API.
194
+
> As part of this change, the previously available resource type name has been updated from `direct-access` to `ibm-quantum-system`.
195
+
> During a transition period, both `direct-access` and `ibm-quantum-system` resource type names will be supported.
196
+
> After the transition period ends, support for the `direct-access` resource type name will be discontinued.
0 commit comments