Release 0.33.0
New features since last release
-
Add documentation updates for the
lightning_gpubackend. (#525) -
Add
SparseHamiltoniansupport for Lightning-Qubit and Lightning-GPU. (#526) -
Add
SparseHamiltoniansupport 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_gpuand includes all single-GPU features. (#499) -
Build Linux wheels for Lightning-GPU (CUDA-11). (#517)
-
Add
Dockerfileindockerandmake dockerworkflow 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.pyto allow for multi-package co-existence. ThePennyLane_Lightningpackage now is the responsible for the core functionality, and will be depended upon by all other extensions. (#504) -
Redesign Lightning-Kokkos
StateVectorKokkosclass to use KokkosRangePolicytogether with special functors inapplyMultiQubitOpto apply 1- to 4-wire generic unitary gates. For more than 4 wires, the general implementation using KokkosTeamPolicyis employed to yield the best all-around performance. (#490) -
Redesign Lightning-Kokkos
Measurementsclass to use KokkosRangePolicytogether 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 KokkosTeamPolicyis 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.qubitstatevector 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.ymlworkflow to test the Lightning-Kokkos backend with CUDA-12. (#494) -
Implement
LM::GeneratorDoubleExcitation,LM::GeneratorDoubleExcitationMinus,LM::GeneratorDoubleExcitationPluskernels. Lightning-Qubit default kernels are now strictly from theLMimplementation, 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-minutesin 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_vectorto ensure the state is correctly represented with floating-point numbers. (#501) -
Update
DefaultQubittoDefaultQubitLegacyon Lightning fallback. (#500) -
Enums defined in
GateOperation.hppstart at1(previously0).::BEGINis introduced in a few places where it was assumed0accordingly. (#485)::BEGINwas 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::multiQubitOptests, failing when targeting out-of-order wires clustered close tonum_qubits-1. Fix theLM::multiQubitOpkernel implementation by introducing a genericrevWireParityroutine and replacing thebitswap-based implementation. Mimic the changes fixing the correspondingmultiQubitOpandexpvalfunctors in Lightning-Kokkos. (#511) -
Fix RTD builds by removing unsupported
system_packagesconfiguration option. (#491)
Contributors
This release contains contributions from (in alphabetical order):
Ali Asadi, Amintor Dusko, Vincent Michaud-Rioux, Lee J. O'Riordan, Shuli Shu