Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Syncing master with V0.36.0 branch #715

Merged
merged 34 commits into from
May 7, 2024
Merged
Show file tree
Hide file tree
Changes from 32 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
8e302b0
Update Changelog
AmintorDusko Apr 29, 2024
010d543
update release candidate version
AmintorDusko Apr 29, 2024
250c1db
run agains pennylane rc
AmintorDusko Apr 29, 2024
dbbf0b5
update relese cadidate version
AmintorDusko Apr 29, 2024
b5402dd
Increase tolerance for a flaky test (test_single_return_value)
AmintorDusko Apr 29, 2024
34877ff
Update `LightningBaseFallBack` to raise an error instead of falling b…
vincentmr Apr 30, 2024
0412295
trigger CIs
AmintorDusko May 1, 2024
2236e5f
Merge branch 'v0.36.0_rc' of https://github.com/PennyLaneAI/pennylane…
AmintorDusko May 1, 2024
fdd994f
Introduce pytest-splits (#696)
vincentmr May 2, 2024
e11e58b
Update changelog (#706)
maliasadi May 2, 2024
834ca47
Use wire order specified on instantiation (#705)
albi3ro May 3, 2024
432f28e
Update wire order support for probabilities (#707)
mlxd May 3, 2024
7ef2d3c
Sync version
AmintorDusko May 3, 2024
27fdb9d
pacify CodeFactor
AmintorDusko May 3, 2024
d876ed0
make CodeFactor ignore all JET code
AmintorDusko May 3, 2024
7851423
trigger ci
vincentmr May 3, 2024
e6d81f9
trigger ci
vincentmr May 3, 2024
a025f09
build wheels for test
AmintorDusko May 6, 2024
0ec727c
remove Win LKokkos upload-pypi [skip-ci]
AmintorDusko May 6, 2024
e1705d3
[skip ci]
AmintorDusko May 6, 2024
d2147d7
trigger wheels CIs with Release event
AmintorDusko May 6, 2024
77acca4
update version
AmintorDusko May 6, 2024
c7c0b40
fix upload wheels artifact for release
AmintorDusko May 6, 2024
e19134b
target pennylane master
AmintorDusko May 6, 2024
e084415
merge master
AmintorDusko May 6, 2024
1d431a6
Version bump CHANGELOG
AmintorDusko May 6, 2024
43586f4
Auto update version from '' to '0.36.0-dev48'
ringo-but-quantum May 6, 2024
ec687de
version bump to dev0
AmintorDusko May 6, 2024
098ae44
Merge branch 'v0.36.0_sync_master' of https://github.com/PennyLaneAI/…
AmintorDusko May 6, 2024
c8f98b1
Auto update version from '0.37.0-dev0' to '0.36.0-dev48'
ringo-but-quantum May 6, 2024
46a2640
Update version
maliasadi May 6, 2024
cb3b17e
Auto update version from '0.37.0-dev0' to '0.36.0-dev48'
ringo-but-quantum May 6, 2024
2897704
Update pennylane_lightning/core/_version.py
AmintorDusko May 6, 2024
0500e68
Merge branch 'master' into v0.36.0_sync_master
AmintorDusko May 6, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 35 additions & 11 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,22 @@
# Release 0.36.0-dev
# Release 0.37.0-dev

### New features since last release

### Breaking changes

### Improvements

### Documentation

### Bug fixes

### Contributors

This release contains contributions from (in alphabetical order):

---

# Release 0.36.0

### New features since last release

Expand All @@ -11,7 +29,7 @@
* `lightning.kokkos` supports mid-circuit measurements.
[(#672)](https://github.com/PennyLaneAI/pennylane-lightning/pull/672)

* Add dynamic linking to LAPACK/OpenBlas shared objects in scipy.libs for both C++ and Python layer.
* Add dynamic linking to LAPACK/OpenBlas shared objects in `scipy.libs` for both C++ and Python layer.
[(#653)](https://github.com/PennyLaneAI/pennylane-lightning/pull/653)

* `lightning.qubit` supports mid-circuit measurements.
Expand All @@ -29,7 +47,7 @@
* Add analytic-mode `qml.probs` and `qml.var` support in `lightning.qubit2`.
[(#627)](https://github.com/PennyLaneAI/pennylane-lightning/pull/627)

* Add LightningAdjointJacobian to support `lightning.qubit2`.
* Add `LightningAdjointJacobian` to support `lightning.qubit2`.
[(#631)](https://github.com/PennyLaneAI/pennylane-lightning/pull/631)

* Add `lightning.qubit2` device which uses the new device API.
Expand All @@ -44,6 +62,12 @@

### Breaking changes

* Split Lightning-Qubit and Lightning-Kokkos CPU Python tests with `pytest-split`. Remove `SERIAL` from Kokkos' `exec_model` matrix. Remove `all` from Lightning-Kokkos' `pl_backend` matrix. Move `clang-tidy` checks to `tidy.yml`. Avoid editable `pip` installations.
[(#696)](https://github.com/PennyLaneAI/pennylane-lightning/pull/696)

* Update `lightning.gpu` and `lightning.kokkos` to raise an error instead of falling back to `default.qubit`.
[(#689)](https://github.com/PennyLaneAI/pennylane-lightning/pull/689)

* Add `paths` directives to test workflows to avoid running tests that cannot be impacted by changes.
[(#699)](https://github.com/PennyLaneAI/pennylane-lightning/pull/699)
[(#695)](https://github.com/PennyLaneAI/pennylane-lightning/pull/695)
Expand All @@ -65,7 +89,7 @@

### Improvements

* Add tests for Windows Wheels, fix ill-defined caching, and set the proper backend for LKokkos wheels.
* Add tests for Windows Wheels, fix ill-defined caching, and set the proper backend for `lightning.kokkos` wheels.
[(#693)](https://github.com/PennyLaneAI/pennylane-lightning/pull/693)

* Replace string comparisons by `isinstance` checks where possible.
Expand Down Expand Up @@ -105,17 +129,20 @@

### Bug fixes

* Fix wire order permutations when using `qml.probs` with out-of-order wires.
[(#707)](https://github.com/PennyLaneAI/pennylane-lightning/pull/707)

* Lightning Qubit once again respects the wire order specified on device instantiation.
[(#705)](https://github.com/PennyLaneAI/pennylane-lightning/pull/705)

* `dynamic_one_shot` was refactored to use `SampleMP` measurements as a way to return the mid-circuit measurement samples. `LightningQubit`'s `simulate` is modified accordingly.
[(#694)](https://github.com/PennyLaneAI/pennylane/pull/694)
[(#694)](https://github.com/PennyLaneAI/pennylane-lightning/pull/694)

* `LightningQubit` correctly decomposes state prep operations when used in the middle of a circuit.
[(#687)](https://github.com/PennyLaneAI/pennylane/pull/687)
[(#687)](https://github.com/PennyLaneAI/pennylane-lightning/pull/687)

* `LightningQubit` correctly decomposes `qml.QFT` and `qml.GroverOperator` if `len(wires)` is greater than 9 and 12 respectively.
[(#687)](https://github.com/PennyLaneAI/pennylane/pull/687)
[(#687)](https://github.com/PennyLaneAI/pennylane-lightning/pull/687)

* Specify `isort` `--py` (Python version) and `-l` (max line length) to stabilize `isort` across Python versions and environments.
[(#647)](https://github.com/PennyLaneAI/pennylane-lightning/pull/647)
Expand All @@ -135,14 +162,11 @@
* Update the version of `codecov-action` to v4 and fix the CodeCov issue with the PL-Lightning check-compatibility actions.
[(#682)](https://github.com/PennyLaneAI/pennylane-lightning/pull/682)

* Increase tolerance for a flaky test.
[(#703)](https://github.com/PennyLaneAI/pennylane-lightning/pull/703)

### Contributors

This release contains contributions from (in alphabetical order):

Ali Asadi, Amintor Dusko, Pietropaolo Frisoni, Christina Lee, Vincent Michaud-Rioux, Lee James O'Riordan, Mudit Pandey, Shuli Shu
Ali Asadi, Amintor Dusko, Christina Lee, Vincent Michaud-Rioux, Lee James O'Riordan, Mudit Pandey, Shuli Shu

---

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build_and_cache_Kokkos_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:
steps:
- name: Kokkos execution strategy
id: exec_model
run: echo "exec_model=[\"SERIAL\", \"OPENMP\"]" >> $GITHUB_OUTPUT
run: echo "exec_model=[\"OPENMP\"]" >> $GITHUB_OUTPUT

- name: Kokkos version
id: kokkos_version
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/compat-check-latest-latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,16 @@ jobs:
lightning-version: latest
pennylane-version: latest
secrets: inherit
tests_linux_python:
name: Lightning Compatibility test (tests_linux_python) - latest/latest
uses: ./.github/workflows/tests_linux_python.yml
tests_lqcpu_python:
name: Lightning Compatibility test (tests_lqcpu_python) - latest/latest
uses: ./.github/workflows/tests_lqcpu_python.yml
with:
lightning-version: latest
pennylane-version: latest
secrets: inherit
tests_lkcpu_python:
name: Lightning Compatibility test (tests_lkcpu_python) - latest/latest
uses: ./.github/workflows/tests_lkcpu_python.yml
with:
lightning-version: latest
pennylane-version: latest
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/compat-check-latest-stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,16 @@ jobs:
lightning-version: latest
pennylane-version: stable
secrets: inherit
tests_linux_python:
name: Lightning Compatibility test (tests_linux_python) - latest/stable
uses: ./.github/workflows/tests_linux_python.yml
tests_lqcpu_python:
name: Lightning Compatibility test (tests_lqcpu_python) - latest/stable
uses: ./.github/workflows/tests_lqcpu_python.yml
with:
lightning-version: latest
pennylane-version: stable
secrets: inherit
tests_lkcpu_python:
name: Lightning Compatibility test (tests_lkcpu_python) - latest/stable
uses: ./.github/workflows/tests_lkcpu_python.yml
with:
lightning-version: latest
pennylane-version: stable
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/compat-check-release-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,16 @@ jobs:
lightning-version: release
pennylane-version: release
secrets: inherit
tests_linux_python:
name: Lightning Compatibility test (tests_linux_python) - release/release
uses: ./.github/workflows/tests_linux_python.yml
tests_lqcpu_python:
name: Lightning Compatibility test (tests_lqcpu_python) - release/release
uses: ./.github/workflows/tests_lqcpu_python.yml
with:
lightning-version: release
pennylane-version: release
secrets: inherit
tests_lkcpu_python:
name: Lightning Compatibility test (tests_lkcpu_python) - release/release
uses: ./.github/workflows/tests_lkcpu_python.yml
with:
lightning-version: release
pennylane-version: release
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/compat-check-stable-latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,16 @@ jobs:
lightning-version: stable
pennylane-version: latest
secrets: inherit
tests_linux_python:
name: Lightning Compatibility test (tests_linux_python) - stable/latest
uses: ./.github/workflows/tests_linux_python.yml
tests_lqcpu_python:
name: Lightning Compatibility test (tests_lqcpu_python) - stable/latest
uses: ./.github/workflows/tests_lqcpu_python.yml
with:
lightning-version: stable
pennylane-version: latest
secrets: inherit
tests_lkcpu_python:
name: Lightning Compatibility test (tests_lkcpu_python) - stable/latest
uses: ./.github/workflows/tests_lkcpu_python.yml
with:
lightning-version: stable
pennylane-version: latest
Expand Down
13 changes: 10 additions & 3 deletions .github/workflows/compat-check-stable-stable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,16 @@ jobs:
lightning-version: stable
pennylane-version: stable
secrets: inherit
tests_linux_python:
name: Lightning Compatibility test (tests_linux_python) - stable/stable
uses: ./.github/workflows/tests_linux_python.yml
tests_lqcpu_python:
name: Lightning Compatibility test (tests_lqcpu_python) - stable/stable
uses: ./.github/workflows/tests_lqcpu_python.yml
with:
lightning-version: stable
pennylane-version: stable
secrets: inherit
tests_lkcpu_python:
name: Lightning Compatibility test (tests_lkcpu_python) - stable/stable
uses: ./.github/workflows/tests_lkcpu_python.yml
with:
lightning-version: stable
pennylane-version: stable
Expand Down
28 changes: 16 additions & 12 deletions .github/workflows/dev_version_script.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,18 +95,22 @@ def update_prerelease_version(repo_root_path: Path, version: Version):
# - A prerelease, has `X.Y.Z-prerelease` in _version.py
# - The prerelease startswith `dev`. We do not want to auto bump for non-dev prerelease.
if pr_version.prerelease and pr_version.prerelease.startswith(DEV_PRERELEASE_TAG_PREFIX):
# If master branch does not have a prerelease (for any reason) OR does not have an ending number
# Then default to the starting tag
if not master_version.prerelease or master_version.prerelease == DEV_PRERELEASE_TAG_PREFIX:
next_prerelease_version = DEV_PRERELEASE_TAG_START
# If this is the first prerelease PR, do nothing!
if pr_version.prerelease == DEV_PRERELEASE_TAG_START:
print("PR is dev0 prerelease ... Nothing to do!")
else:
# Generate the next prerelease version (eg: dev1 -> dev2). Sourcing from master version.
next_prerelease_version = master_version.next_version("prerelease").prerelease
new_version = master_version.replace(prerelease=next_prerelease_version)
if pr_version != new_version:
print(f"Updating PR package version from -> '{pr_version}', to -> {new_version}")
update_prerelease_version(args.pr, new_version)
else:
print(f"PR is on the expected version '{new_version}' ... Nothing to do!")
# If master branch does not have a prerelease (for any reason) OR does not have an ending number
# Then default to the starting tag
if not master_version.prerelease or master_version.prerelease == DEV_PRERELEASE_TAG_PREFIX:
next_prerelease_version = DEV_PRERELEASE_TAG_START
else:
# Generate the next prerelease version (eg: dev1 -> dev2). Sourcing from master version.
next_prerelease_version = master_version.next_version("prerelease").prerelease
new_version = master_version.replace(prerelease=next_prerelease_version)
if pr_version != new_version:
print(f"Updating PR package version from -> '{pr_version}', to -> {new_version}")
update_prerelease_version(args.pr, new_version)
else:
print(f"PR is on the expected version '{new_version}' ... Nothing to do!")
else:
print("PR is not a dev prerelease ... Nothing to do!")
37 changes: 1 addition & 36 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ concurrency:
cancel-in-progress: true

jobs:
black:
format-python:
name: Format (Python)
runs-on: ubuntu-22.04
steps:
Expand Down Expand Up @@ -42,38 +42,3 @@ jobs:

- name: Run formatter
run: PATH=$PATH:/home/ubuntu/.local/bin/:$(dirname $(which python3))/ ./bin/format --check ./pennylane_lightning/core/src

tidy-cpp:
strategy:
matrix:
os: [ubuntu-22.04]
pl_backend: ["lightning_qubit"]

name: Tidy (C++)
runs-on: ${{ matrix.os }}

steps:
- name: Checkout PennyLane-Lightning
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Install dependencies
run: sudo apt update && sudo apt -y install cmake gcc-11 g++-11 ninja-build libomp-14-dev && python -m pip install -r requirements-dev.txt
env:
DEBIAN_FRONTEND: noninteractive

- name: Run clang-tidy compilation
run: |
cmake -BBuild -G Ninja . \
-DENABLE_CLANG_TIDY=ON \
-DCLANG_TIDY_BINARY=$(dirname $(which python))/clang-tidy \
-DBUILD_TESTS=ON \
-DENABLE_WARNINGS=ON \
-DPL_BACKEND=${{ matrix.pl_backend }} \
-DCMAKE_CXX_COMPILER="$(which g++-11)" \
-DCMAKE_C_COMPILER="$(which gcc-11)"
cmake --build ./Build
Loading
Loading