Skip to content

Commit

Permalink
Rewrite PulseGate pass release note
Browse files Browse the repository at this point in the history
  • Loading branch information
jakelishman committed Dec 6, 2021
1 parent afd0ce6 commit a40c877
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 24 deletions.
1 change: 1 addition & 0 deletions qiskit/transpiler/passes/calibration/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@
"""Module containing transpiler calibration passes."""

from .builders import RZXCalibrationBuilder, RZXCalibrationBuilderNoEcho, PulseGates
from .rzx_templates import rzx_templates
40 changes: 16 additions & 24 deletions releasenotes/notes/0.19/add-pulse-gate-pass-dc347177ed541bcc.yaml
Original file line number Diff line number Diff line change
@@ -1,31 +1,19 @@
---
features:
- |
A new transpiler pass group ``qiskit.transpiler.passes.calibration`` has
been added. This group consists of
- :class:`~qiskit.transpiler.passes.RZXCalibrationBuilder`
- :class:`~qiskit.transpiler.passes.RZXCalibrationBuilderNoEcho`
- :func:`~qiskit.transpiler.passes.calibration.rzx_templates.rzx_templates`.
- :class:`~qiskit.transpiler.passes.PulseGates`
:obj:`.RZXCalibrationBuilder`, :obj:`.RZXCalibrationBuilderNoEcho`, and
``rzx_templates`` were moved from ``qiskit.transpiler.passes.scheduling``,
whereas :obj:`.PulseGates` is the new pass that automatically extracts
user-provided calibrations from the instruction schedule map and attaches
the gate schedule to the given (transpiled) quantum circuit as a pulse gate.
Any transpiler pass that interacts with the pulse gate feature will be
grouped to ``qiskit.transpiler.passes.calibration``.
This pass is applied to all optimization levels from 0 to 3.
No gate implementation is updated unless the end-user explicitly overrides
the ``backend.defaults().instruction_schedule_map``.
A new transpile pass, :class:`.PulseGates`, was added, which automatically
extracts user-provided calibrations from the instruction schedule map and
attaches the gate schedule to the given (transpiled) quantum circuit as a
pulse gate.
The :class:`.PulseGates` transpiler pass is applied to all optimization
levels from 0 to 3. No gate implementation is updated unless the end-user
explicitly overrides the ``backend.defaults().instruction_schedule_map``.
This pass saves users from individually calling
:meth:`.QuantumCircuit.add_calibration` for every circuit run on the
hardware.
Along with this change, a schedule was added to
To supplement this new pass, a schedule was added to
:class:`~qiskit.pulse.InstructionScheduleMap` and is implicitly updated with
a metadata ``"publisher"``. Backend-calibrated gate schedules have a
special publisher kind to avoid overriding circuits with calibrations of
Expand Down Expand Up @@ -91,10 +79,14 @@ deprecations:
from qiskit.transpiler.passes.scheduling.calibration_creators import RZXCalibrationBuilder
from qiskit.transpiler.passes.scheduling.calibration_creators import RZXCalibrationBuilderNoEcho
are deprecated.
are deprecated, and will be removed in a future release.
The import path::
from qiskit.transpiler.passes.scheduling.rzx_templates.rzx_templates import rzx_templates
is also deprecated.
You should use the new import path ``qiskit.transpiler.passes.calibration``.
is also deprecated, and will be removed in a future release.
You should use the new import paths::
from qiskit.transpiler.passes import RZXCalibrationBuilder
from qiskit.transpiler.passes import RZXCalibrationBuilderNoEcho
from qiskit.transpiler.passes.calibration import rzx_templates

0 comments on commit a40c877

Please sign in to comment.