Force lib name to libdeepwave_C on Windows, pre-install CPU-only PyTo… #97
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and test | |
| on: [push, pull_request] | |
| jobs: | |
| build_wheels: | |
| name: Build wheels on ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [windows-2022] | |
| #os: [ubuntu-latest, windows-2022, macos-13, macos-14] | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Build wheels | |
| uses: pypa/cibuildwheel@v3.1.4 | |
| env: | |
| # For Linux, install CUDA in the container. Note that manylinux2014 | |
| # is specified in pyproject.toml | |
| CIBW_BEFORE_ALL_LINUX: | | |
| yum-config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-rhel7.repo | |
| yum install -y cuda-nvcc-11-8 cuda-cudart-devel-11-8 | |
| export PATH=$PATH:/usr/local/cuda-11.8/bin | |
| export CUDA_PATH=/usr/local/cuda-11.8/bin | |
| export CUDA_HOME=/usr/local/cuda-11.8 | |
| export CUDA_ROOT=/usr/local/cuda-11.8 | |
| export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64 | |
| export CUDACXX=/usr/local/cuda-11.8/bin/nvcc | |
| CIBW_ENVIRONMENT_LINUX: PATH="$PATH:/usr/local/cuda-11.8/bin" CUDA_PATH="/usr/local/cuda-11.8/bin" CUDA_HOME="/usr/local/cuda-11.8" CUDA_ROOT="/usr/local/cuda-11.8" LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda-11.8/lib64" CUDACXX="/usr/local/cuda-11.8/bin/nvcc" | |
| # For Windows, install CUDA | |
| CIBW_BEFORE_ALL_WINDOWS: | | |
| cd src/deepwave | |
| nuget install intelopenmp.devel.win -DirectDownload -NonInteractive | |
| nuget install intelopenmp.redist.win -DirectDownload -NonInteractive | |
| cp intelopenmp.devel.win*/build/native/win-x64/libiomp5md.lib . | |
| cp intelopenmp.redist.win*/runtimes/win-x64/native/libiomp5md.dll . | |
| echo "dir lib" | |
| dir libiomp5md.lib | |
| echo "dir dll" | |
| dir libiomp5md.dll | |
| echo "dir" | |
| dir | |
| curl https://developer.download.nvidia.com/compute/cuda/12.4.0/network_installers/cuda_12.4.0_windows_network.exe -o cuda_12.4.0_windows_network.exe | |
| chmod +x ./cuda_12.4.0_windows_network.exe | |
| ./cuda_12.4.0_windows_network.exe -s nvcc_12.4 cudart_12.4 | |
| echo "CUDA_PATH=C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4" >> $GITHUB_ENV | |
| echo "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4\\bin" >> $GITHUB_PATH | |
| CIBW_ENVIRONMENT_WINDOWS: PATH="$PATH:C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4\\bin" CUDA_PATH="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4" CUDA_HOME="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4" CUDACXX="C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4\\bin\\nvcc" | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| path: ./wheelhouse/*.whl | |
| # build_sdist: | |
| # name: Build source distribution | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - uses: actions/checkout@v5 | |
| # | |
| # - name: Build sdist | |
| # run: pipx run build --sdist | |
| # | |
| # - uses: actions/upload-artifact@v4 | |
| # with: | |
| # path: dist/*.tar.gz |