Fix SM90 indexed A16 large-M scheduling #140
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 Wheels | |
| on: | |
| push: | |
| pull_request: | |
| workflow_dispatch: | |
| workflow_call: | |
| permissions: | |
| contents: read | |
| jobs: | |
| wheel: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - runner: ubuntu-24.04 | |
| arch: x86_64 | |
| image: quay.io/pypa/manylinux_2_28_x86_64 | |
| - runner: ubuntu-24.04-arm | |
| arch: aarch64 | |
| image: quay.io/pypa/manylinux_2_28_aarch64 | |
| runs-on: ${{ matrix.runner }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Build Stable Torch ABI wheel | |
| run: | | |
| docker run --rm \ | |
| -v "$PWD:/project" \ | |
| -w /project \ | |
| "${{ matrix.image }}" \ | |
| bash -euxo pipefail -c ' | |
| PYTHON=/opt/python/cp310-cp310/bin/python | |
| export PIP_ROOT_USER_ACTION=ignore | |
| "$PYTHON" -m pip install --upgrade pip build wheel setuptools_scm | |
| "$PYTHON" -m pip install \ | |
| torch==2.11.0 \ | |
| nvidia-cuda-runtime-cu12 \ | |
| nvidia-cuda-nvrtc-cu12 \ | |
| --index-url https://download.pytorch.org/whl/cu126 \ | |
| --extra-index-url https://pypi.org/simple | |
| "$PYTHON" -m pip install . | |
| "$PYTHON" tools/build_native.py | |
| "$PYTHON" -m build --wheel --no-isolation | |
| "$PYTHON" -m wheel tags --remove \ | |
| --python-tag py3 \ | |
| --abi-tag none \ | |
| --platform-tag manylinux_2_28_${{ matrix.arch }} \ | |
| dist/*.whl | |
| ' | |
| - name: Inspect wheel | |
| run: | | |
| python3 - <<'PY' | |
| import glob | |
| import zipfile | |
| wheels = glob.glob("dist/*.whl") | |
| assert len(wheels) == 1, wheels | |
| expected = { | |
| "humming/_native/${{ matrix.arch }}/libhumming_launcher.so", | |
| "humming/_native/${{ matrix.arch }}/libcubinpatch.so", | |
| "humming/_native/${{ matrix.arch }}/manifest.json", | |
| "humming/_native/${{ matrix.arch }}/nvrtc_compile", | |
| } | |
| with zipfile.ZipFile(wheels[0]) as wheel: | |
| native_files = {name for name in wheel.namelist() if "/_native/" in name} | |
| assert native_files == expected, native_files | |
| PY | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: humming-kernels-wheel-${{ matrix.arch }} | |
| path: dist/*.whl | |
| if-no-files-found: error | |
| retention-days: 90 | |
| sdist: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.10" | |
| - run: python -m pip install --upgrade pip build | |
| - run: python -m build --sdist | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: humming-kernels-sdist | |
| path: dist/*.tar.gz | |
| if-no-files-found: error | |
| retention-days: 90 |