Skip to content

Commit

Permalink
Merge branch 'master' into v0.33.0_rc
Browse files Browse the repository at this point in the history
  • Loading branch information
multiphaseCFD committed Oct 30, 2023
2 parents 4d9a5d5 + c4afbd0 commit 1ba42f9
Show file tree
Hide file tree
Showing 12 changed files with 213 additions and 17 deletions.
33 changes: 33 additions & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,33 @@
# Release 0.34.0-dev

### New features since last release

### Breaking changes

### Improvements

* Add more MPI synchronization for safter MPI calls.
[(#530)](https://github.com/PennyLaneAI/pennylane-lightning/pull/530)

* Add GPU workflows in compatibility cron jobs to test Lightning-GPU and Lightning-Kokkos with the Kokkos CUDA backend.
[(#528)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/528)

* Add release option in compatibility cron jobs to test the release candidates of PennyLane and the Lightning plugins against one another.
[(#531)] (https://github.com/PennyLaneAI/pennylane-lightning/pull/531)

### Documentation

### Bug fixes

* Fix MPI python unit tests for adjoint method.
[(#530)](https://github.com/PennyLaneAI/pennylane-lightning/pull/530)

### Contributors

This release contains contributions from (in alphabetical order):

Vincent Michaud-Rioux, Shuli Shu

# Release 0.33.0

### New features since last release
Expand Down Expand Up @@ -89,6 +119,9 @@

### Bug fixes

* Fix CI issues running py-cov with MPI.
[(#535)](https://github.com/PennyLaneAI/pennylane-lightning/pull/535)

* Re-add support for `pip install pennylane-lightning[gpu]`.
[(#515)](https://github.com/PennyLaneAI/pennylane-lightning/pull/515)

Expand Down
32 changes: 32 additions & 0 deletions .github/workflows/compat-check-release-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Compat Check w/PL - release/release

on:
schedule:
- cron: "0 4 * * 1-5" # Run daily at 0am Mon-Fri
workflow_dispatch:

jobs:
tests_linux:
name: Lightning Compatibility test (tests_linux) - release/release
uses: ./.github/workflows/tests_linux.yml
with:
lightning-version: release
pennylane-version: release
tests_lkokkos_gpu:
name: Lightning Compatibility test (tests_lkokkos_gpu) - release/release
uses: ./.github/workflows/tests_gpu_kokkos.yml
with:
lightning-version: release
pennylane-version: release
tests_lgpu_gpu:
name: Lightning Compatibility test (tests_lgpu_gpu) - release/release
uses: ./.github/workflows/tests_gpu_cu11.yml
with:
lightning-version: release
pennylane-version: release
tests_without_binary:
name: Lightning Compatibility test (tests_without_binary) - release/release
uses: ./.github/workflows/tests_without_binary.yml
with:
lightning-version: release
pennylane-version: release
28 changes: 24 additions & 4 deletions .github/workflows/tests_gpu_cu11.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ on:
lightning-version:
type: string
required: true
description: The version of lightning to use. Valid values are either 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
description: The version of Lightning to use. Valid values are either 'release' (most recent release candidate), 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
pennylane-version:
type: string
required: true
description: The version of PennyLane to use. Valid values are either 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
description: The version of PennyLane to use. Valid values are either 'release' (most recent release candidate), 'stable' (most recent git-tag) or 'latest' (most recent commit from master)

env:
CI_CUDA_ARCH: 86
Expand Down Expand Up @@ -182,14 +182,19 @@ jobs:
fetch-tags: true
path: main

- name: Switch to release build of Lightning
if: inputs.lightning-version == 'release'
run: |
cd main
git fetch --all
git checkout $(git branch -a --list "origin/v*rc*" | tail -1)
- name: Switch to stable build of Lightning
if: inputs.lightning-version == 'stable'
run: |
cd main
git fetch --tags --force
git checkout $(git tag | sort -V | tail -1)
git log -1 --format='%H'
git status
- uses: actions/setup-python@v4
name: Install Python
Expand Down Expand Up @@ -232,6 +237,21 @@ jobs:
python -m pip install -r requirements-dev.txt
python -m pip install cmake custatevec-cu11 openfermionpyscf
- name: Checkout PennyLane for release build
if: inputs.pennylane-version == 'release'
uses: actions/checkout@v3
with:
path: pennylane
repository: PennyLaneAI/pennylane

- name: Switch to release build of PennyLane
if: inputs.pennylane-version == 'release'
run: |
cd pennylane
git fetch --all
git checkout $(git branch -a --list "origin/v*rc*" | tail -1)
python -m pip uninstall -y pennylane && python -m pip install . -vv --no-deps
- name: Install Stable PennyLane
if: inputs.pennylane-version == 'stable'
run: |
Expand Down
26 changes: 24 additions & 2 deletions .github/workflows/tests_gpu_kokkos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ on:
lightning-version:
type: string
required: true
description: The version of lightning to use. Valid values are either 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
description: The version of Lightning to use. Valid values are either 'release' (most recent release candidate), 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
pennylane-version:
type: string
required: true
description: The version of PennyLane to use. Valid values are either 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
description: The version of PennyLane to use. Valid values are either 'release' (most recent release candidate), 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
pull_request:
push:
branches:
Expand Down Expand Up @@ -236,6 +236,13 @@ jobs:
path: main
fetch-tags: true

- name: Switch to release build of Lightning
if: inputs.lightning-version == 'release'
run: |
cd main
git fetch --all
git checkout $(git branch -a --list "origin/v*rc*" | tail -1)
- name: Switch to stable build of Lightning
if: inputs.lightning-version == 'stable'
run: |
Expand All @@ -259,6 +266,21 @@ jobs:
python -m pip install -r requirements-dev.txt
python -m pip install openfermionpyscf
- name: Checkout PennyLane for release build
if: inputs.pennylane-version == 'release'
uses: actions/checkout@v3
with:
path: pennylane
repository: PennyLaneAI/pennylane

- name: Switch to release build of PennyLane
if: inputs.pennylane-version == 'release'
run: |
cd pennylane
git fetch --all
git checkout $(git branch -a --list "origin/v*rc*" | tail -1)
python -m pip uninstall -y pennylane && python -m pip install . -vv --no-deps
- name: Install Stable PennyLane
if: inputs.pennylane-version == 'stable'
run: |
Expand Down
72 changes: 69 additions & 3 deletions .github/workflows/tests_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ on:
lightning-version:
type: string
required: true
description: The version of lightning to use. Valid values are either 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
description: The version of Lightning to use. Valid values are either 'release' (most recent release candidate), 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
pennylane-version:
type: string
required: true
description: The version of PennyLane to use. Valid values are either 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
description: The version of PennyLane to use. Valid values are either 'release' (most recent release candidate), 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
pull_request:
push:
branches:
Expand Down Expand Up @@ -97,6 +97,13 @@ jobs:
fetch-tags: true
path: main

- name: Switch to release build of Lightning
if: inputs.lightning-version == 'release'
run: |
cd main
git fetch --all
git checkout $(git branch -a --list "origin/v*rc*" | tail -1)
- name: Switch to stable build of Lightning
if: inputs.lightning-version == 'stable'
run: |
Expand All @@ -120,6 +127,21 @@ jobs:
python -m pip install -r requirements-dev.txt
python -m pip install openfermionpyscf
- name: Checkout PennyLane for release build
if: inputs.pennylane-version == 'release'
uses: actions/checkout@v3
with:
path: pennylane
repository: PennyLaneAI/pennylane

- name: Switch to release build of PennyLane
if: inputs.pennylane-version == 'release'
run: |
cd pennylane
git fetch --all
git checkout $(git branch -a --list "origin/v*rc*" | tail -1)
python -m pip uninstall -y pennylane && python -m pip install . -vv --no-deps
- name: Install Stable PennyLane
if: inputs.pennylane-version == 'stable'
run: |
Expand Down Expand Up @@ -224,6 +246,13 @@ jobs:
fetch-tags: true
path: main

- name: Switch to release build of Lightning
if: inputs.lightning-version == 'release'
run: |
cd main
git fetch --all
git checkout $(git branch -a --list "origin/v*rc*" | tail -1)
- name: Switch to stable build of Lightning
if: inputs.lightning-version == 'stable'
run: |
Expand All @@ -247,6 +276,21 @@ jobs:
python -m pip install -r requirements-dev.txt
python -m pip install openfermionpyscf
- name: Checkout PennyLane for release build
if: inputs.pennylane-version == 'release'
uses: actions/checkout@v3
with:
path: pennylane
repository: PennyLaneAI/pennylane

- name: Switch to release build of PennyLane
if: inputs.pennylane-version == 'release'
run: |
cd pennylane
git fetch --all
git checkout $(git branch -a --list "origin/v*rc*" | tail -1)
python -m pip uninstall -y pennylane && python -m pip install . -vv --no-deps
- name: Install Stable PennyLane
if: inputs.pennylane-version == 'stable'
run: |
Expand Down Expand Up @@ -280,7 +324,7 @@ jobs:
name: ubuntu-codecov-results-python
path: ./main/coverage-${{ github.job }}-${{ matrix.pl_backend }}.xml

build_and_cache_Kokkos:
build_and_cache_Kokkos:
name: "Build and cache Kokkos"
uses: ./.github/workflows/build_and_cache_Kokkos_linux.yml
with:
Expand Down Expand Up @@ -380,6 +424,13 @@ jobs:
fetch-tags: true
path: main

- name: Switch to release build of Lightning
if: inputs.lightning-version == 'release'
run: |
cd main
git fetch --all
git checkout $(git branch -a --list "origin/v*rc*" | tail -1)
- name: Switch to stable build of Lightning
if: inputs.lightning-version == 'stable'
run: |
Expand Down Expand Up @@ -418,6 +469,21 @@ jobs:
python -m pip install -r requirements-dev.txt
python -m pip install openfermionpyscf
- name: Checkout PennyLane for release build
if: inputs.pennylane-version == 'release'
uses: actions/checkout@v3
with:
path: pennylane
repository: PennyLaneAI/pennylane

- name: Switch to release build of PennyLane
if: inputs.pennylane-version == 'release'
run: |
cd pennylane
git fetch --all
git checkout $(git branch -a --list "origin/v*rc*" | tail -1)
python -m pip uninstall -y pennylane && python -m pip install . -vv --no-deps
- name: Install Stable PennyLane
if: inputs.pennylane-version == 'stable'
run: |
Expand Down
27 changes: 25 additions & 2 deletions .github/workflows/tests_without_binary.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ on:
lightning-version:
type: string
required: true
description: The version of lightning to use. Valid values are either 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
description: The version of Lightning to use. Valid values are either 'release' (most recent release candidate), 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
pennylane-version:
type: string
required: true
description: The version of PennyLane to use. Valid values are either 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
description: The version of PennyLane to use. Valid values are either 'release' (most recent release candidate), 'stable' (most recent git-tag) or 'latest' (most recent commit from master)
pull_request:
push:
branches:
Expand Down Expand Up @@ -40,6 +40,13 @@ jobs:
fetch-tags: true
path: main

- name: Switch to release build of Lightning
if: inputs.lightning-version == 'release'
run: |
cd main
git fetch --all
git checkout $(git branch -a --list "origin/v*rc*" | tail -1)
- name: Switch to stable build of Lightning
if: inputs.lightning-version == 'stable'
run: |
Expand All @@ -56,9 +63,25 @@ jobs:

- name: Get required Python packages
run: |
rm -fr $(python -m pip cache dir)/selfcheck/
cd main
python -m pip install -r requirements-dev.txt
- name: Checkout PennyLane for release build
if: inputs.pennylane-version == 'release'
uses: actions/checkout@v3
with:
path: pennylane
repository: PennyLaneAI/pennylane

- name: Switch to release build of PennyLane
if: inputs.pennylane-version == 'release'
run: |
cd pennylane
git fetch --all
git checkout $(git branch -a --list "origin/v*rc*" | tail -1)
python -m pip uninstall -y pennylane && python -m pip install . -vv --no-deps
- name: Install Stable PennyLane
if: inputs.pennylane-version == 'stable'
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/wheel_linux_aarch64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ jobs:
CIBW_TEST_REQUIRES: pytest pytest-cov pytest-mock flaky

CIBW_BEFORE_TEST: |
python -m pip install git+https://github.com/PennyLaneAI/pennylane.git@v0.33.0-rc0
python -m pip install pytest-benchmark git+https://github.com/PennyLaneAI/pennylane.git@master
if ${{ matrix.pl_backend == 'lightning_kokkos'}}; then SKIP_COMPILATION=True PL_BACKEND="lightning_qubit" pip install -e . -vv; fi
CIBW_TEST_COMMAND: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/wheel_linux_x86_64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ jobs:
CIBW_TEST_REQUIRES: pytest pytest-cov pytest-mock flaky

CIBW_BEFORE_TEST: |
python -m pip install git+https://github.com/PennyLaneAI/pennylane.git@v0.33.0-rc0
python -m pip install pytest-benchmark git+https://github.com/PennyLaneAI/pennylane.git@master
if ${{ matrix.pl_backend == 'lightning_kokkos'}}; then SKIP_COMPILATION=True PL_BACKEND="lightning_qubit" pip install -e . -vv; fi
CIBW_TEST_COMMAND: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/wheel_macos_arm64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ jobs:
CIBW_TEST_REQUIRES: pytest pytest-cov pytest-mock flaky

CIBW_BEFORE_TEST: |
python -m pip install git+https://github.com/PennyLaneAI/pennylane.git@v0.33.0-rc0
python -m pip install pytest-benchmark git+https://github.com/PennyLaneAI/pennylane.git@master
if ${{ matrix.pl_backend == 'lightning_kokkos'}}; then SKIP_COMPILATION=True PL_BACKEND="lightning_qubit" pip install -e . -vv; fi
CIBW_TEST_COMMAND: |
Expand Down
Loading

0 comments on commit 1ba42f9

Please sign in to comment.