Skip to content

Commit ad62055

Browse files
authored
chore: replace deprecated windows ci container (PolusAI#283)
1 parent a9dbfdc commit ad62055

File tree

7 files changed

+43
-85
lines changed

7 files changed

+43
-85
lines changed

.github/workflows/build_cuda11_wheels.yml

Lines changed: 9 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ jobs:
88
build_wheels:
99
name: Build wheels on ${{ matrix.os }}
1010
runs-on: ${{ matrix.os }}
11+
continue-on-error: true
1112
strategy:
13+
fail-fast: false
1214
matrix:
13-
os: [windows-2019, ubuntu-22.04]
15+
os: [ubuntu-22.04]
1416
cibw_archs: ["auto64"]
1517
cibw_build: ["cp39", "cp310", "cp311", "cp312"]
1618

@@ -20,26 +22,6 @@ jobs:
2022
with:
2123
submodules: recursive
2224

23-
- uses: ilammy/msvc-dev-cmd@v1
24-
name: Add MSVS Path
25-
26-
- name: Install CUDA
27-
if: runner.os == 'Windows'
28-
env:
29-
cuda: "11.8.0"
30-
visual_studio: "Visual Studio 16 2019"
31-
shell: powershell
32-
run: .\ci-utils\install_cuda_windows.ps1
33-
34-
- name: nvcc check
35-
if: runner.os == 'Windows'
36-
shell: powershell
37-
run: |
38-
nvcc -V
39-
ls $env:CUDA_PATH
40-
ls $env:CUDA_PATH\bin
41-
ls $env:CUDA_PATH\include
42-
4325
- uses: actions/setup-python@v4
4426
name: Install Python
4527
with:
@@ -49,9 +31,10 @@ jobs:
4931
run: |
5032
python -m pip install cibuildwheel==2.16.2 delvewheel wheel
5133
52-
- name: Building wheels
34+
35+
- name: Building wheels on Linux
5336
run: |
54-
python -m cibuildwheel --output-dir dist
37+
python -m cibuildwheel --output-dir dist
5538
env:
5639
CIBW_BUILD: ${{ matrix.cibw_build }}-*
5740
CIBW_SKIP: "*musllinux*"
@@ -65,16 +48,13 @@ jobs:
6548
bash ci-utils/install_prereq_linux.sh --build_arrow yes &&
6649
mkdir -p /tmp/nyxus_bld &&
6750
cp -r local_install /tmp/nyxus_bld
68-
CIBW_BEFORE_ALL_WINDOWS: nvcc -V &&
69-
ci-utils\install_prereq_win.bat &&
70-
xcopy /E /I /y local_install C:\TEMP\nyxus_bld\local_install
7151
CIBW_ENVIRONMENT_LINUX: LD_LIBRARY_PATH="/tmp/nyxus_bld/local_install/lib:/tmp/nyxus_bld/local_install/lib64:/usr/local/cuda/targets/x86_64-linux/lib:$LD_LIBRARY_PATH" CPATH="/usr/local/cuda/targets/x86_64-linux/include:$CPATH" PATH="/usr/local/cuda/bin:$PATH" NYXUS_DEP_DIR="/tmp/nyxus_bld/local_install" CXXFLAGS="-I /usr/local/cuda/include" CMAKE_ARGS="-DUSEGPU=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc -DCMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES=/usr/local/cuda/include" NYXUS_GPU_WHEEL="ON"
72-
CIBW_ENVIRONMENT_WINDOWS: PATH="C:\\TEMP\\nyxus_bld\\local_install\\bin;$PATH" NYXUS_DEP_DIR="C:\\TEMP\\nyxus_bld\\local_install" CMAKE_ARGS="-DUSEGPU=ON" NYXUS_GPU_WHEEL="ON"
7352
CIBW_REPAIR_WHEEL_COMMAND_LINUX: "auditwheel repair --exclude=libcufft.so --exclude=libcufft.so.10 --exclude=libcufft.so.10.4.2.109 --exclude=libcudart.so --exclude=libcudart.so.11.0 --exclude=libcudart.so.11.3.109 -w {dest_dir} {wheel}"
74-
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair -vv -w {dest_dir} {wheel} --no-dll=cufft64_10.dll;cufftw64_10.dll;cudart32_110.dll;cudart64_110.dll"
7553
CIBW_ARCHS: ${{ matrix.cibw_archs }}
7654
CIBW_TEST_REQUIRES: numpy pandas pyarrow pytest bfio
77-
CIBW_BEFORE_TEST_WINDOWS: xcopy /E /I /y "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin" %SystemRoot%\System32
55+
CIBW_BEFORE_TEST_LINUX: >-
56+
pip install "numpy<2.3.1" --only-binary=:all:
57+
CIBW_TEST_REQUIRES_LINUX: pandas pyarrow pytest bfio
7858
CIBW_TEST_COMMAND: python -m pip check
7959

8060
- name: Upload Artifact

.github/workflows/build_cuda12_wheels.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,11 @@ jobs:
88
build_wheels:
99
name: Build wheels on ${{ matrix.os }}
1010
runs-on: ${{ matrix.os }}
11+
continue-on-error: true
1112
strategy:
13+
fail-fast: false
1214
matrix:
13-
os: [windows-2019, ubuntu-22.04]
15+
os: [windows-2022, ubuntu-22.04]
1416
cibw_archs: ["auto64"]
1517
cibw_build: ["cp39", "cp310", "cp311", "cp312"]
1618

@@ -26,8 +28,8 @@ jobs:
2628
- name: Install CUDA
2729
if: runner.os == 'Windows'
2830
env:
29-
cuda: "12.0.0"
30-
visual_studio: "Visual Studio 16 2019"
31+
cuda: "12.4.0"
32+
visual_studio: "Visual Studio 17 2022"
3133
shell: powershell
3234
run: .\ci-utils\install_cuda_windows.ps1
3335

@@ -56,11 +58,8 @@ jobs:
5658
CIBW_BUILD: ${{ matrix.cibw_build }}-*
5759
CIBW_SKIP: "*musllinux*"
5860
CIBW_BUILD_VERBOSITY: 3
59-
CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014
60-
CIBW_BEFORE_ALL_LINUX: sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo &&
61-
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo &&
62-
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo &&
63-
yum install -y llvm libevent-devel openssl-devel &&
61+
CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux_2_28_x86_64:latest
62+
CIBW_BEFORE_ALL_LINUX: dnf -y install llvm libevent-devel openssl-devel &&
6463
bash ci-utils/install_cuda_yum.sh 12 &&
6564
bash ci-utils/install_prereq_linux.sh --build_arrow yes &&
6665
mkdir -p /tmp/nyxus_bld &&
@@ -74,7 +73,7 @@ jobs:
7473
CIBW_REPAIR_WHEEL_COMMAND_LINUX: auditwheel repair --exclude=libcufft.so --exclude=libcufft.so.11 --exclude=libcufft.so.11.0.12.1 --exclude=libcudart.so --exclude=libcudart.so.12 --exclude=libcudart.so.12.3.101 -w {dest_dir} {wheel}
7574
CIBW_ARCHS: ${{ matrix.cibw_archs }}
7675
CIBW_TEST_REQUIRES: numpy pandas pyarrow pytest bfio
77-
CIBW_BEFORE_TEST_WINDOWS: xcopy /E /I /y "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin" %SystemRoot%\System32
76+
CIBW_BEFORE_TEST_WINDOWS: xcopy /E /I /y "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin" %SystemRoot%\System32
7877
CIBW_TEST_COMMAND: python -m pip check
7978

8079
- name: Upload Artifact

.github/workflows/publish_cuda11_pypi.yml

Lines changed: 7 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
runs-on: ${{ matrix.os }}
1313
strategy:
1414
matrix:
15-
os: [windows-2019, ubuntu-22.04]
15+
os: [windows-2022, ubuntu-22.04]
1616
cibw_archs: ["auto64"]
1717
cibw_build: ["cp39-*", "cp310-*", "cp311-*", "cp312-*"]
1818

@@ -22,26 +22,6 @@ jobs:
2222
with:
2323
submodules: recursive
2424

25-
- uses: ilammy/msvc-dev-cmd@v1
26-
name: Add MSVS Path
27-
28-
- name: Install CUDA
29-
if: runner.os == 'Windows'
30-
env:
31-
cuda: "11.8.0"
32-
visual_studio: "Visual Studio 16 2019"
33-
shell: powershell
34-
run: .\ci-utils\install_cuda_windows.ps1
35-
36-
- name: nvcc check
37-
if: runner.os == 'Windows'
38-
shell: powershell
39-
run: |
40-
nvcc -V
41-
ls $env:CUDA_PATH
42-
ls $env:CUDA_PATH\bin
43-
ls $env:CUDA_PATH\include
44-
4525
- uses: actions/setup-python@v4
4626
name: Install Python
4727
with:
@@ -51,9 +31,9 @@ jobs:
5131
run: |
5232
python -m pip install cibuildwheel==2.16.2 delvewheel wheel
5333
54-
- name: Building wheels
34+
- name: Building wheels on Linux
5535
run: |
56-
python -m cibuildwheel --output-dir dist
36+
python -m cibuildwheel --output-dir dist
5737
env:
5838
CIBW_BUILD: ${{ matrix.cibw_build }}
5939
CIBW_SKIP: "*musllinux*"
@@ -67,18 +47,16 @@ jobs:
6747
bash ci-utils/install_prereq_linux.sh --build_arrow yes &&
6848
mkdir -p /tmp/nyxus_bld &&
6949
cp -r local_install /tmp/nyxus_bld
70-
CIBW_BEFORE_ALL_WINDOWS: nvcc -V &&
71-
ci-utils\install_prereq_win.bat &&
72-
xcopy /E /I /y local_install C:\TEMP\nyxus_bld\local_install
7350
CIBW_ENVIRONMENT_LINUX: LD_LIBRARY_PATH="/tmp/nyxus_bld/local_install/lib:/tmp/nyxus_bld/local_install/lib64:/usr/local/cuda/targets/x86_64-linux/lib:$LD_LIBRARY_PATH" CPATH="/usr/local/cuda/targets/x86_64-linux/include:$CPATH" PATH="/usr/local/cuda/bin:$PATH" NYXUS_DEP_DIR="/tmp/nyxus_bld/local_install" CXXFLAGS="-I /usr/local/cuda/include" CMAKE_ARGS="-DUSEGPU=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda/bin/nvcc -DCMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES=/usr/local/cuda/include" NYXUS_GPU_WHEEL="ON"
74-
CIBW_ENVIRONMENT_WINDOWS: PATH="C:\\TEMP\\nyxus_bld\\local_install\\bin;$PATH" NYXUS_DEP_DIR="C:\\TEMP\\nyxus_bld\\local_install" CMAKE_ARGS="-DUSEGPU=ON" NYXUS_GPU_WHEEL="ON"
7551
CIBW_REPAIR_WHEEL_COMMAND_LINUX: "auditwheel repair --exclude=libcufft.so --exclude=libcufft.so.10 --exclude=libcufft.so.10.4.2.109 --exclude=libcudart.so --exclude=libcudart.so.11.0 --exclude=libcudart.so.11.3.109 -w {dest_dir} {wheel}"
76-
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair -vv -w {dest_dir} {wheel} --no-dll=cufft64_10.dll;cufftw64_10.dll;cudart32_110.dll;cudart64_110.dll"
7752
CIBW_ARCHS: ${{ matrix.cibw_archs }}
7853
CIBW_TEST_REQUIRES: numpy pandas pyarrow pytest bfio
79-
CIBW_BEFORE_TEST_WINDOWS: xcopy /E /I /y "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8\bin" %SystemRoot%\System32
54+
CIBW_BEFORE_TEST_LINUX: >-
55+
pip install "numpy<2.3.1" --only-binary=:all:
56+
CIBW_TEST_REQUIRES_LINUX: pandas pyarrow pytest bfio
8057
CIBW_TEST_COMMAND: python -m pip check
8158

59+
8260
- name: Install Dependencies
8361
run: python -m pip install --upgrade twine requests
8462

.github/workflows/publish_cuda12_pypi.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
runs-on: ${{ matrix.os }}
1313
strategy:
1414
matrix:
15-
os: [windows-2019, ubuntu-22.04]
15+
os: [windows-2022, ubuntu-22.04]
1616
cibw_archs: ["auto64"]
1717
cibw_build: ["cp39-*", "cp310-*", "cp311-*", "cp312-*"]
1818

@@ -28,8 +28,8 @@ jobs:
2828
- name: Install CUDA
2929
if: runner.os == 'Windows'
3030
env:
31-
cuda: "12.0.0"
32-
visual_studio: "Visual Studio 16 2019"
31+
cuda: "12.4.0"
32+
visual_studio: "Visual Studio 17 2022"
3333
shell: powershell
3434
run: .\ci-utils\install_cuda_windows.ps1
3535

@@ -58,10 +58,8 @@ jobs:
5858
CIBW_BUILD: ${{ matrix.cibw_build }}
5959
CIBW_SKIP: "*musllinux*"
6060
CIBW_BUILD_VERBOSITY: 3
61-
CIBW_BEFORE_ALL_LINUX: sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo &&
62-
sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo &&
63-
sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo &&
64-
yum install -y llvm libevent-devel openssl-devel &&
61+
CIBW_MANYLINUX_X86_64_IMAGE: quay.io/pypa/manylinux_2_28_x86_64:latest
62+
CIBW_BEFORE_ALL_LINUX: dnf -y install llvm libevent-devel openssl-devel &&
6563
bash ci-utils/install_cuda_yum.sh 12 &&
6664
bash ci-utils/install_prereq_linux.sh --build_arrow yes &&
6765
mkdir -p /tmp/nyxus_bld &&
@@ -75,7 +73,7 @@ jobs:
7573
CIBW_REPAIR_WHEEL_COMMAND_LINUX: auditwheel repair --exclude=libcufft.so --exclude=libcufft.so.11 --exclude=libcufft.so.11.0.12.1 --exclude=libcudart.so --exclude=libcudart.so.12 --exclude=libcudart.so.12.3.101 -w {dest_dir} {wheel}
7674
CIBW_ARCHS: ${{ matrix.cibw_archs }}
7775
CIBW_TEST_REQUIRES: numpy pandas pyarrow pytest bfio
78-
CIBW_BEFORE_TEST_WINDOWS: xcopy /E /I /y "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin" %SystemRoot%\System32
76+
CIBW_BEFORE_TEST_WINDOWS: xcopy /E /I /y "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin" %SystemRoot%\System32
7977
CIBW_TEST_COMMAND: python -m pip check
8078

8179
- name: Install Dependencies

ci-utils/install_cuda_windows.ps1

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,13 @@ $CUDA_KNOWN_URLS = @{
4242
"11.7.0" = "https://developer.download.nvidia.com/compute/cuda/11.7.0/network_installers/cuda_11.7.0_windows_network.exe";
4343
"11.7.1" = "https://developer.download.nvidia.com/compute/cuda/11.7.1/network_installers/cuda_11.7.1_windows_network.exe";
4444
"11.8.0" = "https://developer.download.nvidia.com/compute/cuda/11.8.0/network_installers/cuda_11.8.0_windows_network.exe";
45-
"12.0.0" = "https://developer.download.nvidia.com/compute/cuda/12.0.0/network_installers/cuda_12.0.0_windows_network.exe"
45+
"12.0.0" = "https://developer.download.nvidia.com/compute/cuda/12.0.0/network_installers/cuda_12.0.0_windows_network.exe";
46+
"12.4.0" = "https://developer.download.nvidia.com/compute/cuda/12.4.0/network_installers/cuda_12.4.0_windows_network.exe"
4647
}
4748

4849
# @todo - change this to be based on _MSC_VER intead, or invert it to be CUDA keyed instead
4950
$VISUAL_STUDIO_MIN_CUDA = @{
50-
"2022" = "11.6.0";
51+
"2022" = "11.3.0";
5152
"2019" = "10.1";
5253
"2017" = "10.0"; # Depends on which version of 2017! 9.0 to 10.0 depending on version
5354
"2015" = "8.0"; # Might support older, unsure. Depracated as of 11.1, unsupported in 11.2

ci-utils/install_cuda_yum.sh

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
11
#!/bin/bash
22
# Usage: $bash install_cuda_yum.sh <VERSION>
33

4-
yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo &&
5-
yum clean all &&
6-
yum -y module install nvidia-driver:latest-dkms
7-
84
version=$1
95

106
if [ $version -eq 11 ]; then
7+
yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo
8+
yum clean all
9+
yum -y module install nvidia-driver:latest-dkms
1110
echo "Installing cuda toolkit 11"
1211
yum -y install cuda-11-8
1312
echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc
1413
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
1514
source ~/.bashrc
1615
elif [ $version -eq 12 ]; then
16+
dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
17+
dnf clean all
18+
dnf -y module install nvidia-driver:latest-dkms
19+
dnf -y install cuda-toolkit-12-8
1720
echo "Installing cuda toolkit 12"
18-
yum -y install cuda-12-3
19-
echo 'export PATH=/usr/local/cuda-12.3/bin:$PATH' >> ~/.bashrc
20-
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.3/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
21+
echo 'export PATH=/usr/local/cuda-12.8/bin:$PATH' >> ~/.bashrc
22+
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
2123
source ~/.bashrc
2224
else
2325
echo "Invalid version. Please provide either 11 or 12."

ci-utils/install_prereq_win.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ if "%BUILD_Z5_DEP%" == "1" (
5252
pushd boost_1_79_0
5353
call bootstrap.bat
5454
.\b2 headers --prefix=../local_install
55-
.\b2 install --prefix=../local_install
55+
.\b2 -j %NUMBER_OF_PROCESSORS% variant=release link=shared runtime-link=shared threading=multi install --prefix=../local_install
5656
xcopy /E /I /y boost ..\local_install\include\boost
5757
popd
5858

0 commit comments

Comments
 (0)