Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ARM runners (faster than cross compilation qemu) #1539

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 16 additions & 14 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,13 +30,15 @@ jobs:
build-shared-libs:
strategy:
matrix:
os: [ubuntu-22.04, macos-latest, windows-latest]
os: [ubuntu-22.04, macos-latest, windows-latest, ubuntu-22.04-arm]
arch: [x86_64, aarch64]
exclude:
- os: windows-latest # This probably requires arm64 Windows agents
- os: windows-latest
arch: aarch64
- os: ubuntu-latest # Temporary. Takes too long, not ready yet.
- os: ubuntu-22.04
arch: aarch64
- os: ubuntu-22.04-arm
arch: x86_64
runs-on: ${{ matrix.os }} # One day, we could run them on native agents. Azure supports this now but it's planned only for Q3 2023 for hosted agents
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can probably remove this comment here now :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mmm it is in matrix, so I think that it does all possibilities

steps:
- uses: actions/checkout@v4
Expand All @@ -61,22 +63,20 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
os: [ubuntu-22.04, windows-latest, ubuntu-22.04-arm]
arch: [x86_64, aarch64]
cuda_version:
["11.7.1", "11.8.0", "12.0.1", "12.1.1", "12.2.2", "12.3.2", "12.4.1", "12.5.1", "12.6.3", "12.8.0"]
exclude:
- os: windows-latest # This probably requires arm64 Windows agents
- os: windows-latest
arch: aarch64
- os: ubuntu-latest # Temporary. Takes too long, not ready yet.
- os: ubuntu-22.04
arch: aarch64
- os: ubuntu-22.04-arm
arch: x86_64
runs-on: ${{ matrix.os }} # One day, we could run them on native agents. Azure supports this now but it's planned only for Q3 2023 for hosted agents
steps:
- uses: actions/checkout@v4
# Linux: We use Docker to build cross platform Cuda (aarch64 is built in emulation)
- name: Set up Docker multiarch
if: startsWith(matrix.os, 'ubuntu')
uses: docker/setup-qemu-action@v3
# Windows: We install Cuda on the agent (slow)
- uses: Jimver/cuda-toolkit@v0.2.21
if: startsWith(matrix.os, 'windows')
Expand Down Expand Up @@ -109,17 +109,19 @@ jobs:
- build-shared-libs-cuda
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
os: [ubuntu-22.04, macos-latest, windows-latest, ubuntu-22.04-arm]
# The specific Python version is irrelevant in this context as we are only packaging non-C extension
# code. This ensures compatibility across Python versions, including Python 3.8, as compatibility is
# dictated by the packaged code itself, not the Python version used for packaging.
python-version: ["3.10"]
arch: [x86_64, aarch64]
exclude:
- os: windows-latest # This probably requires arm64 Windows agents
- os: windows-latest
arch: aarch64
- os: ubuntu-latest # Temporary. Takes too long, not ready yet.
- os: ubuntu-22.04
arch: aarch64
- os: ubuntu-22.04-arm
arch: x86_64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -184,7 +186,7 @@ jobs:
- name: Inspect wheels directory after renaming files
run: ls -alFR wheels/
- name: Create release and upload artifacts
uses: softprops/action-gh-release@v2.0.8
uses: softprops/action-gh-release@v2.2.1
with:
files: wheels/*.whl
prerelease: true
Expand Down
Loading