QDMI v1.1.0
Quantum Device Management Interface
|
Defines all enums used within QDMI across the QDMI Client Interface and the QDMI Device Interface.
Go to the source code of this file.
Typedefs | |
typedef enum QDMI_DEVICE_SESSION_PARAMETER_T | QDMI_Device_Session_Parameter |
Device session parameter type. | |
typedef enum QDMI_DEVICE_JOB_PARAMETER_T | QDMI_Device_Job_Parameter |
Device job parameter type. | |
typedef enum QDMI_DEVICE_PROPERTY_T | QDMI_Device_Property |
Device property type. | |
typedef enum QDMI_DEVICE_STATUS_T | QDMI_Device_Status |
Device status type. | |
typedef enum QDMI_SITE_PROPERTY_T | QDMI_Site_Property |
Site property type. | |
typedef enum QDMI_OPERATION_PROPERTY_T | QDMI_Operation_Property |
Operation property type. | |
typedef enum QDMI_JOB_STATUS_T | QDMI_Job_Status |
Job status type. | |
typedef enum QDMI_PROGRAM_FORMAT_T | QDMI_Program_Format |
Program format type. | |
typedef enum QDMI_JOB_RESULT_T | QDMI_Job_Result |
Job result type. | |
enum QDMI_STATUS |
Status codes returned by the API.
Enum of the device session parameters that can be set via QDMI_device_session_set_parameter.
If not noted otherwise, parameters are optional and devices must not require them to be set.
Enumerator | ||
---|---|---|
QDMI_DEVICE_SESSION_PARAMETER_TOKEN | 0 |
A token could be a password, an API key, or any other form of authentication that the device requires. The device documentation must document what kind of token is required and how it is used. If the device requires authentication via a token, this parameter must be set before calling QDMI_device_session_init. |
QDMI_DEVICE_SESSION_PARAMETER_BASEURL | 1 |
If this parameter is set, and the device supports it, the device must use the specified baseURL or API endpoint for the session. Devices may use this parameter to switch between different versions of the API or different endpoints for testing or production environments. |
QDMI_DEVICE_SESSION_PARAMETER_MAX | 2 | The maximum value of the enum. It can be used by devices for bounds checking and validation of function parameters.
|
QDMI_DEVICE_SESSION_PARAMETER_CUSTOM1 | 999999995 | This enum value is reserved for a custom parameter. The device defines the meaning and the type of this parameter.
|
QDMI_DEVICE_SESSION_PARAMETER_CUSTOM2 | 999999996 | |
QDMI_DEVICE_SESSION_PARAMETER_CUSTOM3 | 999999997 | |
QDMI_DEVICE_SESSION_PARAMETER_CUSTOM4 | 999999998 | |
QDMI_DEVICE_SESSION_PARAMETER_CUSTOM5 | 999999999 |
Enum of the device job parameters that can be set via QDMI_device_job_set_parameter.
If not noted otherwise, parameters are optional and devices must not require them to be set.
Enumerator | ||
---|---|---|
QDMI_DEVICE_JOB_PARAMETER_PROGRAMFORMAT | 0 | QDMI_Program_Format The format of the program to be executed. This parameter is required. The device must support the specified program format. If the device does not support the specified program format, the QDMI_device_job_set_parameter function must return QDMI_ERROR_NOTSUPPORTED. |
QDMI_DEVICE_JOB_PARAMETER_PROGRAM | 1 |
This parameter is required. The program must be in the format specified by the QDMI_DEVICE_JOB_PARAMETER_PROGRAMFORMAT parameter. If the program is invalid, the QDMI_device_job_set_parameter function must return QDMI_ERROR_INVALIDARGUMENT. If the program is valid, but the device cannot execute it, the QDMI_device_job_set_parameter function must return QDMI_ERROR_NOTSUPPORTED. |
QDMI_DEVICE_JOB_PARAMETER_SHOTSNUM | 2 |
If this parameter is not set, a device-specific default is used. |
QDMI_DEVICE_JOB_PARAMETER_MAX | 3 | The maximum value of the enum. It can be used by devices for bounds checking and validation of function parameters.
|
QDMI_DEVICE_JOB_PARAMETER_CUSTOM1 | 999999995 | This enum value is reserved for a custom parameter. The device defines the meaning and the type of this parameter.
|
QDMI_DEVICE_JOB_PARAMETER_CUSTOM2 | 999999996 | |
QDMI_DEVICE_JOB_PARAMETER_CUSTOM3 | 999999997 | |
QDMI_DEVICE_JOB_PARAMETER_CUSTOM4 | 999999998 | |
QDMI_DEVICE_JOB_PARAMETER_CUSTOM5 | 999999999 |
Enum of the device properties that can be queried via QDMI_device_session_query_device_property as part of the device interface and via QDMI_device_query_device_property as part of the client interface.
Enumerator | ||
---|---|---|
QDMI_DEVICE_PROPERTY_NAME | 0 |
|
QDMI_DEVICE_PROPERTY_VERSION | 1 |
|
QDMI_DEVICE_PROPERTY_STATUS | 2 | QDMI_Device_Status The status of the device. |
QDMI_DEVICE_PROPERTY_LIBRARYVERSION | 3 |
|
QDMI_DEVICE_PROPERTY_QUBITSNUM | 4 |
|
QDMI_DEVICE_PROPERTY_SITES | 5 |
The returned QDMI_Site handles may be used to query site and operation properties. The list need not be sorted based on the QDMI_SITE_PROPERTY_ID. |
QDMI_DEVICE_PROPERTY_OPERATIONS | 6 |
The returned QDMI_Operation handles may be used to query operation properties. |
QDMI_DEVICE_PROPERTY_COUPLINGMAP | 7 |
The returned list contains pairs of sites that are coupled. The pairs in the list are flattened such that the first site of the pair is at index The sites returned in that list are represented as QDMI_Site handles. For example, consider a 3-site device with a coupling map |
QDMI_DEVICE_PROPERTY_NEEDSCALIBRATION | 8 |
This flag indicates whether the device needs calibration. A value of zero indicates that the device does not need calibration, while any non-zero value indicates that the device needs calibration. It is up to the device to assign a specific meaning to the non-zero value. If a device reports that it needs calibration, a calibration run can be triggered by submitting a job with the QDMI_Program_Format set to QDMI_PROGRAM_FORMAT_CALIBRATION. |
QDMI_DEVICE_PROPERTY_MAX | 9 | The maximum value of the enum. It can be used by devices for bounds checking and validation of function parameters.
|
QDMI_DEVICE_PROPERTY_CUSTOM1 | 999999995 | This enum value is reserved for a custom property. The device defines the meaning and the type of this property.
|
QDMI_DEVICE_PROPERTY_CUSTOM2 | 999999996 |
|
QDMI_DEVICE_PROPERTY_CUSTOM3 | 999999997 |
|
QDMI_DEVICE_PROPERTY_CUSTOM4 | 999999998 |
|
QDMI_DEVICE_PROPERTY_CUSTOM5 | 999999999 |
|
enum QDMI_DEVICE_STATUS_T |
Enum of different status the device can be in.
enum QDMI_SITE_PROPERTY_T |
Enum of the site properties that can be queried via QDMI_device_session_query_site_property as part of the device interface and via QDMI_device_query_site_property as part of the client interface.
Enumerator | ||
---|---|---|
QDMI_SITE_PROPERTY_ID | 0 |
The ID of a site is used to link the qubits used in a quantum program to the physical sites of the device that can be queried via this interface. IDs may be non-consecutive and need not start at 0. See QDMI_Program_Format for more information on how the site IDs map to the qubits in a program. |
QDMI_SITE_PROPERTY_T1 | 1 |
|
QDMI_SITE_PROPERTY_T2 | 2 |
|
QDMI_SITE_PROPERTY_MAX | 3 | The maximum value of the enum. It can be used by devices for bounds checking and validation of function parameters.
|
QDMI_SITE_PROPERTY_CUSTOM1 | 999999995 | This enum value is reserved for a custom property. The device defines the meaning and the type of this property.
|
QDMI_SITE_PROPERTY_CUSTOM2 | 999999996 |
|
QDMI_SITE_PROPERTY_CUSTOM3 | 999999997 |
|
QDMI_SITE_PROPERTY_CUSTOM4 | 999999998 |
|
QDMI_SITE_PROPERTY_CUSTOM5 | 999999999 |
|
Enum of the operation properties that can be queried via QDMI_device_session_query_operation_property as part of the device interface and via QDMI_device_query_operation_property as part of the client interface.
Enumerator | ||
---|---|---|
QDMI_OPERATION_PROPERTY_NAME | 0 |
|
QDMI_OPERATION_PROPERTY_QUBITSNUM | 1 |
|
QDMI_OPERATION_PROPERTY_PARAMETERSNUM | 2 |
|
QDMI_OPERATION_PROPERTY_DURATION | 3 |
|
QDMI_OPERATION_PROPERTY_FIDELITY | 4 |
|
QDMI_OPERATION_PROPERTY_MAX | 5 | The maximum value of the enum. It can be used by devices for bounds checking and validation of function parameters.
|
QDMI_OPERATION_PROPERTY_CUSTOM1 | 999999995 | This enum value is reserved for a custom property. The device defines the meaning and the type of this property.
|
QDMI_OPERATION_PROPERTY_CUSTOM2 | 999999996 |
|
QDMI_OPERATION_PROPERTY_CUSTOM3 | 999999997 |
|
QDMI_OPERATION_PROPERTY_CUSTOM4 | 999999998 |
|
QDMI_OPERATION_PROPERTY_CUSTOM5 | 999999999 |
|
enum QDMI_JOB_STATUS_T |
Enum of the status a job can have.
See also QDMI Client Job Interface for a description of the job's lifecycle.
Enumerator | ||
---|---|---|
QDMI_JOB_STATUS_CREATED | 0 | The job was created and can be configured via QDMI_job_set_parameter. |
QDMI_JOB_STATUS_SUBMITTED | 1 | The job was submitted and is waiting to be executed. |
QDMI_JOB_STATUS_DONE | 2 | The job is done, and the result can be retrieved. |
QDMI_JOB_STATUS_RUNNING | 3 | The job is running, and the result is not yet available. |
QDMI_JOB_STATUS_CANCELED | 4 | The job was canceled, and the result is not available. |
Enum of formats that can be submitted to the device.
Enumerator | ||
---|---|---|
QDMI_PROGRAM_FORMAT_QASM2 | 0 |
A text-based representation of a quantum circuit in the OpenQASM 2.0 language. Devices that claim to support this format must accept programs conforming to the following rules:
|
QDMI_PROGRAM_FORMAT_QASM3 | 1 |
A text-based representation of a quantum circuit in the OpenQASM 3 language. Devices that claim to support this format must accept programs conforming to the same rules as for QDMI_PROGRAM_FORMAT_QASM2.
|
QDMI_PROGRAM_FORMAT_QIRBASESTRING | 2 |
A text-based representation of a quantum circuit in the Quantum Intermediate Representation (QIR) format; specifically, the QIR base profile. Devices that claim to support this format must accept programs that follow the rules for the QIR base profile and that only contain operations that are reported by the QDMI_OPERATION_PROPERTY_NAME property of the device's operations (for example,
|
QDMI_PROGRAM_FORMAT_QIRBASEMODULE | 3 |
A binary representation of a quantum circuit in the Quantum Intermediate Representation (QIR) format; specifically, the QIR base profile.
|
QDMI_PROGRAM_FORMAT_QIRADAPTIVESTRING | 4 |
A text-based representation of a quantum circuit in the Quantum Intermediate Representation (QIR) format; specifically, the QIR adaptive profile.
|
QDMI_PROGRAM_FORMAT_QIRADAPTIVEMODULE | 5 |
A binary representation of a quantum circuit in the Quantum Intermediate Representation (QIR) format; specifically, the QIR adaptive profile.
|
QDMI_PROGRAM_FORMAT_CALIBRATION | 6 |
This program format is used to request the device to perform a calibration run. Triggering a calibration run does not require a program to be set via QDMI_DEVICE_JOB_PARAMETER_PROGRAM. |
QDMI_PROGRAM_FORMAT_MAX | 7 | The maximum value of the enum. It can be used by devices for bounds checking and validation of function parameters.
|
QDMI_PROGRAM_FORMAT_CUSTOM1 | 999999995 | This enum value is reserved for a custom program format. The device defines the meaning and the type of this value.
|
QDMI_PROGRAM_FORMAT_CUSTOM2 | 999999996 |
|
QDMI_PROGRAM_FORMAT_CUSTOM3 | 999999997 |
|
QDMI_PROGRAM_FORMAT_CUSTOM4 | 999999998 |
|
QDMI_PROGRAM_FORMAT_CUSTOM5 | 999999999 |
|
enum QDMI_JOB_RESULT_T |
Enum of the formats the results can be returned in.
Enumerator | ||
---|---|---|
QDMI_JOB_RESULT_SHOTS | 0 |
|
QDMI_JOB_RESULT_HIST_KEYS | 1 |
The histogram of the measurement results is represented as a key-value mapping. This mapping is returned as a list of keys and an equal-length list of values. The corresponding partners of keys and values can be found at the same index in the lists. This constant denotes the list of keys, QDMI_JOB_RESULT_HIST_VALUES denotes the list of values. |
QDMI_JOB_RESULT_HIST_VALUES | 2 |
|
QDMI_JOB_RESULT_STATEVECTOR_DENSE | 3 |
The complex amplitudes are stored as a list of real and imaginary parts. The real part of the amplitude is at index |
QDMI_JOB_RESULT_PROBABILITIES_DENSE | 4 |
The probabilities are stored as a list of real numbers. The probability of the state with index |
QDMI_JOB_RESULT_STATEVECTOR_SPARSE_KEYS | 5 |
The sparse state vector is represented as a key-value mapping. This mapping is returned as a list of keys and an equal-length list of values. The corresponding partners of keys and values can be found at the same index in the lists. |
QDMI_JOB_RESULT_STATEVECTOR_SPARSE_VALUES | 6 |
The complex amplitudes are stored in the same way as the dense state vector, but only for the non-zero amplitudes. |
QDMI_JOB_RESULT_PROBABILITIES_SPARSE_KEYS | 7 |
The sparse probabilities are represented as a key-value mapping. This mapping is returned as a list of keys and an equal-length list of values. The corresponding partners of keys and values can be found at the same index in the lists. |
QDMI_JOB_RESULT_PROBABILITIES_SPARSE_VALUES | 8 |
The probabilities are stored in the same way as the dense probabilities, but only for the non-zero probabilities. |
QDMI_JOB_RESULT_MAX | 9 | The maximum value of the enum. It can be used by devices for bounds checking and validation of function parameters.
|
QDMI_JOB_RESULT_CUSTOM1 | 999999995 | This enum value is reserved for a custom result. The device defines the meaning and the type of this result.
|
QDMI_JOB_RESULT_CUSTOM2 | 999999996 |
|
QDMI_JOB_RESULT_CUSTOM3 | 999999997 |
|
QDMI_JOB_RESULT_CUSTOM4 | 999999998 |
|
QDMI_JOB_RESULT_CUSTOM5 | 999999999 |
|