Prepare 0.11.0 release (#1601)

* Prepare 0.11.0 release

This commit prepares for the 0.11.0 release. It moves the release notes
to a self contained directory for the release and updates the wording
and details of the release notes. Once this commit merges it should be
the tagged commit for the release.

* Apply suggestions from code review

Co-authored-by: Jake Lishman <jake@binhbar.com>

Co-authored-by: Jake Lishman <jake@binhbar.com>
This commit is contained in:
Matthew Treinish 2022-09-14 18:01:55 -04:00 committed by GitHub
parent 44b8fbef5d
commit b7c4a322f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
41 changed files with 47 additions and 123 deletions

View File

@ -0,0 +1,9 @@
---
features:
- |
Added support for :class:`~.BackendV2` to
:meth:`~.NoiseModel.from_backend`.
Now it can generate a :class:`~.NoiseModel` object from an
input :class:`~.BackendV2` instance. When a :class:`~.BackendV2`
input is used on :meth:`~.NoiseModel.from_backend` the two deprecated
options, ``standard_gates`` and ``warnings``, are gracefully ignored.

View File

@ -0,0 +1,10 @@
---
features:
- |
Added Aer implementation of :mod:`~qiskit.primitives`,
:class:`~.qiskit_aer.primitives.Sampler` and :class:`~.qiskit_aer.primitives.Estimator.
Thes implementations of the :class:`~qiskit.primitives.BaseSampler` and
:class:`~qiskit.primitives.BaseEstimator` interfaces leverage qiskit aer to
efficiently perform the computation of the primitive operations. You can
refer to the :mod:`qiskit.primitives` docs for a more detailed description
of the primitives API.

View File

@ -0,0 +1,6 @@
---
features:
- |
Added a shared library to Qiskit Aer that allows external programs to use
Aer's simulation methods. This is an experimental feature and its API
may be changed without the deprecation period.

View File

@ -0,0 +1,13 @@
---
upgrade:
- |
Set default ``fusion_max_qubit`` and ``fusion_threshold`` depending on the configured
``method`` for :class:`~AerSimulator`. Previously, the default values of
``fusion_max_qubit`` and ``fusion_threshold`` were ``5`` and ``14`` respectively for
all simulation methods. However, their optimal values depend on running methods. If you
depended on the previous defaults you can explicitly set ``fusion_max_qubit=5`` or
``fusion_threshold=14`` to retain the previous default behavior. For example::
from qiskit_aer import AerSimulator
sim = AerSimulator(method='mps', fusion_max_qubit=5, fusion_threshold=14)

View File

@ -0,0 +1,9 @@
---
prelude: |
The Qiskit Aer 0.11.0 release highlights are:
* The migration to a new self-contained Python namespace ``qiskit_aer``
* The introduction of the :class:`~.AerStatevector` class
* The introduction of Aer implementations of :mod:`~qiskit.primitives`,
:class:`~qiskit_aer.primitives.Sampler` and :class:`~qiskit_aer.primitives.Estimator`
* Introduction of support for running with `cuQuantum <https://developer.nvidia.com/cuquantum-sdk>`__

View File

@ -1,6 +0,0 @@
---
features:
- |
Added support for ``BackendV2`` to :meth:`~qiskit.providers.aer.noise.NoiseModel.from_backend`.
Now it can generate ``NoiseModel`` from a valid ``BackendV2``, in which case
the two deprecated options, ``standard_gates`` and ``warnings``, are gracefully ignored.

View File

@ -1,5 +0,0 @@
---
features:
- |
Added Aer implementation of Primitives (:class:`~primitives.Sampler` and :class:`~primitives.Estimator`).
See the docs https://qiskit.org/documentation/apidoc/primitives.html for general descriptions.

View File

@ -1,17 +0,0 @@
---
features:
- |
Added support for running with Python 3.10. This includes publishing
precompiled binaries to PyPI for Python 3.10 on supported platforms.
upgrade:
- |
Qiskit Aer no longer fully supports 32 bit platforms on Python >= 3.10.
These are Linux i686 and 32-bit Windows. These platforms with Python 3.10
are now at Tier 3 instead of Tier 2 support (per the tiers defined in:
https://qiskit.org/documentation/getting_started.html#platform-support)
This is because the upstream dependencies Numpy and Scipy have dropped
support for them. Qiskit will still publish precompiled binaries for these
platforms, but we're unable to test the packages prior to publishing, and
you will need a C/C++ compiler so that ``pip`` can build their dependencies
from source. If you're using one of these platforms, we recommended that
you use Python 3.7, 3.8, or 3.9.

View File

@ -1,6 +0,0 @@
---
features:
- |
Add Aer runtime shared library that allows external programs can use
Aer simulation methods. This is an experimental fature and its API
may be changed without the deprecation period.

View File

@ -1,9 +0,0 @@
---
features:
- |
Set default ``fusion_max_qubit`` and ``fusion_threshold`` depending on `method`.
Previously default values of ``fusion_max_qubit`` and ``fusion_threshold`` were
``5`` and ``14`` respectively in any methods. However, their optimal values
depend on running methods. This feature changes their default values depending
on a configured method.

View File

@ -1,13 +0,0 @@
---
fixes:
- |
Fix cache blocking transpiler to recognize superop to be cache blocked.
This is fix for
`issue 1479 <https://github.com/Qiskit/qiskit-aer/issues/1479>`
now density_matrix with noise models can be parallelized.
New test, test_noise.TestNoise.test_kraus_gate_noise_on_QFT_cache_blocking
is added to verify this issue.
Also this fix include fix for
`issue 1483 <https://github.com/Qiskit/qiskit-aer/issues/1483>`
discovered by adding new test case.
This fixes measure over chunks for statevector.

View File

@ -1,12 +0,0 @@
---
fixes:
- |
Fixes an issue with :class:`.LocalNoisePass` for noise functions that
return a :class:`.QuantumCircuit` for the noise op. These were appended
to the DAG as an opaque circuit instruction that must be unrolled to be
simulated. This fix composes them so that the cirucit instructions are
added to the new DAG and can be simulated without additional unrolling
if all circuit instructions are supported by the simulator.
See `#1447 <https://github.com/Qiskit/qiskit-aer/issues/1447>`__
for details.

View File

@ -1,6 +0,0 @@
---
fixes:
- |
device=Thrust was very slow for small number of qubits because OpenMP
threading was always applied. This fix applies OpenMP threads as same
as device=CPU by using statevector_parallel_threshold.

View File

@ -1,7 +0,0 @@
---
fixes:
- |
Multi-threaded transpilations to generate diagonal gates will now work correctly if
the number of gates of a circuit exceeds ``fusion_parallelization_threshold``.
Previously, different threads would occasionally fuse the same element into multiple blocks,
causing incorrect results.

View File

@ -1,18 +0,0 @@
---
upgrade:
- |
Qiskit Aer is no longer compiled with unsafe floating-point optimisations.
While most of the effects should have been localised to Qiskit Aer, some
aspects of subnormal handling may previously have been leaked into user code
by the library incorrectly setting the "flush to zero" mode. This will not
happen any more.
fixes:
- |
Qiskit Aer will no longer set the floating-point mode to "flush to zero"
when loaded. Downstream users may previously have seen warnings from Numpy
such as:
The value of the smallest subnormal for <class 'numpy.float64'> type is zero.
These will now no longer be emitted, and the floating-point handling will be
correct.

View File

@ -1,13 +0,0 @@
---
fixes:
- |
Fixed a potential issue with running simulations on circuits that have the
:attr:`.QuantumCircuit.metadata` attribute set. The :attr:`~.QuantumCircuit.metadata`
attribute can be any python dictionary and previously qiskit-aer would attempt to
JSON serialize the contents of the attribute to process it with the rest of the rest
of the circuit input, even if the contents were not JSON serializable. This no longer
occurs as the :attr:`.QuantumCircuit.metadata` attribute is not used to run the
simulation so now the contents are no serialized and instead are directly attached
to the :class:`qiskit.result.Result` object without attempting to JSON serialize
the contents.
Fixed `#1435 <https://github.com/Qiskit/qiskit-aer/issues/1435>`__

View File

@ -1,11 +0,0 @@
---
fixes:
- |
Fixes a bug with truncation of circuits in parameterized Qobjs.
Previously parameters of parameterized QObj could be wrongly resolved
if unused qubits of their circuits were truncated, because indices of
the parameters were not updated after the instructions on unmeasured qubits
were removed.
See `#1427 <https://github.com/Qiskit/qiskit-aer/issues/1427>`__
for details.