Release 0.33.0
New features since last release
-
Add documentation updates for the
lightning_gpu
backend. (#525) -
Add
SparseHamiltonian
support for Lightning-Qubit and Lightning-GPU. (#526) -
Add
SparseHamiltonian
support for Lightning-Kokkos. (#527) -
Integrate python/pybind layer of distributed Lightning-GPU into the Lightning monorepo with python unit tests. (#518)
-
Integrate the distributed C++ backend of Lightning-GPU into the Lightning monorepo. (#514)
-
Integrate Lightning-GPU into the Lightning monorepo. The new backend is named
lightning_gpu
and includes all single-GPU features. (#499) -
Build Linux wheels for Lightning-GPU (CUDA-11). (#517)
-
Add
Dockerfile
indocker
andmake docker
workflow inMakefile
. The Docker images and documentation are available on DockerHub. (#496) -
Add mid-circuit state preparation operation tests. (#495)
Improvements
-
Improve Python testing for Lightning-GPU (+MPI) by adding jobs in Actions files and adding Python tests to increase code coverage. (#522)
-
Add support for
pip install pennylane-lightning[kokkos]
for the OpenMP backend. (#515) -
Update
setup.py
to allow for multi-package co-existence. ThePennyLane_Lightning
package now is the responsible for the core functionality, and will be depended upon by all other extensions. (#504) -
Redesign Lightning-Kokkos
StateVectorKokkos
class to use KokkosRangePolicy
together with special functors inapplyMultiQubitOp
to apply 1- to 4-wire generic unitary gates. For more than 4 wires, the general implementation using KokkosTeamPolicy
is employed to yield the best all-around performance. (#490) -
Redesign Lightning-Kokkos
Measurements
class to use KokkosRangePolicy
together with special functors to obtain the expectation value of 1- to 4-wire generic unitary gates. For more than 4 wires, the general implementation using KokkosTeamPolicy
is employed to yield the best all-around performance. (#489) -
Add tests to increase Lightning-Kokkos coverage. (#485)
-
Add memory locality tag reporting and adjoint diff dispatch for
lightning.qubit
statevector classes. (#492) -
Add support for dependent external packages to C++ core. (#482)
-
Add support for building multiple backend simulators. (#497)
Breaking changes
-
Add
tests_gpu.yml
workflow to test the Lightning-Kokkos backend with CUDA-12. (#494) -
Implement
LM::GeneratorDoubleExcitation
,LM::GeneratorDoubleExcitationMinus
,LM::GeneratorDoubleExcitationPlus
kernels. Lightning-Qubit default kernels are now strictly from theLM
implementation, which requires less memory and is faster for large state vectors. (#512) -
Add workflows validating compatibility between PennyLane and Lightning's most recent stable releases and development (latest) versions. (#507) (#498)
-
Introduce
timeout-minutes
in various workflows, mainly to avoid Windows builds hanging for several hours. (#503) -
Cast integral-valued arrays to the device's complex type on entry in
_preprocess_state_vector
to ensure the state is correctly represented with floating-point numbers. (#501) -
Update
DefaultQubit
toDefaultQubitLegacy
on Lightning fallback. (#500) -
Enums defined in
GateOperation.hpp
start at1
(previously0
).::BEGIN
is introduced in a few places where it was assumed0
accordingly. (#485)::BEGIN
was later reverted to0
, keeping the rest of the changes, to fix a compatibility issue with Catalyst. (#521) -
Enable pre-commit hooks to format all Python files and linting of all Python source files. (#485)
Bug fixes
-
Re-add support for
pip install pennylane-lightning[gpu]
. (#515) -
Switch most Lightning-Qubit default kernels to
LM
. AddLM::multiQubitOp
tests, failing when targeting out-of-order wires clustered close tonum_qubits-1
. Fix theLM::multiQubitOp
kernel implementation by introducing a genericrevWireParity
routine and replacing thebitswap
-based implementation. Mimic the changes fixing the correspondingmultiQubitOp
andexpval
functors in Lightning-Kokkos. (#511) -
Fix RTD builds by removing unsupported
system_packages
configuration option. (#491)
Contributors
This release contains contributions from (in alphabetical order):
Ali Asadi, Amintor Dusko, Vincent Michaud-Rioux, Lee J. O'Riordan, Shuli Shu