Binary value, corresponding to both BIT and OCTET data types in Quil.
Field | Type | Label | Description |
data | bytes |
|
A ControllerJobExecutionResult includes the result data from a single
execution of a ControllerJob.
Field | Type | Label | Description |
memory_values | ControllerJobExecutionResult.MemoryValuesEntry | repeated | The contents of each memory region, keyed on region name |
readout_values | ControllerJobExecutionResult.ReadoutValuesEntry | repeated | The contents of readout data published by the readout transformation pipeline, keyed on the node ID of the publishing readout transformation node. |
status | ControllerJobExecutionResult.Status |
|
|
status_message | string | optional | Optional message providing context to the result's status. |
execution_duration_microseconds | uint64 | Duration (µs) job held exclusive access to control hardware. |
Field | Type | Label | Description |
key | string |
|
|
value | DataValue |
|
Field | Type | Label | Description |
key | string |
|
|
value | ReadoutValues |
|
The value of the data to insert into memory corresponding to a MemoryRegion.
Field | Type | Label | Description |
binary | BinaryDataValue | Binary value, corresponding to both BIT and OCTET data types in Quil. |
|
integer | IntegerDataValue | Signed integer value, corresponding to INTEGER in Quil. |
|
real | RealDataValue | Real number value, corresponding to REAL in Quil. |
An EncryptedControllerJob includes the configuration necessary to execute an instance of
the contained job data on control hardware in encrypted format.
Field | Type | Label | Description |
job | bytes | Encrypted form of ControllerJob. |
|
encryption | JobEncryption | Information about the means by which `inner` was encrypted. |
Signed integer value, corresponding to INTEGER in Quil.
Field | Type | Label | Description |
data | int64 | repeated |
|
Information about the means by which a ControllerJob was encrypted.
Field | Type | Label | Description |
key_id | string | Opaque identifier for the key to use in decryption |
|
nonce | bytes | If relevant, the nonce to use in decryption |
Field | Type | Label | Description |
memory_values | JobExecutionConfiguration.MemoryValuesEntry | repeated | Memory values to be patched into the program by the Controller Service prior to execution. The string key is used to match the name of the memory region as defined in the InstrumentProgram. The type of the DataValue must match the defined type of the region. |
Field | Type | Label | Description |
key | string |
|
|
value | DataValue |
|
Real number value, corresponding to REAL in Quil.
Field | Type | Label | Description |
data | double | repeated |
|
Name | Number | Description |
UNKNOWN | 0 | |
SUCCESS | 1 | |
SERVICE_FAILURE | 2 | Failure state caused by an error in the service. |
USER_FAILURE | 3 | Failure state caused by user. |
USER_CANCELLATION | 4 | Job was canceled by user before execution completed. |
Complex64 is a 64-bit complex value with float32 real and imaginary parts
Field | Type | Label | Description |
real | float |
|
|
imaginary | float |
|
Complex64ReadoutValues are arrays of complex numbers emitted by a readout receiver or transformation pipeline.
Field | Type | Label | Description |
values | Complex64 | repeated |
|
IntegerReadoutValues are integer arrays emitted by a readout receiver or transformation pipeline.
These may include (but are not limited to) qudit values or raw ADC capture data.
Field | Type | Label | Description |
values | int32 | repeated |
|
ReadoutValues are data readout values that have been read out from the quantum processor
and optionally processed by a readout transformation pipeline.
Field | Type | Label | Description |
integer_values | IntegerReadoutValues |
|
|
complex_values | Complex64ReadoutValues |
|
A request to execute multiple ControllerJobs as if they were sent as separate requests.
Note that the job execution IDs will be returned in the same order as the requests,
but execution itself may occur out of that order depending on executor configuration.
Field | Type | Label | Description |
requests | ExecuteControllerJobRequest | repeated |
|
Field | Type | Label | Description |
responses | ExecuteControllerJobResponse | repeated |
|
Cancel all given jobs that have yet to begin executing.
This endpoint is *not* atomic, and will attempt to cancel every job even
when some jobs cannot be canceled. A job can be canceled only if it
has not yet started executing.
Success response indicates only that the request was received. Cancellation
is not guaranteed, as it is based on job state at time of cancellation, and is
completed on a best-effort basis.
Field | Type | Label | Description |
job_ids | string | repeated |
|
quantum_processor_id | string |
|
|
endpoint_id | string |
|
An estimation of the delay before a specific event, such as when a queued job
is expected to be dequeued and run.
Field | Type | Label | Description |
minimum | google.protobuf.Duration | The shortest possible delay before the event |
A request to execute a given ControllerJob on a specific target with one or more configurations.
This action is *atomic* in that a job for each configuration will be queued, or none of them will.
On success, the response will contain a sequence of job IDs where the number and order of IDs returned
will correspond to the number and order of configurations given. However, note that execution in the
order of the given configurations is not guaranteed. If there is a failure to queue any of the jobs,
then none will be queued. A request must have at least one configuration, otherwise an error will be
returned.
Field | Type | Label | Description |
execution_configurations | models.controller.JobExecutionConfiguration | repeated | One or more configurations against which to execute the provided job. The response will include one `job_execution_id` for each entry in this list, each corresponding to its configuration in the same order. |
options | ExecutionOptions |
|
|
encrypted | models.controller.EncryptedControllerJob |
|
|
quantum_processor_id | string |
|
|
endpoint_id | string |
|
Field | Type | Label | Description |
job_execution_ids | string | repeated | One execution ID per input JobExecutionConfiguration, in the same order as the input. |
Options specified on execution requests describing any features or processes requested before or after job execution.
Field | Type | Label | Description |
bypass_settings_protection | bool | If jobs contain settings that would cause managed settings to change values, that job will be rejected unless this field is set to true and the submitter has the appropriate authorization. |
|
timeout | google.protobuf.Duration | optional | The timeout while running a job; the job will be evicted from the hardware once this time has elapsed. If unset, the job's estimated duration will be used; if the job does not have an estimated duration, the default timeout is selected by the service. The service may also enforce a maximum value for this field. |
Field | Type | Label | Description |
job_execution_id | string | Which Controller Job execution to query for results |
|
quantum_processor_id | string |
|
|
endpoint_id | string |
|
Field | Type | Label | Description |
result | models.controller.ControllerJobExecutionResult |
|
Field | Type | Label | Description |
job_id | string |
|
Field | Type | Label | Description |
status | GetControllerJobStatusResponse.Status |
|
|
estimated_job_completion_delay | EstimatedDelay | Best-effort estimate of how long it will be (from the time the response is generated) until the job is finished executing. |
Name | Number | Description |
UNKNOWN | 0 | |
QUEUED | 1 | |
RUNNING | 2 | |
SUCCEEDED | 3 | |
FAILED | 4 | |
CANCELED | 5 |
Method Name | Request Type | Response Type | Description |
ExecuteControllerJob | ExecuteControllerJobRequest | ExecuteControllerJobResponse | |
BatchExecuteControllerJobs | BatchExecuteControllerJobsRequest | BatchExecuteControllerJobsResponse | |
GetControllerJobResults | GetControllerJobResultsRequest | GetControllerJobResultsResponse | |
CancelControllerJobs | CancelControllerJobsRequest | CancelControllerJobsResponse | |
GetControllerJobStatus | GetControllerJobStatusRequest | GetControllerJobStatusResponse |
Information about the result of Quil translation that may be useful for the client,
but which is not needed for execution of the translated `ControllerJob`.
Field | Type | Label | Description |
readout_mappings | QuilTranslationMetadata.ReadoutMappingsEntry | repeated | Mapping of (Quil memory address as string) to (readout stream) This allows a Quil program author to write and execute `MEASURE 0 ro`, while being able to interpret the readout results for one of the post-processed readout streams as representing the result of the `MEASURE`. |
Field | Type | Label | Description |
key | string |
|
|
value | string |
|
Options for translation backend V1
Options for translation backend V2
Field | Type | Label | Description |
prepend_default_calibrations | bool | optional | Whether to prepend the default calibrations for a particular QPU to the program. This may be set to false if you have prepended your own calibrations, or are submitting a pre-calibrated pulse-level program which does not need further expansion. |
passive_reset_delay_seconds | double | optional | The number of seconds to stall at the beginning of each num-shots loop iteration in order to allow adiabatic reset. |
allow_unchecked_pointer_arithmetic | bool | optional | Whether to disable bounds checks on dynamic memory access. Only available to authorized users. |
allow_frame_redefinition | bool | optional | Whether to skip program frame validation against Rigetti calibrations. |
store_all_readout_values | bool | optional | Whether to force all real-time-classified readout values to be stored in sequencer memory. If false or unset, only readout values that are read by the program are written to sequencer memory following readout. |
Field | Type | Label | Description |
quantum_processor_id | string | The quantum processor for which to retrieve the calibration program. |
Field | Type | Label | Description |
quil_calibration_program | string | The Quil program containing the requested calibrations |
Field | Type | Label | Description |
quantum_processor_id | string |
|
|
quil_program | string |
|
|
options | TranslationOptions | Specification of optional translation features. |
|
num_shots_value | uint32 |
|
Field | Type | Label | Description |
job | models.controller.EncryptedControllerJob |
|
|
metadata | models.translation.QuilTranslationMetadata |
|
Options specified on RPCs that translate Quil to a ControllerJob. Intended to support custom pre-processing
and other translation features.
Field | Type | Label | Description |
v1 | BackendV1Options |
|
|
v2 | BackendV2Options |
|
Method Name | Request Type | Response Type | Description |
TranslateQuilToEncryptedControllerJob | TranslateQuilToEncryptedControllerJobRequest | TranslateQuilToEncryptedControllerJobResponse | |
GetQuantumProcessorQuilCalibrationProgram | GetQuantumProcessorQuilCalibrationProgramRequest | QuantumProcessorQuilCalibrationProgram | Get the current calibration program for the given quantum processor. |
.proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
double | double | double | float | float64 | double | float | Float | |
float | float | float | float | float32 | float | float | Float | |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long | int64 | long | integer/string | Bignum |
uint32 | Uses variable-length encoding. | uint32 | int | int/long | uint32 | uint | integer | Bignum or Fixnum (as required) |
uint64 | Uses variable-length encoding. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum or Fixnum (as required) |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long | int64 | long | integer/string | Bignum |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int | uint32 | uint | integer | Bignum or Fixnum (as required) |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long | uint64 | ulong | integer/string | Bignum |
sfixed32 | Always four bytes. | int32 | int | int | int32 | int | integer | Bignum or Fixnum (as required) |
sfixed64 | Always eight bytes. | int64 | long | int/long | int64 | long | integer/string | Bignum |
bool | bool | boolean | boolean | bool | bool | boolean | TrueClass/FalseClass | |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode | string | string | string | String (UTF-8) |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str | []byte | ByteString | string | String (ASCII-8BIT) |