From 551482207d3f60bc908653963e58dc4ba272071f Mon Sep 17 00:00:00 2001 From: atalman Date: Mon, 30 May 2022 08:17:38 -0700 Subject: [PATCH 1/8] Adding m1 builds to torchaudio --- .github/workflows/build-m1-binaries.yml | 48 +++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/build-m1-binaries.yml diff --git a/.github/workflows/build-m1-binaries.yml b/.github/workflows/build-m1-binaries.yml new file mode 100644 index 0000000000..0c1c0ca365 --- /dev/null +++ b/.github/workflows/build-m1-binaries.yml @@ -0,0 +1,48 @@ +name: Build on M1 +on: + pull_request: + paths: + - .github/workflows/build-m1-binaries.yml + push: + branches: + - nightly + workflow_dispatch: +jobs: + build_wheels: + name: "Build TorchAudio M1 wheels" + runs-on: macos-m1-11 + strategy: + matrix: + py_vers: [ "3.8", "3.9", "3.10" ] + steps: + - name: Checkout repository + uses: actions/checkout@v2 + - name: Build TorchAudio M1 wheel + shell: arch -arch arm64 bash {0} + env: + ENV_NAME: conda-env-${{ github.run_id }} + PY_VERS: ${{ matrix.py_vers }} + run: | + echo $PATH + . ~/miniconda3/etc/profile.d/conda.sh + set -ex + conda create -yp ${ENV_NAME} python=${PY_VERS} numpy libpng openjpeg wheel pkg-config + conda run -p ${ENV_NAME} python3 -mpip install torch --extra-index-url=https://download.pytorch.org/whl/nightly torch + conda run -p ${ENV_NAME} python3 -mpip install delocate + conda run -p ${ENV_NAME} python3 setup.py bdist_wheel + conda env remove -p ${ENV_NAME} + - name: Upload wheel to GitHub + uses: actions/upload-artifact@v3 + with: + name: torchaudio-py${{ matrix.py_vers }}-macos11-m1 + path: dist/ + - name: Upload wheel to S3 + shell: arch -arch arm64 bash {0} + env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_PYTORCH_UPLOADER_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_PYTORCH_UPLOADER_SECRET_ACCESS_KEY }} + CHANNEL: nightly + run: | + for pkg in dist/*; do + aws s3 cp "$pkg" "s3://pytorch/whl/${CHANNEL}/cpu/" --acl public-read + done From bf09fb63a4e0d7a3e18f8d3e4ae6506a76a40606 Mon Sep 17 00:00:00 2001 From: atalman Date: Mon, 30 May 2022 08:48:07 -0700 Subject: [PATCH 2/8] Testing --- .github/workflows/build-m1-binaries.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-m1-binaries.yml b/.github/workflows/build-m1-binaries.yml index 0c1c0ca365..9d1871254b 100644 --- a/.github/workflows/build-m1-binaries.yml +++ b/.github/workflows/build-m1-binaries.yml @@ -10,7 +10,7 @@ on: jobs: build_wheels: name: "Build TorchAudio M1 wheels" - runs-on: macos-m1-11 + runs-on: macos-m1 strategy: matrix: py_vers: [ "3.8", "3.9", "3.10" ] From 3053f191069d2356076d6bc3be2899410e8a03b0 Mon Sep 17 00:00:00 2001 From: atalman Date: Mon, 30 May 2022 13:16:09 -0700 Subject: [PATCH 3/8] Add cmake --- .github/workflows/build-m1-binaries.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-m1-binaries.yml b/.github/workflows/build-m1-binaries.yml index 9d1871254b..c3f7632868 100644 --- a/.github/workflows/build-m1-binaries.yml +++ b/.github/workflows/build-m1-binaries.yml @@ -26,6 +26,7 @@ jobs: echo $PATH . ~/miniconda3/etc/profile.d/conda.sh set -ex + pip --quiet install cmake ninja conda create -yp ${ENV_NAME} python=${PY_VERS} numpy libpng openjpeg wheel pkg-config conda run -p ${ENV_NAME} python3 -mpip install torch --extra-index-url=https://download.pytorch.org/whl/nightly torch conda run -p ${ENV_NAME} python3 -mpip install delocate From ab9a8fb8242679741c56be4d22d29cfc8dccde9c Mon Sep 17 00:00:00 2001 From: atalman Date: Mon, 30 May 2022 13:35:11 -0700 Subject: [PATCH 4/8] Adding test steps --- .github/workflows/build-m1-binaries.yml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-m1-binaries.yml b/.github/workflows/build-m1-binaries.yml index c3f7632868..662039f3bb 100644 --- a/.github/workflows/build-m1-binaries.yml +++ b/.github/workflows/build-m1-binaries.yml @@ -10,7 +10,7 @@ on: jobs: build_wheels: name: "Build TorchAudio M1 wheels" - runs-on: macos-m1 + runs-on: macos-m1-11 strategy: matrix: py_vers: [ "3.8", "3.9", "3.10" ] @@ -28,9 +28,25 @@ jobs: set -ex pip --quiet install cmake ninja conda create -yp ${ENV_NAME} python=${PY_VERS} numpy libpng openjpeg wheel pkg-config - conda run -p ${ENV_NAME} python3 -mpip install torch --extra-index-url=https://download.pytorch.org/whl/nightly torch + conda run -p ${ENV_NAME} python3 -mpip install torch --extra-index-url=https://download.pytorch.org/whl/nightly conda run -p ${ENV_NAME} python3 -mpip install delocate conda run -p ${ENV_NAME} python3 setup.py bdist_wheel + conda run -p ${ENV_NAME} delocate-wheel -v --ignore-missing-dependencies dist/${WHL_NAME} + conda env remove -p ${ENV_NAME} + - name: Test wheel + shell: arch -arch arm64 bash {0} + env: + ENV_NAME: conda-test-env-${{ github.run_id }} + PY_VERS: ${{ matrix.py_vers }} + run: | + . ~/miniconda3/etc/profile.d/conda.sh + set -ex + conda create -yp ${ENV_NAME} python=${PY_VERS} numpy + conda run -p ${ENV_NAME} python3 -mpip install torch --extra-index-url=https://download.pytorch.org/whl/nightly + conda run -p ${ENV_NAME} python3 -mpip install dist/*.whl + # Test torch is importable, by changing cwd and running import commands + conda run --cwd /tmp -p ${ENV_NAME} python3 -c "import torchaudio;print('torchaudio version is ', torchaudio.__version__)" + conda run --cwd /tmp -p ${ENV_NAME} python3 -c "import torch;import torchaudio;torchaudio.set_audio_backend('sox_io')" conda env remove -p ${ENV_NAME} - name: Upload wheel to GitHub uses: actions/upload-artifact@v3 From 0924725950d50735a47e4c1137ecf40c3f1e6798 Mon Sep 17 00:00:00 2001 From: atalman Date: Mon, 30 May 2022 13:52:34 -0700 Subject: [PATCH 5/8] Move cmake to conda --- .github/workflows/build-m1-binaries.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-m1-binaries.yml b/.github/workflows/build-m1-binaries.yml index 662039f3bb..b9c5df9aa0 100644 --- a/.github/workflows/build-m1-binaries.yml +++ b/.github/workflows/build-m1-binaries.yml @@ -26,8 +26,7 @@ jobs: echo $PATH . ~/miniconda3/etc/profile.d/conda.sh set -ex - pip --quiet install cmake ninja - conda create -yp ${ENV_NAME} python=${PY_VERS} numpy libpng openjpeg wheel pkg-config + conda create -yp ${ENV_NAME} python=${PY_VERS} numpy cmake ninja libpng openjpeg wheel pkg-config conda run -p ${ENV_NAME} python3 -mpip install torch --extra-index-url=https://download.pytorch.org/whl/nightly conda run -p ${ENV_NAME} python3 -mpip install delocate conda run -p ${ENV_NAME} python3 setup.py bdist_wheel From b69e19129f967d97b7225e3612d3be68ba986871 Mon Sep 17 00:00:00 2001 From: atalman Date: Mon, 30 May 2022 14:13:58 -0700 Subject: [PATCH 6/8] Adding WHL name missng variable --- .github/workflows/build-m1-binaries.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-m1-binaries.yml b/.github/workflows/build-m1-binaries.yml index b9c5df9aa0..422c41fb8f 100644 --- a/.github/workflows/build-m1-binaries.yml +++ b/.github/workflows/build-m1-binaries.yml @@ -26,6 +26,8 @@ jobs: echo $PATH . ~/miniconda3/etc/profile.d/conda.sh set -ex + export BUILD_VERSION=0.14.0.dev$(date "+%Y%m%d") + WHL_NAME=torchaudio-${BUILD_VERSION}-cp${PY_VERS/.}-cp${PY_VERS/.}-macosx_11_0_arm64.whl conda create -yp ${ENV_NAME} python=${PY_VERS} numpy cmake ninja libpng openjpeg wheel pkg-config conda run -p ${ENV_NAME} python3 -mpip install torch --extra-index-url=https://download.pytorch.org/whl/nightly conda run -p ${ENV_NAME} python3 -mpip install delocate From 8337a7d7da4cab853fd5a787ee8da3df6d2cd4c7 Mon Sep 17 00:00:00 2001 From: atalman Date: Mon, 30 May 2022 15:15:15 -0700 Subject: [PATCH 7/8] Trying to use secrets --- .github/workflows/build-m1-binaries.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-m1-binaries.yml b/.github/workflows/build-m1-binaries.yml index 422c41fb8f..2b387e735c 100644 --- a/.github/workflows/build-m1-binaries.yml +++ b/.github/workflows/build-m1-binaries.yml @@ -7,6 +7,7 @@ on: branches: - nightly workflow_dispatch: +env: ${{ secrets }} jobs: build_wheels: name: "Build TorchAudio M1 wheels" From f5e9b0f9d7c10d271a71bb0c2dfc8de8dd6496b5 Mon Sep 17 00:00:00 2001 From: atalman Date: Mon, 30 May 2022 15:28:23 -0700 Subject: [PATCH 8/8] The S3 failure is expected hence removing env for now --- .github/workflows/build-m1-binaries.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build-m1-binaries.yml b/.github/workflows/build-m1-binaries.yml index 2b387e735c..422c41fb8f 100644 --- a/.github/workflows/build-m1-binaries.yml +++ b/.github/workflows/build-m1-binaries.yml @@ -7,7 +7,6 @@ on: branches: - nightly workflow_dispatch: -env: ${{ secrets }} jobs: build_wheels: name: "Build TorchAudio M1 wheels"