Skip to content

Commit

Permalink
merge master
Browse files Browse the repository at this point in the history
  • Loading branch information
AmintorDusko committed May 6, 2024
2 parents e19134b + cc57f14 commit e084415
Show file tree
Hide file tree
Showing 19 changed files with 1,186 additions and 46 deletions.
16 changes: 5 additions & 11 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

### New features since last release

* Add Python class for the `lightning.tensor` device which uses the new device API and the interface for `quimb` based on the MPS method.
[(#671)](https://github.com/PennyLaneAI/pennylane-lightning/pull/671)

* Add compile-time support for AVX2/512 streaming operations in `lightning.qubit`.
[(#664)](https://github.com/PennyLaneAI/pennylane-lightning/pull/664)

Expand Down Expand Up @@ -43,7 +46,7 @@

* 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)

Expand Down Expand Up @@ -141,20 +144,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)

* Refactor of dev prerelease auto-update-version workflow.
[(#685)](https://github.com/PennyLaneAI/pennylane-lightning/pull/685)

* Remove gates unsupported by catalyst from toml file.
[(#698)](https://github.com/PennyLaneAI/pennylane-lightning/pull/698)

* 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, Thomas Germain, Christina Lee, Erick Ochoa Lopez, Vincent Michaud-Rioux, Rashid N H M, 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
10 changes: 9 additions & 1 deletion .github/workflows/build_and_cache_Kokkos_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ on:
os:
required: true
type: string
runs_on:
description: |
The runner that should run the jobs. If left blank, the value from inputs.os is used.
This is useful if you want the jobs to run in a specific runner group, while not using that group name as part
of the cache key.
required: false
type: string
default: ''
outputs:
exec_model:
description: "The execution model for Kokkos."
Expand Down Expand Up @@ -43,7 +51,7 @@ jobs:
kokkos_version: ${{ fromJson(needs.linux-set-builder-matrix.outputs.kokkos_version) }}
timeout-minutes: 30
name: Kokkos core (${{ matrix.exec_model }})
runs-on: ${{ inputs.os }}
runs-on: ${{ inputs.runs_on || inputs.os }}

steps:
- name: Cache installation directories
Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/determine-workflow-runner.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Determine Workflow Runner group

on:
workflow_call:
inputs:
default_runner:
description: The runner type that is used by the calling workflow by default
required: true
type: string
outputs:
runner_group:
description: The runner all subsequent jobs within the calling workflow should run on
value: ${{ jobs.determine_workflow_runner.outputs.runner_group || inputs.default_runner }}

env:
LARGE_RUNNER_GROUP_NAME: pl-4-core-large-runner

jobs:
determine_workflow_runner:
runs-on: >-
${{
(
github.event_name == 'pull_request'
&& contains(github.event.pull_request.labels.*.name, 'urgent')
) && 'pl-4-core-large-runner' || 'ubuntu-latest'
}}
outputs:
runner_group: ${{ steps.runner_group.outputs.runner_group }}

steps:
- name: Output Runner Group name
if: >-
${{
github.event_name == 'pull_request'
&& contains(github.event.pull_request.labels.*.name, 'urgent')
&& startsWith(inputs.default_runner, 'ubuntu')
}}
id: runner_group
run: echo "runner_group=$LARGE_RUNNER_GROUP_NAME" >> $GITHUB_OUTPUT
5 changes: 1 addition & 4 deletions .github/workflows/tests_lgpu_cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,6 @@ jobs:
strategy:
max-parallel: 1
matrix:
os: [ubuntu-22.04]
pl_backend: ["lightning_gpu"]
cuda_version: ["12"]

steps:
Expand All @@ -62,13 +60,12 @@ jobs:
needs: [builddeps]
strategy:
matrix:
os: [ubuntu-22.04]
pl_backend: ["lightning_gpu"]
cuda_version: ["12"]

name: C++ tests (Lightning-GPU)
runs-on:
- ${{ matrix.os }}
- ubuntu-22.04
- self-hosted
- gpu

Expand Down
5 changes: 1 addition & 4 deletions .github/workflows/tests_lgpu_python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,6 @@ jobs:
strategy:
max-parallel: 1
matrix:
os: [ubuntu-22.04]
pl_backend: ["lightning_gpu"]
cuda_version: ["12"]

steps:
Expand All @@ -61,14 +59,13 @@ jobs:
needs: [builddeps]
strategy:
matrix:
os: [ubuntu-22.04]
pl_backend: ["lightning_gpu"]
default_backend: ["lightning_qubit"]
cuda_version: ["12"]

name: Python tests with LGPU
runs-on:
- ${{ matrix.os }}
- ubuntu-22.04
- self-hosted
- gpu

Expand Down
24 changes: 16 additions & 8 deletions .github/workflows/tests_linux_cpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,21 @@ concurrency:
cancel-in-progress: true

jobs:
determine_runner:
name: Determine runner type to use
uses: ./.github/workflows/determine-workflow-runner.yml
with:
default_runner: ubuntu-22.04

cpptests:
if: ${{ !contains(fromJSON('["schedule", "workflow_dispatch"]'), github.event_name) }}
needs: [determine_runner]
strategy:
matrix:
os: [ubuntu-22.04]
pl_backend: ["lightning_qubit"]
timeout-minutes: 60
name: C++ tests
runs-on: ${{ matrix.os }}
runs-on: ${{ needs.determine_runner.outputs.runner_group }}

steps:
- uses: actions/setup-python@v5
Expand Down Expand Up @@ -123,13 +129,13 @@ jobs:

cpptestswithOpenBLAS:
if: ${{ !contains(fromJSON('["schedule", "workflow_dispatch"]'), github.event_name) }}
needs: [determine_runner]
strategy:
matrix:
os: [ubuntu-22.04]
pl_backend: ["lightning_qubit"]
timeout-minutes: 60
name: C++ tests (OpenBLAS)
runs-on: ${{ matrix.os }}
runs-on: ${{ needs.determine_runner.outputs.runner_group }}

steps:
- uses: actions/setup-python@v5
Expand Down Expand Up @@ -180,13 +186,15 @@ jobs:

build_and_cache_Kokkos:
name: "Build and cache Kokkos"
needs: [determine_runner]
uses: ./.github/workflows/build_and_cache_Kokkos_linux.yml
with:
runs_on: ${{ needs.determine_runner.outputs.runner_group }}
os: ubuntu-22.04

cpptestswithKokkos:
if: ${{ !contains(fromJSON('["schedule", "workflow_dispatch"]'), github.event_name) }}
needs: [build_and_cache_Kokkos]
needs: [build_and_cache_Kokkos, determine_runner]
strategy:
matrix:
os: [ubuntu-22.04]
Expand All @@ -195,7 +203,7 @@ jobs:
kokkos_version: ${{ fromJson(needs.build_and_cache_Kokkos.outputs.kokkos_version) }}
timeout-minutes: 60
name: C++ tests (Kokkos)
runs-on: ${{ matrix.os }}
runs-on: ${{ needs.determine_runner.outputs.runner_group }}

steps:
- uses: actions/setup-python@v5
Expand Down Expand Up @@ -281,15 +289,15 @@ jobs:
cpptestsWithMultipleBackends:
# Device-specific tests are performed for both. Device-agnostic tests default to LightningQubit.
if: ${{ !contains(fromJSON('["schedule", "workflow_dispatch"]'), github.event_name) }}
needs: [build_and_cache_Kokkos]
needs: [build_and_cache_Kokkos, determine_runner]
strategy:
matrix:
os: [ubuntu-22.04]
exec_model: ${{ fromJson(needs.build_and_cache_Kokkos.outputs.exec_model) }}
kokkos_version: ${{ fromJson(needs.build_and_cache_Kokkos.outputs.kokkos_version) }}
timeout-minutes: 60
name: C++ tests (multiple backends)
runs-on: ${{ matrix.os }}
runs-on: ${{ needs.determine_runner.outputs.runner_group }}

steps:
- uses: actions/setup-python@v5
Expand Down
Loading

0 comments on commit e084415

Please sign in to comment.