115 lines
4.4 KiB
Plaintext
115 lines
4.4 KiB
Plaintext
---
|
||
title: DynamicCircuitInstructionDurations (v0.18)
|
||
description: API reference for qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations in qiskit-ibm-runtime v0.18
|
||
in_page_toc_min_heading_level: 1
|
||
python_api_type: class
|
||
python_api_name: qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations
|
||
---
|
||
|
||
# DynamicCircuitInstructionDurations
|
||
|
||
<Class id="qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations" isDedicatedPage={true} github="https://github.com/qiskit/qiskit-ibm-runtime/tree/stable/0.18/qiskit_ibm_runtime/transpiler/passes/scheduling/utils.py" signature="DynamicCircuitInstructionDurations(instruction_durations=None, dt=None, enable_patching=True)" modifiers="class">
|
||
For dynamic circuits the IBM Qiskit backend currently reports instruction durations that differ compared with those required for the legacy Qobj-based path. For now we use this class to report updated InstructionDurations. TODO: This would be mitigated by a specialized Backend/Target for dynamic circuit backends.
|
||
|
||
Dynamic circuit instruction durations.
|
||
|
||
## Attributes
|
||
|
||
### MEASURE\_PATCH\_CYCLES
|
||
|
||
<Attribute id="qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.MEASURE_PATCH_CYCLES" attributeValue="160" />
|
||
|
||
### MEASURE\_PATCH\_ODD\_OFFSET
|
||
|
||
<Attribute id="qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.MEASURE_PATCH_ODD_OFFSET" attributeValue="64" />
|
||
|
||
## Methods
|
||
|
||
### from\_backend
|
||
|
||
<Function id="qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.from_backend" signature="from_backend(backend)" modifiers="classmethod">
|
||
Construct an `InstructionDurations` object from the backend.
|
||
|
||
**Parameters**
|
||
|
||
**backend** (`Backend`) – backend from which durations (gate lengths) and dt are extracted.
|
||
|
||
**Returns**
|
||
|
||
The InstructionDurations constructed from backend.
|
||
|
||
**Return type**
|
||
|
||
InstructionDurations
|
||
|
||
**Raises**
|
||
|
||
**TranspilerError** – If dt and dtm is different in the backend.
|
||
</Function>
|
||
|
||
### get
|
||
|
||
<Function id="qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.get" signature="get(inst, qubits, unit='dt', parameters=None)">
|
||
Get the duration of the instruction with the name, qubits, and parameters.
|
||
|
||
Some instructions may have a parameter dependent duration.
|
||
|
||
**Parameters**
|
||
|
||
* **inst** (*str | qiskit.circuit.Instruction*) – An instruction or its name to be queried.
|
||
* **qubits** (*int | list\[int]*) – Qubit indices that the instruction acts on.
|
||
* **unit** (*str*) – The unit of duration to be returned. It must be ‘s’ or ‘dt’.
|
||
* **parameters** (*list\[float] | None*) – The value of the parameters of the desired instruction.
|
||
|
||
**Returns**
|
||
|
||
The duration of the instruction on the qubits.
|
||
|
||
**Return type**
|
||
|
||
float|int
|
||
|
||
**Raises**
|
||
|
||
**TranspilerError** – No duration is defined for the instruction.
|
||
</Function>
|
||
|
||
### units\_used
|
||
|
||
<Function id="qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.units_used" signature="units_used()">
|
||
Get the set of all units used in this instruction durations.
|
||
|
||
**Return type**
|
||
|
||
`set`\[`str`]
|
||
|
||
**Returns**
|
||
|
||
Set of units used in this instruction durations.
|
||
</Function>
|
||
|
||
### update
|
||
|
||
<Function id="qiskit_ibm_runtime.transpiler.passes.scheduling.DynamicCircuitInstructionDurations.update" signature="update(inst_durations, dt=None)">
|
||
Update self with inst\_durations (inst\_durations overwrite self). Overrides the default durations for certain hardcoded instructions.
|
||
|
||
**Parameters**
|
||
|
||
* **inst\_durations** (`Union`\[`List`\[`Tuple`\[`str`, `Optional`\[`Iterable`\[`int`]], `float`, `Optional`\[`Iterable`\[`float`]], `str`]], `List`\[`Tuple`\[`str`, `Optional`\[`Iterable`\[`int`]], `float`, `Optional`\[`Iterable`\[`float`]]]], `List`\[`Tuple`\[`str`, `Optional`\[`Iterable`\[`int`]], `float`, `str`]], `List`\[`Tuple`\[`str`, `Optional`\[`Iterable`\[`int`]], `float`]], `InstructionDurations`, `None`]) – Instruction durations to be merged into self (overwriting self).
|
||
* **dt** (`Optional`\[`float`]) – Sampling duration in seconds of the target backend.
|
||
|
||
**Returns**
|
||
|
||
The updated InstructionDurations.
|
||
|
||
**Return type**
|
||
|
||
InstructionDurations
|
||
|
||
**Raises**
|
||
|
||
**TranspilerError** – If the format of instruction\_durations is invalid.
|
||
</Function>
|
||
</Class>
|
||
|