Skip to content

Commit 1c281f4

Browse files
AmintorDuskogithub-actions[bot]maliasadirauletorrescringo-but-quantum
authored
Update Linux wheels to use manylinux_2_28 (#667)
* update version * update gcc and containers for linux_x86_64 * trigger CIs * test Engine * try removing podman * try alternative path for docker * y * priviledged container * aarch64 * build wheels * dnf->yum * install dependencies (apt) * update container * update and build ppc64le wheels * update and build x86_64_cuda wheels * update config-manager * add install dnf-utils * Auto update version * update dev version * move dnf-utils * set cuda repository to AlmaLinux * make gcc 12 * Auto update version * trigger ci * upload artifacts * Update .github/workflows/wheel_linux_x86_64.yml Co-authored-by: Ali Asadi <[email protected]> * Update .github/workflows/wheel_linux_x86_64.yml Co-authored-by: Raul Torres <[email protected]> * Auto update version from '0.36.0-dev29' to '0.36.0-dev36' * fix source for linux_x86_64_cuda * Auto update version from '0.36.0-dev37' to '0.36.0-dev36' * Update Changelog * update release candidate version * run agains pennylane rc * update relese cadidate version * Increase tolerance for a flaky test (test_single_return_value) * format * Update `LightningBaseFallBack` to raise an error instead of falling back to default.qubit (#689) * Initial commit. * Update changelog * Auto update version * trigger ci * Unused import. * Auto update version * trigger ci * Fix imports. * Auto update version * Fix LightningException * make format * Auto update version from '0.36.0-dev34' to '0.36.0-dev35' * Auto update version from '0.36.0-dev35' to '0.36.0-dev36' * Auto update version from '0.36.0-dev36' to '0.36.0-dev37' * Make python -m pip install consistent. * Fix ImportError * Auto update version from '0.36.0-dev37' to '0.36.0-dev38' * --force-reinstall * Auto update version from '0.36.0-dev38' to '0.36.0-dev39' * Remove --force-reinstall * Auto update version from '0.36.0-dev39' to '0.36.0-dev40' * Auto update version from '0.36.0-dev42' to '0.36.0-dev43' * Auto update version from '0.36.0-dev43' to '0.36.0-dev44' * Spec CMAKE_CXX_COMPILER * Fix quotes. * Remove quotes * Hardcode g++-11 * use env.COMPILER * which g++ * Revert * Downgrade pip * Pin libomp. * Revert wheel_linux * Upload artifacts. * Comment upload trigger * Install pip==23 * Revert libomp * try testing outside cibuildwheel * yum install devtools * yum install devtools * Do not install python * Revert changes * Don't editable install. * Not edit install * Not edit install * Fix cov path * Explicit mcm tests path * Fix qml.QuantumFunctionError error messages. --------- Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com> Co-authored-by: ringo-but-quantum <[email protected]> Co-authored-by: AmintorDusko <[email protected]> * trigger CIs * Introduce pytest-splits (#696) * Try update lightning CI paths * Auto update version * Update kokkos tests to trigger on changes to pl core * Auto update version * Split tests_linux.yml into cpp/python. * Auto update version from '0.36.0-dev36' to '0.36.0-dev38' * Split GPU tests into cpp/python. * Split MPI-GPU tests into cpp/python. * Fix LGPU triggers. * Remove python tests from LGPU-C++. * Remove upload-to-codecov-linux-cpp from LGPUMPI tests. * Rename test workflows. * Update changelog. * Change group names. * Use paths-ignore to simplify workflow paths * Auto update version from '0.36.0-dev38' to '0.36.0-dev39' * Fix test names. * you may only define one of `paths` and `paths-ignore` for a single event * Fix formatting * Auto update version from '0.36.0-dev39' to '0.36.0-dev40' * Change to paths-ignore in no-bin tests. * Auto update version from '0.36.0-dev40' to '0.36.0-dev41' * trigger ci * Change error message. * Split build/test jobs. * Revert pennylane_lightning/lightning_kokkos/lightning_kokkos.py * Fix setup.py command * Comment workflows * Comment pull_request: * Copy wheels to github.workspace /wheels * SKIP_COMPILATION=True * Revert SKIP_COMPILATION=True * Remove duplicate python actions. * Split LQ-test into 5 groups. * Update requirements-dev.txt * 2 groups * 1 group * 7 groups * Refactor LKokos tests * Auto update version from '0.36.0-dev42' to '0.36.0-dev43' * Fix cache id * Fix needs * Remove all builds * put back CMAKE_PREFIX_PATH * install fake lightning * Fix compat paths * Auto update version from '0.36.0-dev42' to '0.36.0-dev43' * Revert changes. * Update changelog * trigger ci * build_and_cache_Kokkos_linux.yml not concurrent. * Remove C++ tests from compat tests (skipped anyways). * Use ${{ github.ref }}-${{ github.event }}-${{ inputs.lightning-version }}-${{ inputs.pennylane-version }} for concurrency groups. * PL_BACKEND: ${{ matrix.pl_backend }} * Update changelog * Install wheel package. * Auto update version from '0.36.0-dev43' to '0.36.0-dev44' * Install scipy wheel in one place. * Comment job triggers. * Add LK[cpu] est durations. * trigger ci * Use sha independent keys. * trigger ci * build_and_cache_Kokkos * Change LK keys * ls -l * Install version nonce * Do not skip comp. * Trade ref for sha in key * Install after PL * ref ==> sha * Reorder * Try LQ workflows. * Use actions/setup-python * Revert triggers. * Provide correct cov path. * Revert pennylane_lightning/core/src/utils/config.h * LK uses 5 groups. * Restore wheels to main * main/wheels * Revert cache paths * Fix ls -l * fail-on-cache-miss: true * Introduce env.GITHUB_WORKSPACE * Use artifacts * Fix paths * No ls -l * Download to github.workspace * fix wheel name * WHEEL_NAME * Add blas. * Use outputs. * Send wheel name * Fix artifact name * Fix name * Use WHEEL_NAME var * artifacts kokkos * fix wheel name * Restore bins. * Clean up * Split Linux CPU python tests into 2. * Fix compat workflows. * Split format and tidy workflows. * fix lkcpu * fix concurrency group * Do not use editable installs. * Split full kokkos tests except unitary_correct * Upload LK test durations. * duration-paths * Unique test_durations * Unique test_durations * Unique test_durations * Fix path * Update python_lightning_kokkos_test_durations * Remove obsolete all and SERIAL tests. * Update changelog * Creating the `LightningTensor` device class based on the new API (#671) * empty commit (triggering CI) * Auto update version * Definition of the two front-end classes * adding the `lightning_tensor` string to the supported backends in `setup.py` * adding `__init__.py` file to directly import the `lightning_tensor` device class * re-naming file * Auto update version * Creating the first prototype of initial MPS state tensor using `quimb` * providing the `backend`, `method` parameters and making `wires` optional * Changing names and structure * Auto update version * adding method required by the new device API design * Auto update version * using the `kwargs` parameter in `LightningTensor` and `CircuitMPS` in `quimb` * taking some further inputs from the new device API * Perhaps decided the overall structure of `LIghtningTensor` * Auto update version * adding docs to methods * temporary changes so that `pylint` does not complain at this stage * running `isort` * re-running formatter after `isort` * re-running formatter after `isort` * Applying suggested formatting change from CI * adding tmp unit tests * Adding `quimb` in `requirements.txt` * runing `isort` on mps test * removing `quimb` from requirement and deleting unit tests for `lightning.tensor` * Auto update version * re-inserting unit tests with an additional `yml` file * running isort on quimb test * changing name of yml file * preventing error in import * updating yml file * inserting `quimb` package in requirements-dev * strange error with `quimb` * strange error with `quimb` * specifying scipy version * removing installation of scipy from yml file * removing the new `yml` file * testing if tests are tested * Covering all lines in tests * forgot final line for formatter * Python formatter on CI complaints * covering missing lines * formatter on CI complaints * Trying not to skip test if Cpp is enabled * skipping tests if Cpp is enabled * removing the only line not covered by tests so far * Auto update version * Applying suggestions from code review and making the `state` attribute private (new API design) * Python formatter * removing params from `QuimbMPS` * Auto update version * removing `**kwargs` from `QuimbMPS` * removing unnecessary param at this stage * covering test line * formatter... * removing param description * Making `pylint` happy * forgot new arg in test * Updating base class and `preprocess` function * Updating `LightningTensor` class with new names from more advanced PR * Auto update version * Auto update version * Triggering CI * Auto update version * Trying to remove pin from `quimb` in `requirements.dev` * Auto update version * Auto update version * Removing infos on derivatives and using config options to pass parameters to interface * Usual `pylint` failures * Trying to solve formatting errors * typo in docstring * Sunday update: improved docstrings and structure * Removing method that was supposed to be in next PR * removing old TODO comment * Removing changes from the `setup.py` file * restoring previous format to `setup.py` * Auto update version from '0.36.0-dev34' to '0.36.0-dev41' * Auto update version from '0.36.0-dev40' to '0.36.0-dev41' * Removing kwargs as suggested from code review * Addressing comments from CR * Skipping tests if CPP binary is available * Auto update version from '0.36.0-dev42' to '0.36.0-dev43' * Auto update version from '0.36.0-dev43' to '0.36.0-dev44' * Restoring name in changelog (?) * Increasing time limit for Python tests * Applying suggestions from code review --------- Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com> Co-authored-by: ringo-but-quantum <[email protected]> * Increase tolerance for a flaky test (test_single_return_value) (#703) * update dev version * increase tolerance * update changelog * trigger CIs * Auto update version from '0.36.0-dev44' to '0.36.0-dev45' --------- Co-authored-by: ringo-but-quantum <[email protected]> * Auto update version from '0.36.0-dev45' to '0.36.0-dev46' * Remove LTensor stuff * Update changelog * Revert requirements-dev.txt * trigger ci * Update python_lightning_kokkos_test_durations * Restore 'all' tests in tests_lkcuda_python.yml * Fix durations paths. * Try --splitting-algorithm=least_duration * Try no -n auto lkcpu tests * One last test. --------- Co-authored-by: Rashid N H M <[email protected]> Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com> Co-authored-by: ringo-but-quantum <[email protected]> Co-authored-by: Pietropaolo Frisoni <[email protected]> Co-authored-by: Amintor Dusko <[email protected]> * Update changelog (#706) * Use wire order specified on instantiation (#705) * use map wires instead of map_to_standard_wires * oops * Update .github/CHANGELOG.md * black * Trigger CIs * add test * black on tests * Update .github/CHANGELOG.md --------- Co-authored-by: AmintorDusko <[email protected]> Co-authored-by: Ali Asadi <[email protected]> * Update wire order support for probabilities (#707) * Begin expansion of probs tests * Update tests to exhaustively compute probs with wires * Update all tests in LQ Meas to use CHECK instead of REQUIRES for better signal of failures * Add Jet Permuter * Add noisy functionality * Fix permutation ordering * Update changelog * Fix wrong ordering in probs tests * Add recommendation from apache flink to purge azure dirs * Forbid out of order indices for probs with LK and LG in CPP layer * Remove MSFT tools from GH Actions * Just try to remove dotnet * List opt hostedtoolcache * Remove packages from /opt/hostedtoolcache * Fix missing test hit * Forbid and remove broken tests from LK probs ordering * Fix clang-tidy isms * Ensure libopenblas is not broken from failed apt pull with dev * Appease GH Action * Full remove GH action modifier step due to unexplained failures * Add bidreictional wire validation for LGPU CPP layer * Clang-tidy warning fix * Appease CT * Update JET license agreement * Sync version * pacify CodeFactor * make CodeFactor ignore all JET code * trigger ci * trigger ci * build wheels for test * remove Win LKokkos upload-pypi [skip-ci] * [skip ci] * trigger wheels CIs with Release event * update version * fix upload wheels artifact for release * target pennylane master * Version bump CHANGELOG * Auto update version from '' to '0.36.0-dev48' * version bump to dev0 * Auto update version from '0.37.0-dev0' to '0.36.0-dev48' * Update version * Auto update version from '0.37.0-dev0' to '0.36.0-dev48' * Update pennylane_lightning/core/_version.py * update changelog * Update .github/workflows/wheel_linux_aarch64.yml * Update .github/workflows/wheel_linux_ppc64le.yml --------- Co-authored-by: Dev version update bot <github-actions[bot]@users.noreply.github.com> Co-authored-by: Ali Asadi <[email protected]> Co-authored-by: Raul Torres <[email protected]> Co-authored-by: ringo-but-quantum <[email protected]> Co-authored-by: Vincent Michaud-Rioux <[email protected]> Co-authored-by: Rashid N H M <[email protected]> Co-authored-by: Pietropaolo Frisoni <[email protected]> Co-authored-by: Christina Lee <[email protected]> Co-authored-by: Lee James O'Riordan <[email protected]> Co-authored-by: Vincent Michaud-Rioux <[email protected]>
1 parent db01c15 commit 1c281f4

File tree

6 files changed

+53
-46
lines changed

6 files changed

+53
-46
lines changed

.github/CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66

77
### Improvements
88

9+
* Update Linux wheels to use manylinux_2_28 images.
10+
[(#667)](https://github.com/PennyLaneAI/pennylane-lightning/pull/667)
11+
912
### Documentation
1013

1114
### Bug fixes
@@ -14,6 +17,8 @@
1417

1518
This release contains contributions from (in alphabetical order):
1619

20+
Amintor Dusko
21+
1722
---
1823

1924
# Release 0.36.0

.github/workflows/wheel_linux_aarch64.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
arch: [aarch64]
3333
exec_model: ${{ fromJson(needs.set_wheel_build_matrix.outputs.exec_model) }}
3434
kokkos_version: ${{ fromJson(needs.set_wheel_build_matrix.outputs.kokkos_version) }}
35-
container_img: ["quay.io/pypa/manylinux2014_aarch64"]
35+
container_img: ["quay.io/pypa/manylinux_2_28_aarch64"]
3636
timeout-minutes: 45
3737
name: Kokkos core (${{ matrix.exec_model }}::${{ matrix.arch }})
3838
runs-on: ${{ matrix.os }}
@@ -91,7 +91,7 @@ jobs:
9191
cibw_build: ${{ fromJson(needs.set_wheel_build_matrix.outputs.python_version) }}
9292
exec_model: ${{ fromJson(needs.set_wheel_build_matrix.outputs.exec_model) }}
9393
kokkos_version: ${{ fromJson(needs.set_wheel_build_matrix.outputs.kokkos_version) }}
94-
container_img: ["quay.io/pypa/manylinux2014_aarch64"]
94+
container_img: ["quay.io/pypa/manylinux_2_28_aarch64"]
9595
timeout-minutes: 45
9696
name: ${{ matrix.os }}::${{ matrix.arch }} - ${{ matrix.pl_backend }} (Python ${{ fromJson('{ "cp39-*":"3.9","cp310-*":"3.10","cp311-*":"3.11", "cp312-*":"3.12" }')[matrix.cibw_build] }})
9797
runs-on: ${{ matrix.os }}
@@ -135,7 +135,7 @@ jobs:
135135
136136
CIBW_ENVIRONMENT: PL_BACKEND="${{ matrix.pl_backend }}" CMAKE_ARGS="-DENABLE_LAPACK=OFF"
137137

138-
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014
138+
CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_28
139139

140140
CIBW_BUILD_VERBOSITY: 3
141141

.github/workflows/wheel_linux_ppc64le.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
arch: [ppc64le]
3333
exec_model: ${{ fromJson(needs.set_wheel_build_matrix.outputs.exec_model) }}
3434
kokkos_version: ${{ fromJson(needs.set_wheel_build_matrix.outputs.kokkos_version) }}
35-
container_img: ["quay.io/pypa/manylinux2014_ppc64le"]
35+
container_img: ["quay.io/pypa/manylinux_2_28_ppc64le"]
3636
timeout-minutes: 45
3737
name: Kokkos core (${{ matrix.exec_model }}::${{ matrix.arch }})
3838
runs-on: ${{ matrix.os }}
@@ -91,7 +91,7 @@ jobs:
9191
cibw_build: ${{fromJson(needs.set_wheel_build_matrix.outputs.python_version)}}
9292
exec_model: ${{ fromJson(needs.set_wheel_build_matrix.outputs.exec_model) }}
9393
kokkos_version: ${{ fromJson(needs.set_wheel_build_matrix.outputs.kokkos_version) }}
94-
container_img: ["quay.io/pypa/manylinux2014_ppc64le"]
94+
container_img: ["quay.io/pypa/manylinux_2_28_ppc64le"]
9595
timeout-minutes: 45
9696
name: ${{ matrix.os }}::${{ matrix.arch }} - ${{ matrix.pl_backend }} (Python ${{ fromJson('{"cp39-*":"3.9","cp310-*":"3.10","cp311-*":"3.11", "cp312-*":"3.12"}')[matrix.cibw_build] }})
9797
runs-on: ${{ matrix.os }}
@@ -134,7 +134,7 @@ jobs:
134134
135135
CIBW_ENVIRONMENT: PL_BACKEND="${{ matrix.pl_backend }}" CMAKE_ARGS="-DENABLE_LAPACK=OFF"
136136

137-
CIBW_MANYLINUX_PPC64LE_IMAGE: manylinux2014
137+
CIBW_MANYLINUX_PPC64LE_IMAGE: manylinux_2_28
138138

139139
CIBW_BUILD_VERBOSITY: 3
140140

.github/workflows/wheel_linux_x86_64.yml

+22-20
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ name: Wheel::Linux::x86_64
66
# **Who does it impact**: Wheels to be uploaded to PyPI.
77

88
env:
9-
GCC_VERSION: 11
9+
GCC_VERSION: 13
1010

1111
on:
1212
pull_request:
@@ -44,7 +44,7 @@ jobs:
4444
matrix:
4545
exec_model: ${{ fromJson(needs.set_wheel_build_matrix.outputs.exec_model) }}
4646
kokkos_version: ${{ fromJson(needs.set_wheel_build_matrix.outputs.kokkos_version) }}
47-
container_img: ["quay.io/pypa/manylinux2014_x86_64"]
47+
container_img: ["quay.io/pypa/manylinux_2_28_x86_64"]
4848
timeout-minutes: 30
4949
name: Kokkos core (${{ matrix.exec_model }})
5050
runs-on: ${{ needs.determine_runner.outputs.runner_group }}
@@ -62,12 +62,12 @@ jobs:
6262
if: ${{ (matrix.container_img == 'ubuntu-latest') && (steps.kokkos-cache.outputs.cache-hit != 'true') }}
6363
run: |
6464
apt-get update && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get -y -q install cmake gcc-$GCC_VERSION g++-$GCC_VERSION ninja-build git
65-
echo "COMPILER=g++-11" >> $GITHUB_ENV
65+
echo "COMPILER=g++-13" >> $GITHUB_ENV
6666
67-
- name: Install dependencies (CentOS)
68-
if: ${{ (matrix.container_img == 'quay.io/pypa/manylinux2014_x86_64') && (steps.kokkos-cache.outputs.cache-hit != 'true') }}
67+
- name: Install dependencies (AlmaLinux)
68+
if: ${{ (matrix.container_img == 'quay.io/pypa/manylinux_2_28_x86_64') && (steps.kokkos-cache.outputs.cache-hit != 'true') }}
6969
run: |
70-
yum update -y && yum install -y cmake ninja-build
70+
dnf update -y && dnf install -y cmake ninja-build
7171
echo "COMPILER=g++" >> $GITHUB_ENV
7272
7373
- name: Clone Kokkos libs
@@ -104,11 +104,13 @@ jobs:
104104
cibw_build: ${{ fromJson(needs.set_wheel_build_matrix.outputs.python_version) }}
105105
exec_model: ${{ fromJson(needs.set_wheel_build_matrix.outputs.exec_model) }}
106106
kokkos_version: ${{ fromJson(needs.set_wheel_build_matrix.outputs.kokkos_version) }}
107-
container_img: ["quay.io/pypa/manylinux2014_x86_64"]
107+
container_img: ["quay.io/pypa/manylinux_2_28_x86_64"]
108108
timeout-minutes: 30
109109
name: Linux::${{ matrix.arch }} - ${{ matrix.pl_backend }} (Python ${{ fromJson('{ "cp39-*":"3.9","cp310-*":"3.10","cp311-*":"3.11","cp312-*":"3.12" }')[matrix.cibw_build] }})
110110
runs-on: ${{ needs.determine_runner.outputs.runner_group }}
111-
container: ${{ matrix.container_img }}
111+
container:
112+
image: ${{ matrix.container_img }}
113+
options: --privileged
112114

113115
steps:
114116
- name: Restoring cached dependencies
@@ -127,18 +129,18 @@ jobs:
127129
mkdir Kokkos
128130
cp -rf /root/Kokkos_install/${{ matrix.exec_model }}/* Kokkos/
129131
130-
- name: Install dependencies (CentOS)
131-
if: ${{ (matrix.container_img == 'quay.io/pypa/manylinux2014_x86_64') }}
132+
- name: Install dependencies (AlmaLinux)
133+
if: ${{ (matrix.container_img == 'quay.io/pypa/manylinux_2_28_x86_64') }}
132134
run: |
133-
# Reduce wait time for repos not responding
134-
cat /etc/yum.conf | sed "s/\[main\]/\[main\]\ntimeout=5/g" > /etc/yum.conf
135-
yum update -y && yum install -y docker
135+
dnf update -y && dnf install -y podman
136136
137137
- name: Install cibuildwheel
138138
run: python3.9 -m pip install cibuildwheel~=2.16.0
139139

140140
- name: Build wheels
141141
env:
142+
CIBW_CONTAINER_ENGINE: "podman"
143+
142144
CIBW_ARCHS_LINUX: ${{matrix.arch}}
143145

144146
CIBW_BUILD: ${{ matrix.cibw_build }}
@@ -147,15 +149,15 @@ jobs:
147149

148150
# Python build settings
149151
CIBW_BEFORE_BUILD: |
150-
cat /etc/yum.conf | sed "s/\[main\]/\[main\]\ntimeout=5/g" > /etc/yum.conf
152+
cat /etc/dnf.conf | sed "s/\[main\]/\[main\]\ntimeout=5/g" > /etc/dnf.conf
151153
python -m pip install ninja cmake~=3.24.0 scipy
152-
yum clean all -y
153-
yum install centos-release-scl-rh -y
154-
yum install devtoolset-11-gcc-c++ -y
155-
source /opt/rh/devtoolset-11/enable -y
154+
dnf clean all -y
155+
dnf install gcc-toolset-13 -y
156+
source /opt/rh/gcc-toolset-13/enable -y
157+
PATH="/opt/rh/gcc-toolset-13/root/usr/bin:$PATH"
156158
157159
CIBW_ENVIRONMENT: |
158-
PATH="/opt/rh/devtoolset-11/root/usr/bin:$PATH" \
160+
PATH="/opt/rh/gcc-toolset-13/root/usr/bin:$PATH" \
159161
PL_BACKEND="${{ matrix.pl_backend }}"
160162
161163
CIBW_BEFORE_TEST: |
@@ -166,7 +168,7 @@ jobs:
166168
DEVICENAME=`echo ${{ matrix.pl_backend }} | sed "s/_/./g"`
167169
pl-device-test --device=${DEVICENAME} --skip-ops -x --tb=short --no-flaky-report
168170
169-
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
171+
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
170172

171173
CIBW_BUILD_VERBOSITY: 3
172174

.github/workflows/wheel_linux_x86_64_cuda.yml

+19-19
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ name: Wheel::Linux::x86_64::CUDA
66
# **Who does it impact**: Wheels to be uploaded to PyPI.
77

88
env:
9-
GCC_VERSION: "11"
9+
GCC_VERSION: 12
1010

1111
on:
1212
pull_request:
@@ -48,28 +48,30 @@ jobs:
4848
pl_backend: ["lightning_gpu"]
4949
cuda_version: ["12"]
5050
cibw_build: ${{ fromJson(needs.set_wheel_build_matrix.outputs.python_version) }}
51-
container_img: ["quay.io/pypa/manylinux2014_x86_64"]
51+
container_img: ["quay.io/pypa/manylinux_2_28_x86_64"]
5252
timeout-minutes: 30
5353
name: Linux::${{ matrix.arch }} - ${{ matrix.pl_backend }} CUDA ${{ matrix.cuda_version }} (Python ${{ fromJson('{ "cp39-*":"3.9","cp310-*":"3.10","cp311-*":"3.11","cp312-*":"3.12" }')[matrix.cibw_build] }})
5454
runs-on: ${{ needs.determine_runner.outputs.runner_group }}
55-
container: ${{ matrix.container_img }}
55+
container:
56+
image: ${{ matrix.container_img }}
57+
options: --privileged
5658

5759
steps:
5860
- name: Checkout PennyLane-Lightning
5961
uses: actions/checkout@v3
6062

61-
- name: Install dependencies (CentOS)
62-
if: ${{ (matrix.container_img == 'quay.io/pypa/manylinux2014_x86_64') }}
63+
- name: Install dependencies (AlmaLinux)
64+
if: ${{ (matrix.container_img == 'quay.io/pypa/manylinux_2_28_x86_64') }}
6365
run: |
64-
# Reduce wait time for repos not responding
65-
cat /etc/yum.conf | sed "s/\[main\]/\[main\]\ntimeout=5/g" > /etc/yum.conf
66-
yum update -y && yum install -y docker
66+
dnf update -y && dnf install -y podman
6767
6868
- name: Install cibuildwheel
6969
run: python3.9 -m pip install cibuildwheel~=2.16.0
7070

7171
- name: Build wheels
7272
env:
73+
CIBW_CONTAINER_ENGINE: "podman"
74+
7375
CIBW_ARCHS_LINUX: ${{ matrix.arch }}
7476

7577
CIBW_BUILD: ${{ matrix.cibw_build }}
@@ -80,25 +82,23 @@ jobs:
8082

8183
# Python build settings
8284
CIBW_BEFORE_BUILD: |
83-
cat /etc/yum.conf | sed "s/\[main\]/\[main\]\ntimeout=5/g" > /etc/yum.conf
8485
python -m pip install ninja cmake~=3.24.3 auditwheel~=5.0 custatevec-cu${{ matrix.cuda_version }} scipy
85-
yum clean all -y
86-
yum install centos-release-scl-rh -y
87-
yum install devtoolset-11-gcc-c++ -y
88-
source /opt/rh/devtoolset-11/enable -y
89-
yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo -y
90-
yum -y install cuda-${{ matrix.cuda_version }}-0 git openssh wget
86+
dnf clean all -y
87+
dnf install gcc-toolset-12 dnf-utils -y
88+
source /opt/rh/gcc-toolset-12/enable -y
89+
yum-config-manager --add-repo http://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo -y
90+
dnf -y install cuda-${{ matrix.cuda_version }}-0 git openssh wget
9191
9292
# ensure nvcc is available
9393
CIBW_ENVIRONMENT: |
94-
PATH=/opt/rh/devtoolset-11/root/usr/bin:$PATH:/usr/local/cuda-${{ matrix.cuda_version }}/bin \
95-
LD_LIBRARY_PATH=/opt/rh/devtoolset-11/root/usr/lib64:/opt/rh/devtoolset-11/root/usr/lib:/opt/rh/devtoolset-11/root/usr/lib64/dyninst:/opt/rh/devtoolset-11/root/usr/lib/dyninst:$LD_LIBRARY_PATH:/usr/local/cuda-${{ matrix.cuda_version }}/lib64 \
94+
PATH=/opt/rh/gcc-toolset-12/root/usr/bin:$PATH:/usr/local/cuda-${{ matrix.cuda_version }}/bin \
95+
LD_LIBRARY_PATH=/opt/rh/gcc-toolset-12/root/usr/lib64:/opt/rh/gcc-toolset-12/root/usr/lib:/opt/rh/gcc-toolset-12/root/usr/lib64/dyninst:/opt/rh/gcc-toolset-12/root/usr/lib/dyninst:$LD_LIBRARY_PATH:/usr/local/cuda-${{ matrix.cuda_version }}/lib64 \
9696
PL_BACKEND="${{ matrix.pl_backend }}" \
97-
PKG_CONFIG_PATH=/opt/rh/devtoolset-11/root/usr/lib64/pkgconfig:$PKG_CONFIG_PATH
97+
PKG_CONFIG_PATH=/opt/rh/gcc-toolset-12/root/usr/lib64/pkgconfig:$PKG_CONFIG_PATH
9898
9999
CIBW_REPAIR_WHEEL_COMMAND_LINUX: "./bin/auditwheel repair -w {dest_dir} {wheel}"
100100

101-
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
101+
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
102102

103103
CIBW_BUILD_VERBOSITY: 3
104104

pennylane_lightning/core/_version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@
1616
Version number (major.minor.patch[-label])
1717
"""
1818

19-
__version__ = "0.37.0-dev0"
19+
__version__ = "0.37.0-dev1"

0 commit comments

Comments
 (0)