Changelog#
Version 5.10 (2025-01-09)#
Features#
DummyJob.job_id()
of the job returned byIQMPullaBackend.run()
now returnssweep_id
of the executed sweep. issue SW-901StationControlResult
returned byPulla.execute()
now contains thestart_time
andend_time
even if the task failed.
Version 5.9 (2025-01-08)#
Features#
Remove gitlab links from public pages. issue SW-776
Version 5.8 (2025-01-07)#
Features#
Revoke Station Control task when user aborts Pulla execution. issue SW-899
Version 5.7 (2024-12-30)#
Features#
Update licensing and bump Station Control Client and IQM Pulse dependencies. issue SW-776
Version 5.6 (2024-12-12)#
Features#
Bump exa-experiments
Version 5.5 (2024-12-11)#
Features#
Improvements in the example notebooks.
Version 5.4 (2024-12-10)#
Bug fix#
Improve documentation structure.
Version 5.3 (2024-12-09)#
Features#
Fix extlinks to MRs and issues in sphinx docs config issue SW-916
Version 5.2 (2024-12-05)#
Features#
Fix intersphinx reference paths in docs issue SW-916
Version 5.1 (2024-12-05)#
Features#
Pulla now support base QIR profile as the circuit definition. issue SW-865
Version 5.0 (2024-12-05)#
Features#
Version 4.8 (2024-12-04)#
Features#
By default,
iqm.pulla.cpc.Compiler
can now be initialized with calibration data failing validation. issue SW-867
Version 4.7 (2024-12-04)#
Features#
Bump version for an updated repo organization. No functional changes. issue SW-665
Version 4.6 (2024-11-29)#
Features#
Adjust the conftest calibration set for NDonis to include the parameter
detuning
of all MOVE gate nodes, containing the difference of the qubit and resonator frequency.
Version 4.5 (2024-11-27)#
Features#
Added
iqm.pulla.utils_qiskit.IQMPullaBackend
allowing to use Pulla as a backend in Qiskit. issue SW-821
Version 4.4 (2024-11-27)#
Features#
Implement Dynamical Decoupling as a standard compilation stage. issue HCS-432
Version 4.3 (2024-11-22)#
Features#
Update to the latest station-control-client. issue SW-865
Version 4.2 (2024-11-21)#
Bug fix#
Fix a CircuitExecutionError when submitting a batch of circuits measuring different qubits, with heralding enabled. issue SW-880
Version 4.1 (2024-11-19)#
Features#
Bump version for an updated repo organization. No functional changes. issue SW-774
Version 4.0 (2024-11-14)#
prepend_reset
(TimeBox-level) standard compiler stage added (implements both reset by wait and active reset)added :attr:
.CircuitExecutionOptions.active_reset_cycles
that is used to control the reset functionality between.:meth`.Pulla.get_standard_compiler` now has an optional argument for overriding default
circuit execution options
Version 3.0 (2024-11-01)#
Replaced the function
iqm.pulla.utils_qiskit.qiskit_to_cpc()
withiqm.pulla.utils_qiskit.qiskit_circuits_to_pulla()
, changing the signature.Added the function
iqm.pulla.utils_qiskit.qiskit_to_pulla()
.Updated the user guide.
Cleaned up the execution results handling.
Bugfix:
MeasurementMode.ALL
now works properly with mid-circuit measurements.Require
iqm-pulse >= 6.5
,qiskit-iqm >= 15.0
.
Version 2.1 (2024-10-25)#
iqm-pulse
6.0 compatibility.
Version 2.0 (2024-10-24)#
See
docs/migration_guide.rst
for a detailed migration guide from version 1.x to 2.0.Consolidate compiler code under
iqm.cpc.compiler.compiler
module.Remove
iqm.cpc.compiler.compiler2
.Do not construct qubit mapping and do not connect to CoCoS.
Remove
register_fast_feedback
method. Conditionalcc_prx
is now natively supported in CoCoS and Qiskit-on-IQM.
Version 1.8 (2024-10-18)#
Convert
cc_prx
args likeprx
, convertmeasure
“feedback_key” to “feedback_label” for now.
Version 1.7 (2024-10-09)#
Update
iqm-pulse
to 5.0.
Version 1.6 (2024-10-07)#
Add trigger delays,
twpa.voltage_1
andtwpa.voltage_2
to calset whitelist.
Version 1.5 (2024-10-03)#
register_fast_feedback
now takes feedback signal delays from calibration data.
Version 1.4 (2024-10-02)#
Qiskit is now an optional dependency.
Qiskit-related utils are moved to
iqm.pulla.utils_qiskit
. Old import paths are deprecated.
Version 1.3 (2024-09-30)#
User guides updated for Qiskit 1.x.
Nicer error messages on authentication problems.
Add Custom gates user guide to the HTML documentation.
Version 1.2 (2024-09-25)#
Compilation passes of the standard stages are now by default idempotent.
User guide updated with more detailed information on authentication.
Allow custom initial compiler context dictionary to be passed to
Compiler.compile()
.
Version 1.1 (2024-09-23)#
The dynamical implementations created by
register_fast_feedback
are now set as special implementations (protects against infinite recursion).
Version 1.0 (2024-09-20)#
See
docs/migration_guide.rst
for a detailed migration guide from version 0.x to 1.0.Compiler and Pulla are now separated for simplicity.
Compiler is now always refreshed automatically when needed without user’s explicit action.
Pulla no longer needs to access /cocos/configuration endpoint.
Prevent user from accidentally modifying standard stages.
Compiler stages are all multipass now.
User guide split into multiple files.
Version 0.20 (2024-09-18)#
Support ragged acquisition (acquisition labels no longer need to present in every circuit of a batch).
Circuits in a batch are no longer padded to the same length.
Heralding is now done on the
TimeBox
level.Change the logic for
MeasurementMode
, controlling the final measurement in a circuit: * MeasurementMode.CIRCUIT now measures just the qubits that havemeasure
gates on them ineach circuit (previously it measured all the qubits used in any circuit in the batch).
Heralding in MeasurementMode.ALL now performs the heralding measurement (and results filtering) only on the qubits used in each circuit (if they can be measured, that is). Previously it heralded all the qubits used in any circuit in the batch.
Always send settings to all the probe lines (and TWPAs) on the station, regardless of which components are measured in the batch circuits, in order to simplify the settings generation logic. This should cause no harm, and typically would happen anyway.
Version 0.19 (2024-09-09)#
Update to
iqm-pulse
3.0.Add fast feedback example notebook.
Version 0.18 (2024-09-03)#
Fix and rework
CompositeGate
support. AddCustom Gates
example notebook.qiskit_to_cpc()
no longer takes backend as argument.qiskit_to_cpc()
now accepts a list of circuits.Adjust logging to not output debug logs by default.
Change signature of
Pulla.add_implementation()
to allow any kind of gate.Add
Pulla.register_fast_feedback()
as a temporary helper to utilize fast feedback.
Version 0.17 (2024-08-29)#
Fix front padding of schedules in case instruments have different sampling rates.
Version 0.16 (2024-08-20)#
Fix result handling of mid-circuit measurements.
Version 0.15 (2024-08-20)#
Fix failure on null timestamp values
Version 0.14 (2024-08-14)#
(internal) Rely on chip design record instead of CHADs from station.
Version 0.13 (2024-08-12)#
Mid-circuit measurement support in the compiler.
Version 0.12 (2024-08-05)#
Optional
MOVE
validation in the compiler.Update
iqm-pulse
.Drop support for Python 3.10.
Drop requirement for
StrEnum
package.
Version 0.11 (2024-07-15)#
Start using programmable readout (functionally identical to CoCoS 29.0).
Standard compilation stages adapted to programmable readout.
User guide and Examples updated.
Add a decorator
@compiler_pass
that converts a function to a pass with less boilerplate.Remove
CompilationStage.add_pass
in favor of.add_passes
.
Version 0.10 (2024-07-03)#
Change dependency of
iqm-exa-pulse
toiqm-pulse
.Change dependency of
iqm-exa-backend-client
toiqm-station-control-client
.
Version 0.9 (2024-06-28)#
Utility function
qiskit_to_cpc
can now handle Qiskit circuits containing custom composite gates.GraphQL support is dropped. Calibration data is now fetched only from Station Control.
Extended logging support. The user can now set the log level.
Version 0.8 (2024-06-20)#
New utility function:
station_control_result_to_qiskit
to convert an execution result into a Qiskit result.Updated documentation with examples of constructing Qiskit results.
New optional argument
complex_readout
tobuild_settings()
to set result type to complex.Breaking change:
circuit_operations_to_iqm
renamed tocircuit_operations_to_cpc
.Breaking change:
qiskit_to_iqm
renamed toqiskit_to_cpc
.
Version 0.7 (2024-06-18)#
Add an example on how to create T1 Experiment with Pulla.
Add an example of defining a circuit using IQM Pulse ``CircuitOperation``s directly and compiling it normally.
New utility function:
circuit_operations_to_iqm
to convert a tuple of ``CircuitOperation``s into a compiler-compatible circuit.New utility function:
map_qubit_indices
to replace qubit names in a circuits with their indices from component mapping; can be used as a circuit-level pass.
Version 0.6 (2024-06-17)#
Authentication support for connecting to CoCoS and to Station Control Service.
Mypy type checking in tests and CI.
Version 0.5 (2024-06-17)#
Method
Pulla.execute()
returnsStationControlResult
.Method
Pulla.execute()
accepts an optional argumentverbose
(default:False
) to print the measurement results.Method
Pulla.execute()
prints links to the task id and sweep id pages of the Station Control web interface.When execution fails, the error from Station Control is propagated and displayed to the user.
Version 0.4 (2024-06-10)#
Station Control is now the default provider of calibration data. GraphQL URL is optional.
Version 0.3 (2024-06-10)#
New utility function:
locate_instructions
to find the channel and index of given playlist instructions with optional minimum duration.New utility function:
replace_instruction_in_place
to replace an instruction at a given channel+index with one or more other instructions, given that the total durations match.New utility functions:
print_channel
andprint_schedule
to help visualize the playlist instructions per channel.New notebook
Examples
added with an example of using the new helper functions to replace ``Wait``s with arbitrary sequences of pulses&waits for dynamical decoupling.
Version 0.2 (2024-06-10)#
GraphQL url is now configurable when loading the configuration from url.
Automatic fetching of latest calibration set on initialization can be disabled.
Info about schedule visualization added to the user guide.
Version 0.1 (2024-05-21)#
Initial version.
Abstract multipass compiler interface and
STANDARD_STAGES
.Basic Qiskit integration.
Circuit compilation and execution.
Calibration data provider.