Commit b7624c60 authored by moto's avatar moto Committed by Facebook GitHub Bot
Browse files

Use custom FFmpeg libraries for torchaudio binary distributions (#2355)

Summary:
This commit changes the way torchaudio binary distributions are built.

* For all the binary distributions (conda/pip on Linux/macOS/Windnows), build custom FFmpeg libraries.
* The custom FFmpeg libraries do not use `--use-gpl` nor `--use-nonfree`, so that they stay LGPL.
* The custom FFmpeg libraries employ rpath so that the torchaudio binary distributions look for the corresponding FFmpeg libraries installed in the runtime environment.
* The torchaudio binary build process will use them to bootstrap its build process.
* The custom FFmpeg libraries are NOT shipped.

This commit also add disclaimer about FFmpeg in README.

Pull Request resolved: https://github.com/pytorch/audio/pull/2355

Reviewed By: nateanl

Differential Revision: D36202087

Pulled By: mthrok

fbshipit-source-id: c30e5222ba190106c897e42f567cac9152dbd8ef
parent 6a8a28bb
...@@ -124,7 +124,7 @@ jobs: ...@@ -124,7 +124,7 @@ jobs:
when: always when: always
command: git --no-pager diff --color=always command: git --no-pager diff --color=always
download_third_parties_nix: download_third_parties:
docker: docker:
- image: "pytorch/torchaudio_unittest_base:manylinux" - image: "pytorch/torchaudio_unittest_base:manylinux"
resource_class: small resource_class: small
...@@ -151,6 +151,95 @@ jobs: ...@@ -151,6 +151,95 @@ jobs:
paths: paths:
- archives - archives
build_ffmpeg_linux:
<<: *binary_common
docker:
- image: << parameters.wheel_docker_image >>
resource_class: 2xlarge+
steps:
- checkout
- generate_cache_key
- restore_cache:
keys:
- ffmpeg-linux-v0-{{ checksum ".cachekey" }}
- run:
command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
if [[ ! -d ${FFMPEG_ROOT} ]]; then
packaging/ffmpeg/build.sh
fi
- save_cache:
key: ffmpeg-linux-v0-{{ checksum ".cachekey" }}
paths:
- third_party/ffmpeg
- persist_to_workspace:
root: third_party
paths:
- ffmpeg
build_ffmpeg_macos:
<<: *binary_common
macos:
xcode: "12.0"
steps:
- checkout
- generate_cache_key
- restore_cache:
keys:
- ffmpeg-macos-v0-{{ checksum ".cachekey" }}
- run:
command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
if [[ ! -d ${FFMPEG_ROOT} ]]; then
packaging/ffmpeg/build.sh
fi
- save_cache:
key: ffmpeg-macos-v0-{{ checksum ".cachekey" }}
paths:
- third_party/ffmpeg
- persist_to_workspace:
root: third_party
paths:
- ffmpeg
build_ffmpeg_windows:
<<: *binary_common
machine:
resource_class: windows.xlarge
image: windows-server-2019-vs2019:stable
# Note:
# Unlike other Windows job, this job uses cmd.exe as shell because
# we need to invoke bash.exe from msys2 in ffmpeg build process, and doing so
# from different installation of bash.exe (the one from the VM) cause issue
shell: cmd.exe
steps:
- checkout
- run: date /t > .cachekey
- restore_cache:
keys:
- ffmpeg-windows-{{ checksum ".cachekey" }}
- run: packaging\ffmpeg\build.bat
- save_cache:
key: ffmpeg-windows-{{ checksum ".cachekey" }}
paths:
- third_party/ffmpeg
- persist_to_workspace:
root: third_party
paths:
- ffmpeg
binary_linux_wheel: binary_linux_wheel:
<<: *binary_common <<: *binary_common
docker: docker:
...@@ -162,7 +251,7 @@ jobs: ...@@ -162,7 +251,7 @@ jobs:
at: third_party at: third_party
- run: - run:
command: | command: |
./tools/bootstrap_ffmpeg.sh export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
packaging/build_wheel.sh packaging/build_wheel.sh
environment: environment:
BUILD_FFMPEG: true BUILD_FFMPEG: true
...@@ -184,7 +273,9 @@ jobs: ...@@ -184,7 +273,9 @@ jobs:
- attach_workspace: - attach_workspace:
at: third_party at: third_party
- run: - run:
command: packaging/build_conda.sh command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
packaging/build_conda.sh
environment: environment:
BUILD_FFMPEG: true BUILD_FFMPEG: true
- store_artifacts: - store_artifacts:
...@@ -211,6 +302,7 @@ jobs: ...@@ -211,6 +302,7 @@ jobs:
curl -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh curl -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
sh conda.sh -b sh conda.sh -b
source $HOME/miniconda3/bin/activate source $HOME/miniconda3/bin/activate
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
packaging/build_wheel.sh packaging/build_wheel.sh
environment: environment:
BUILD_FFMPEG: true BUILD_FFMPEG: true
...@@ -236,6 +328,7 @@ jobs: ...@@ -236,6 +328,7 @@ jobs:
sh conda.sh -b sh conda.sh -b
source $HOME/miniconda3/bin/activate source $HOME/miniconda3/bin/activate
conda install -yq conda-build conda install -yq conda-build
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
packaging/build_conda.sh packaging/build_conda.sh
environment: environment:
BUILD_FFMPEG: true BUILD_FFMPEG: true
...@@ -254,12 +347,15 @@ jobs: ...@@ -254,12 +347,15 @@ jobs:
- checkout - checkout
- load_conda_channel_flags - load_conda_channel_flags
- windows_install_cuda - windows_install_cuda
- attach_workspace:
at: third_party
- run: - run:
name: Build wheel packages name: Build wheel packages
command: | command: |
set -ex set -ex
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')" eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate base conda activate base
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
bash packaging/build_wheel.sh bash packaging/build_wheel.sh
environment: environment:
BUILD_FFMPEG: true BUILD_FFMPEG: true
...@@ -278,6 +374,8 @@ jobs: ...@@ -278,6 +374,8 @@ jobs:
- checkout - checkout
- load_conda_channel_flags - load_conda_channel_flags
- windows_install_cuda - windows_install_cuda
- attach_workspace:
at: third_party
- run: - run:
name: Build conda packages name: Build conda packages
no_output_timeout: 20m no_output_timeout: 20m
...@@ -290,6 +388,7 @@ jobs: ...@@ -290,6 +388,7 @@ jobs:
if [[ "${CU_VERSION}" =~ cu11.* ]]; then if [[ "${CU_VERSION}" =~ cu11.* ]]; then
export CONDA_CHANNEL_FLAGS="-c conda-forge" export CONDA_CHANNEL_FLAGS="-c conda-forge"
fi fi
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
bash packaging/build_conda.sh bash packaging/build_conda.sh
environment: environment:
BUILD_FFMPEG: true BUILD_FFMPEG: true
...@@ -770,14 +869,29 @@ workflows: ...@@ -770,14 +869,29 @@ workflows:
build: build:
jobs: jobs:
- circleci_consistency - circleci_consistency
- download_third_parties_nix: - download_third_parties:
name: download_third_parties_nix name: download_third_parties
- build_ffmpeg_linux:
name: build_ffmpeg_linux
python_version: foo
requires:
- download_third_parties
- build_ffmpeg_macos:
name: build_ffmpeg_macos
python_version: foo
requires:
- download_third_parties
- build_ffmpeg_windows:
name: build_ffmpeg_windows
python_version: foo
requires:
- download_third_parties
- binary_linux_wheel: - binary_linux_wheel:
cuda_version: cpu cuda_version: cpu
name: binary_linux_wheel_py3.7_cpu name: binary_linux_wheel_py3.7_cpu
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cpu cuda_version: cpu
name: binary_linux_wheel_py3.7_cpu_smoke_test_pip name: binary_linux_wheel_py3.7_cpu_smoke_test_pip
...@@ -789,7 +903,7 @@ workflows: ...@@ -789,7 +903,7 @@ workflows:
name: binary_linux_wheel_py3.7_cu102 name: binary_linux_wheel_py3.7_cu102
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda102 wheel_docker_image: pytorch/manylinux-cuda102
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cu102 cuda_version: cu102
...@@ -802,7 +916,7 @@ workflows: ...@@ -802,7 +916,7 @@ workflows:
name: binary_linux_wheel_py3.7_cu113 name: binary_linux_wheel_py3.7_cu113
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cu113 cuda_version: cu113
...@@ -815,7 +929,7 @@ workflows: ...@@ -815,7 +929,7 @@ workflows:
name: binary_linux_wheel_py3.7_cu116 name: binary_linux_wheel_py3.7_cu116
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cu116 cuda_version: cu116
...@@ -828,7 +942,7 @@ workflows: ...@@ -828,7 +942,7 @@ workflows:
name: binary_linux_wheel_py3.7_rocm4.3.1 name: binary_linux_wheel_py3.7_rocm4.3.1
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.3.1 wheel_docker_image: pytorch/manylinux-rocm:4.3.1
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: rocm4.3.1 cuda_version: rocm4.3.1
...@@ -841,7 +955,7 @@ workflows: ...@@ -841,7 +955,7 @@ workflows:
name: binary_linux_wheel_py3.7_rocm4.5.2 name: binary_linux_wheel_py3.7_rocm4.5.2
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.5.2 wheel_docker_image: pytorch/manylinux-rocm:4.5.2
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: rocm4.5.2 cuda_version: rocm4.5.2
...@@ -860,7 +974,7 @@ workflows: ...@@ -860,7 +974,7 @@ workflows:
name: binary_linux_wheel_py3.8_cpu name: binary_linux_wheel_py3.8_cpu
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cpu cuda_version: cpu
filters: filters:
...@@ -878,7 +992,7 @@ workflows: ...@@ -878,7 +992,7 @@ workflows:
name: binary_linux_wheel_py3.8_cu102 name: binary_linux_wheel_py3.8_cu102
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda102 wheel_docker_image: pytorch/manylinux-cuda102
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cu102 cuda_version: cu102
...@@ -891,7 +1005,7 @@ workflows: ...@@ -891,7 +1005,7 @@ workflows:
name: binary_linux_wheel_py3.8_cu113 name: binary_linux_wheel_py3.8_cu113
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cu113 cuda_version: cu113
...@@ -904,7 +1018,7 @@ workflows: ...@@ -904,7 +1018,7 @@ workflows:
name: binary_linux_wheel_py3.8_cu116 name: binary_linux_wheel_py3.8_cu116
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cu116 cuda_version: cu116
...@@ -917,7 +1031,7 @@ workflows: ...@@ -917,7 +1031,7 @@ workflows:
name: binary_linux_wheel_py3.8_rocm4.3.1 name: binary_linux_wheel_py3.8_rocm4.3.1
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.3.1 wheel_docker_image: pytorch/manylinux-rocm:4.3.1
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: rocm4.3.1 cuda_version: rocm4.3.1
...@@ -930,7 +1044,7 @@ workflows: ...@@ -930,7 +1044,7 @@ workflows:
name: binary_linux_wheel_py3.8_rocm4.5.2 name: binary_linux_wheel_py3.8_rocm4.5.2
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.5.2 wheel_docker_image: pytorch/manylinux-rocm:4.5.2
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: rocm4.5.2 cuda_version: rocm4.5.2
...@@ -943,7 +1057,7 @@ workflows: ...@@ -943,7 +1057,7 @@ workflows:
name: binary_linux_wheel_py3.9_cpu name: binary_linux_wheel_py3.9_cpu
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cpu cuda_version: cpu
name: binary_linux_wheel_py3.9_cpu_smoke_test_pip name: binary_linux_wheel_py3.9_cpu_smoke_test_pip
...@@ -955,7 +1069,7 @@ workflows: ...@@ -955,7 +1069,7 @@ workflows:
name: binary_linux_wheel_py3.9_cu102 name: binary_linux_wheel_py3.9_cu102
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda102 wheel_docker_image: pytorch/manylinux-cuda102
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cu102 cuda_version: cu102
...@@ -968,7 +1082,7 @@ workflows: ...@@ -968,7 +1082,7 @@ workflows:
name: binary_linux_wheel_py3.9_cu113 name: binary_linux_wheel_py3.9_cu113
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cu113 cuda_version: cu113
...@@ -981,7 +1095,7 @@ workflows: ...@@ -981,7 +1095,7 @@ workflows:
name: binary_linux_wheel_py3.9_cu116 name: binary_linux_wheel_py3.9_cu116
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cu116 cuda_version: cu116
...@@ -994,7 +1108,7 @@ workflows: ...@@ -994,7 +1108,7 @@ workflows:
name: binary_linux_wheel_py3.9_rocm4.3.1 name: binary_linux_wheel_py3.9_rocm4.3.1
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.3.1 wheel_docker_image: pytorch/manylinux-rocm:4.3.1
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: rocm4.3.1 cuda_version: rocm4.3.1
...@@ -1007,7 +1121,7 @@ workflows: ...@@ -1007,7 +1121,7 @@ workflows:
name: binary_linux_wheel_py3.9_rocm4.5.2 name: binary_linux_wheel_py3.9_rocm4.5.2
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.5.2 wheel_docker_image: pytorch/manylinux-rocm:4.5.2
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: rocm4.5.2 cuda_version: rocm4.5.2
...@@ -1020,7 +1134,7 @@ workflows: ...@@ -1020,7 +1134,7 @@ workflows:
name: binary_linux_wheel_py3.10_cpu name: binary_linux_wheel_py3.10_cpu
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cpu cuda_version: cpu
name: binary_linux_wheel_py3.10_cpu_smoke_test_pip name: binary_linux_wheel_py3.10_cpu_smoke_test_pip
...@@ -1032,7 +1146,7 @@ workflows: ...@@ -1032,7 +1146,7 @@ workflows:
name: binary_linux_wheel_py3.10_cu102 name: binary_linux_wheel_py3.10_cu102
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda102 wheel_docker_image: pytorch/manylinux-cuda102
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cu102 cuda_version: cu102
...@@ -1045,7 +1159,7 @@ workflows: ...@@ -1045,7 +1159,7 @@ workflows:
name: binary_linux_wheel_py3.10_cu113 name: binary_linux_wheel_py3.10_cu113
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cu113 cuda_version: cu113
...@@ -1058,7 +1172,7 @@ workflows: ...@@ -1058,7 +1172,7 @@ workflows:
name: binary_linux_wheel_py3.10_cu116 name: binary_linux_wheel_py3.10_cu116
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: cu116 cuda_version: cu116
...@@ -1071,7 +1185,7 @@ workflows: ...@@ -1071,7 +1185,7 @@ workflows:
name: binary_linux_wheel_py3.10_rocm4.3.1 name: binary_linux_wheel_py3.10_rocm4.3.1
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.3.1 wheel_docker_image: pytorch/manylinux-rocm:4.3.1
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: rocm4.3.1 cuda_version: rocm4.3.1
...@@ -1084,7 +1198,7 @@ workflows: ...@@ -1084,7 +1198,7 @@ workflows:
name: binary_linux_wheel_py3.10_rocm4.5.2 name: binary_linux_wheel_py3.10_rocm4.5.2
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.5.2 wheel_docker_image: pytorch/manylinux-rocm:4.5.2
- smoke_test_linux_pip: - smoke_test_linux_pip:
cuda_version: rocm4.5.2 cuda_version: rocm4.5.2
...@@ -1097,29 +1211,31 @@ workflows: ...@@ -1097,29 +1211,31 @@ workflows:
name: binary_macos_wheel_py3.7_cpu name: binary_macos_wheel_py3.7_cpu
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_macos_wheel: - binary_macos_wheel:
cuda_version: cpu cuda_version: cpu
name: binary_macos_wheel_py3.8_cpu name: binary_macos_wheel_py3.8_cpu
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_macos_wheel: - binary_macos_wheel:
cuda_version: cpu cuda_version: cpu
name: binary_macos_wheel_py3.9_cpu name: binary_macos_wheel_py3.9_cpu
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_macos_wheel: - binary_macos_wheel:
cuda_version: cpu cuda_version: cpu
name: binary_macos_wheel_py3.10_cpu name: binary_macos_wheel_py3.10_cpu
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_windows_wheel: - binary_windows_wheel:
cuda_version: cpu cuda_version: cpu
name: binary_windows_wheel_py3.7_cpu name: binary_windows_wheel_py3.7_cpu
python_version: '3.7' python_version: '3.7'
requires:
- build_ffmpeg_windows
- smoke_test_windows_pip: - smoke_test_windows_pip:
cuda_version: cpu cuda_version: cpu
name: binary_windows_wheel_py3.7_cpu_smoke_test_pip name: binary_windows_wheel_py3.7_cpu_smoke_test_pip
...@@ -1130,6 +1246,8 @@ workflows: ...@@ -1130,6 +1246,8 @@ workflows:
cuda_version: cu113 cuda_version: cu113
name: binary_windows_wheel_py3.7_cu113 name: binary_windows_wheel_py3.7_cu113
python_version: '3.7' python_version: '3.7'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- smoke_test_windows_pip: - smoke_test_windows_pip:
cuda_version: cu113 cuda_version: cu113
...@@ -1141,6 +1259,8 @@ workflows: ...@@ -1141,6 +1259,8 @@ workflows:
cuda_version: cu116 cuda_version: cu116
name: binary_windows_wheel_py3.7_cu116 name: binary_windows_wheel_py3.7_cu116
python_version: '3.7' python_version: '3.7'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_windows_pip: - smoke_test_windows_pip:
cuda_version: cu116 cuda_version: cu116
...@@ -1152,6 +1272,8 @@ workflows: ...@@ -1152,6 +1272,8 @@ workflows:
cuda_version: cpu cuda_version: cpu
name: binary_windows_wheel_py3.8_cpu name: binary_windows_wheel_py3.8_cpu
python_version: '3.8' python_version: '3.8'
requires:
- build_ffmpeg_windows
- smoke_test_windows_pip: - smoke_test_windows_pip:
cuda_version: cpu cuda_version: cpu
name: binary_windows_wheel_py3.8_cpu_smoke_test_pip name: binary_windows_wheel_py3.8_cpu_smoke_test_pip
...@@ -1162,6 +1284,8 @@ workflows: ...@@ -1162,6 +1284,8 @@ workflows:
cuda_version: cu113 cuda_version: cu113
name: binary_windows_wheel_py3.8_cu113 name: binary_windows_wheel_py3.8_cu113
python_version: '3.8' python_version: '3.8'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- smoke_test_windows_pip: - smoke_test_windows_pip:
cuda_version: cu113 cuda_version: cu113
...@@ -1173,6 +1297,8 @@ workflows: ...@@ -1173,6 +1297,8 @@ workflows:
cuda_version: cu116 cuda_version: cu116
name: binary_windows_wheel_py3.8_cu116 name: binary_windows_wheel_py3.8_cu116
python_version: '3.8' python_version: '3.8'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_windows_pip: - smoke_test_windows_pip:
cuda_version: cu116 cuda_version: cu116
...@@ -1184,6 +1310,8 @@ workflows: ...@@ -1184,6 +1310,8 @@ workflows:
cuda_version: cpu cuda_version: cpu
name: binary_windows_wheel_py3.9_cpu name: binary_windows_wheel_py3.9_cpu
python_version: '3.9' python_version: '3.9'
requires:
- build_ffmpeg_windows
- smoke_test_windows_pip: - smoke_test_windows_pip:
cuda_version: cpu cuda_version: cpu
name: binary_windows_wheel_py3.9_cpu_smoke_test_pip name: binary_windows_wheel_py3.9_cpu_smoke_test_pip
...@@ -1194,6 +1322,8 @@ workflows: ...@@ -1194,6 +1322,8 @@ workflows:
cuda_version: cu113 cuda_version: cu113
name: binary_windows_wheel_py3.9_cu113 name: binary_windows_wheel_py3.9_cu113
python_version: '3.9' python_version: '3.9'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- smoke_test_windows_pip: - smoke_test_windows_pip:
cuda_version: cu113 cuda_version: cu113
...@@ -1205,6 +1335,8 @@ workflows: ...@@ -1205,6 +1335,8 @@ workflows:
cuda_version: cu116 cuda_version: cu116
name: binary_windows_wheel_py3.9_cu116 name: binary_windows_wheel_py3.9_cu116
python_version: '3.9' python_version: '3.9'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_windows_pip: - smoke_test_windows_pip:
cuda_version: cu116 cuda_version: cu116
...@@ -1216,6 +1348,8 @@ workflows: ...@@ -1216,6 +1348,8 @@ workflows:
cuda_version: cpu cuda_version: cpu
name: binary_windows_wheel_py3.10_cpu name: binary_windows_wheel_py3.10_cpu
python_version: '3.10' python_version: '3.10'
requires:
- build_ffmpeg_windows
- smoke_test_windows_pip: - smoke_test_windows_pip:
cuda_version: cpu cuda_version: cpu
name: binary_windows_wheel_py3.10_cpu_smoke_test_pip name: binary_windows_wheel_py3.10_cpu_smoke_test_pip
...@@ -1226,6 +1360,8 @@ workflows: ...@@ -1226,6 +1360,8 @@ workflows:
cuda_version: cu113 cuda_version: cu113
name: binary_windows_wheel_py3.10_cu113 name: binary_windows_wheel_py3.10_cu113
python_version: '3.10' python_version: '3.10'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- smoke_test_windows_pip: - smoke_test_windows_pip:
cuda_version: cu113 cuda_version: cu113
...@@ -1237,6 +1373,8 @@ workflows: ...@@ -1237,6 +1373,8 @@ workflows:
cuda_version: cu116 cuda_version: cu116
name: binary_windows_wheel_py3.10_cu116 name: binary_windows_wheel_py3.10_cu116
python_version: '3.10' python_version: '3.10'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- smoke_test_windows_pip: - smoke_test_windows_pip:
cuda_version: cu116 cuda_version: cu116
...@@ -1250,7 +1388,7 @@ workflows: ...@@ -1250,7 +1388,7 @@ workflows:
name: binary_linux_conda_py3.7_cpu name: binary_linux_conda_py3.7_cpu
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda: - smoke_test_linux_conda:
cuda_version: cpu cuda_version: cpu
name: binary_linux_conda_py3.7_cpu_smoke_test_conda name: binary_linux_conda_py3.7_cpu_smoke_test_conda
...@@ -1263,7 +1401,7 @@ workflows: ...@@ -1263,7 +1401,7 @@ workflows:
name: binary_linux_conda_py3.7_cu102 name: binary_linux_conda_py3.7_cu102
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda_gpu: - smoke_test_linux_conda_gpu:
cuda_version: cu102 cuda_version: cu102
name: binary_linux_conda_py3.7_cu102_smoke_test_conda name: binary_linux_conda_py3.7_cu102_smoke_test_conda
...@@ -1276,7 +1414,7 @@ workflows: ...@@ -1276,7 +1414,7 @@ workflows:
name: binary_linux_conda_py3.7_cu113 name: binary_linux_conda_py3.7_cu113
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda_gpu: - smoke_test_linux_conda_gpu:
cuda_version: cu113 cuda_version: cu113
name: binary_linux_conda_py3.7_cu113_smoke_test_conda name: binary_linux_conda_py3.7_cu113_smoke_test_conda
...@@ -1289,7 +1427,7 @@ workflows: ...@@ -1289,7 +1427,7 @@ workflows:
name: binary_linux_conda_py3.7_cu116 name: binary_linux_conda_py3.7_cu116
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda_gpu: - smoke_test_linux_conda_gpu:
cuda_version: cu116 cuda_version: cu116
name: binary_linux_conda_py3.7_cu116_smoke_test_conda name: binary_linux_conda_py3.7_cu116_smoke_test_conda
...@@ -1302,7 +1440,7 @@ workflows: ...@@ -1302,7 +1440,7 @@ workflows:
name: binary_linux_conda_py3.8_cpu name: binary_linux_conda_py3.8_cpu
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda: - smoke_test_linux_conda:
cuda_version: cpu cuda_version: cpu
name: binary_linux_conda_py3.8_cpu_smoke_test_conda name: binary_linux_conda_py3.8_cpu_smoke_test_conda
...@@ -1315,7 +1453,7 @@ workflows: ...@@ -1315,7 +1453,7 @@ workflows:
name: binary_linux_conda_py3.8_cu102 name: binary_linux_conda_py3.8_cu102
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda_gpu: - smoke_test_linux_conda_gpu:
cuda_version: cu102 cuda_version: cu102
name: binary_linux_conda_py3.8_cu102_smoke_test_conda name: binary_linux_conda_py3.8_cu102_smoke_test_conda
...@@ -1328,7 +1466,7 @@ workflows: ...@@ -1328,7 +1466,7 @@ workflows:
name: binary_linux_conda_py3.8_cu113 name: binary_linux_conda_py3.8_cu113
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda_gpu: - smoke_test_linux_conda_gpu:
cuda_version: cu113 cuda_version: cu113
name: binary_linux_conda_py3.8_cu113_smoke_test_conda name: binary_linux_conda_py3.8_cu113_smoke_test_conda
...@@ -1341,7 +1479,7 @@ workflows: ...@@ -1341,7 +1479,7 @@ workflows:
name: binary_linux_conda_py3.8_cu116 name: binary_linux_conda_py3.8_cu116
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda_gpu: - smoke_test_linux_conda_gpu:
cuda_version: cu116 cuda_version: cu116
name: binary_linux_conda_py3.8_cu116_smoke_test_conda name: binary_linux_conda_py3.8_cu116_smoke_test_conda
...@@ -1354,7 +1492,7 @@ workflows: ...@@ -1354,7 +1492,7 @@ workflows:
name: binary_linux_conda_py3.9_cpu name: binary_linux_conda_py3.9_cpu
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda: - smoke_test_linux_conda:
cuda_version: cpu cuda_version: cpu
name: binary_linux_conda_py3.9_cpu_smoke_test_conda name: binary_linux_conda_py3.9_cpu_smoke_test_conda
...@@ -1367,7 +1505,7 @@ workflows: ...@@ -1367,7 +1505,7 @@ workflows:
name: binary_linux_conda_py3.9_cu102 name: binary_linux_conda_py3.9_cu102
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda_gpu: - smoke_test_linux_conda_gpu:
cuda_version: cu102 cuda_version: cu102
name: binary_linux_conda_py3.9_cu102_smoke_test_conda name: binary_linux_conda_py3.9_cu102_smoke_test_conda
...@@ -1380,7 +1518,7 @@ workflows: ...@@ -1380,7 +1518,7 @@ workflows:
name: binary_linux_conda_py3.9_cu113 name: binary_linux_conda_py3.9_cu113
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda_gpu: - smoke_test_linux_conda_gpu:
cuda_version: cu113 cuda_version: cu113
name: binary_linux_conda_py3.9_cu113_smoke_test_conda name: binary_linux_conda_py3.9_cu113_smoke_test_conda
...@@ -1393,7 +1531,7 @@ workflows: ...@@ -1393,7 +1531,7 @@ workflows:
name: binary_linux_conda_py3.9_cu116 name: binary_linux_conda_py3.9_cu116
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda_gpu: - smoke_test_linux_conda_gpu:
cuda_version: cu116 cuda_version: cu116
name: binary_linux_conda_py3.9_cu116_smoke_test_conda name: binary_linux_conda_py3.9_cu116_smoke_test_conda
...@@ -1406,7 +1544,7 @@ workflows: ...@@ -1406,7 +1544,7 @@ workflows:
name: binary_linux_conda_py3.10_cpu name: binary_linux_conda_py3.10_cpu
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda: - smoke_test_linux_conda:
cuda_version: cpu cuda_version: cpu
name: binary_linux_conda_py3.10_cpu_smoke_test_conda name: binary_linux_conda_py3.10_cpu_smoke_test_conda
...@@ -1419,7 +1557,7 @@ workflows: ...@@ -1419,7 +1557,7 @@ workflows:
name: binary_linux_conda_py3.10_cu102 name: binary_linux_conda_py3.10_cu102
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda_gpu: - smoke_test_linux_conda_gpu:
cuda_version: cu102 cuda_version: cu102
name: binary_linux_conda_py3.10_cu102_smoke_test_conda name: binary_linux_conda_py3.10_cu102_smoke_test_conda
...@@ -1432,7 +1570,7 @@ workflows: ...@@ -1432,7 +1570,7 @@ workflows:
name: binary_linux_conda_py3.10_cu113 name: binary_linux_conda_py3.10_cu113
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda_gpu: - smoke_test_linux_conda_gpu:
cuda_version: cu113 cuda_version: cu113
name: binary_linux_conda_py3.10_cu113_smoke_test_conda name: binary_linux_conda_py3.10_cu113_smoke_test_conda
...@@ -1445,7 +1583,7 @@ workflows: ...@@ -1445,7 +1583,7 @@ workflows:
name: binary_linux_conda_py3.10_cu116 name: binary_linux_conda_py3.10_cu116
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- smoke_test_linux_conda_gpu: - smoke_test_linux_conda_gpu:
cuda_version: cu116 cuda_version: cu116
name: binary_linux_conda_py3.10_cu116_smoke_test_conda name: binary_linux_conda_py3.10_cu116_smoke_test_conda
...@@ -1458,33 +1596,35 @@ workflows: ...@@ -1458,33 +1596,35 @@ workflows:
name: binary_macos_conda_py3.7_cpu name: binary_macos_conda_py3.7_cpu
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_macos_conda: - binary_macos_conda:
conda_docker_image: pytorch/conda-builder:cpu conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu cuda_version: cpu
name: binary_macos_conda_py3.8_cpu name: binary_macos_conda_py3.8_cpu
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_macos_conda: - binary_macos_conda:
conda_docker_image: pytorch/conda-builder:cpu conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu cuda_version: cpu
name: binary_macos_conda_py3.9_cpu name: binary_macos_conda_py3.9_cpu
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_macos_conda: - binary_macos_conda:
conda_docker_image: pytorch/conda-builder:cpu conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu cuda_version: cpu
name: binary_macos_conda_py3.10_cpu name: binary_macos_conda_py3.10_cpu
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_windows_conda: - binary_windows_conda:
conda_docker_image: pytorch/conda-builder:cpu conda_docker_image: pytorch/conda-builder:cpu
cuda_version: cpu cuda_version: cpu
name: binary_windows_conda_py3.7_cpu name: binary_windows_conda_py3.7_cpu
python_version: '3.7' python_version: '3.7'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda: - smoke_test_windows_conda:
cuda_version: cpu cuda_version: cpu
name: binary_windows_conda_py3.7_cpu_smoke_test_conda name: binary_windows_conda_py3.7_cpu_smoke_test_conda
...@@ -1496,6 +1636,8 @@ workflows: ...@@ -1496,6 +1636,8 @@ workflows:
cuda_version: cu113 cuda_version: cu113
name: binary_windows_conda_py3.7_cu113 name: binary_windows_conda_py3.7_cu113
python_version: '3.7' python_version: '3.7'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu: - smoke_test_windows_conda_gpu:
cuda_version: cu113 cuda_version: cu113
name: binary_windows_conda_py3.7_cu113_smoke_test_conda name: binary_windows_conda_py3.7_cu113_smoke_test_conda
...@@ -1507,6 +1649,8 @@ workflows: ...@@ -1507,6 +1649,8 @@ workflows:
cuda_version: cu116 cuda_version: cu116
name: binary_windows_conda_py3.7_cu116 name: binary_windows_conda_py3.7_cu116
python_version: '3.7' python_version: '3.7'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu: - smoke_test_windows_conda_gpu:
cuda_version: cu116 cuda_version: cu116
name: binary_windows_conda_py3.7_cu116_smoke_test_conda name: binary_windows_conda_py3.7_cu116_smoke_test_conda
...@@ -1518,6 +1662,8 @@ workflows: ...@@ -1518,6 +1662,8 @@ workflows:
cuda_version: cpu cuda_version: cpu
name: binary_windows_conda_py3.8_cpu name: binary_windows_conda_py3.8_cpu
python_version: '3.8' python_version: '3.8'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda: - smoke_test_windows_conda:
cuda_version: cpu cuda_version: cpu
name: binary_windows_conda_py3.8_cpu_smoke_test_conda name: binary_windows_conda_py3.8_cpu_smoke_test_conda
...@@ -1529,6 +1675,8 @@ workflows: ...@@ -1529,6 +1675,8 @@ workflows:
cuda_version: cu113 cuda_version: cu113
name: binary_windows_conda_py3.8_cu113 name: binary_windows_conda_py3.8_cu113
python_version: '3.8' python_version: '3.8'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu: - smoke_test_windows_conda_gpu:
cuda_version: cu113 cuda_version: cu113
name: binary_windows_conda_py3.8_cu113_smoke_test_conda name: binary_windows_conda_py3.8_cu113_smoke_test_conda
...@@ -1540,6 +1688,8 @@ workflows: ...@@ -1540,6 +1688,8 @@ workflows:
cuda_version: cu116 cuda_version: cu116
name: binary_windows_conda_py3.8_cu116 name: binary_windows_conda_py3.8_cu116
python_version: '3.8' python_version: '3.8'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu: - smoke_test_windows_conda_gpu:
cuda_version: cu116 cuda_version: cu116
name: binary_windows_conda_py3.8_cu116_smoke_test_conda name: binary_windows_conda_py3.8_cu116_smoke_test_conda
...@@ -1551,6 +1701,8 @@ workflows: ...@@ -1551,6 +1701,8 @@ workflows:
cuda_version: cpu cuda_version: cpu
name: binary_windows_conda_py3.9_cpu name: binary_windows_conda_py3.9_cpu
python_version: '3.9' python_version: '3.9'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda: - smoke_test_windows_conda:
cuda_version: cpu cuda_version: cpu
name: binary_windows_conda_py3.9_cpu_smoke_test_conda name: binary_windows_conda_py3.9_cpu_smoke_test_conda
...@@ -1562,6 +1714,8 @@ workflows: ...@@ -1562,6 +1714,8 @@ workflows:
cuda_version: cu113 cuda_version: cu113
name: binary_windows_conda_py3.9_cu113 name: binary_windows_conda_py3.9_cu113
python_version: '3.9' python_version: '3.9'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu: - smoke_test_windows_conda_gpu:
cuda_version: cu113 cuda_version: cu113
name: binary_windows_conda_py3.9_cu113_smoke_test_conda name: binary_windows_conda_py3.9_cu113_smoke_test_conda
...@@ -1573,6 +1727,8 @@ workflows: ...@@ -1573,6 +1727,8 @@ workflows:
cuda_version: cu116 cuda_version: cu116
name: binary_windows_conda_py3.9_cu116 name: binary_windows_conda_py3.9_cu116
python_version: '3.9' python_version: '3.9'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu: - smoke_test_windows_conda_gpu:
cuda_version: cu116 cuda_version: cu116
name: binary_windows_conda_py3.9_cu116_smoke_test_conda name: binary_windows_conda_py3.9_cu116_smoke_test_conda
...@@ -1584,6 +1740,8 @@ workflows: ...@@ -1584,6 +1740,8 @@ workflows:
cuda_version: cpu cuda_version: cpu
name: binary_windows_conda_py3.10_cpu name: binary_windows_conda_py3.10_cpu
python_version: '3.10' python_version: '3.10'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda: - smoke_test_windows_conda:
cuda_version: cpu cuda_version: cpu
name: binary_windows_conda_py3.10_cpu_smoke_test_conda name: binary_windows_conda_py3.10_cpu_smoke_test_conda
...@@ -1595,6 +1753,8 @@ workflows: ...@@ -1595,6 +1753,8 @@ workflows:
cuda_version: cu113 cuda_version: cu113
name: binary_windows_conda_py3.10_cu113 name: binary_windows_conda_py3.10_cu113
python_version: '3.10' python_version: '3.10'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu: - smoke_test_windows_conda_gpu:
cuda_version: cu113 cuda_version: cu113
name: binary_windows_conda_py3.10_cu113_smoke_test_conda name: binary_windows_conda_py3.10_cu113_smoke_test_conda
...@@ -1606,6 +1766,8 @@ workflows: ...@@ -1606,6 +1766,8 @@ workflows:
cuda_version: cu116 cuda_version: cu116
name: binary_windows_conda_py3.10_cu116 name: binary_windows_conda_py3.10_cu116
python_version: '3.10' python_version: '3.10'
requires:
- build_ffmpeg_windows
- smoke_test_windows_conda_gpu: - smoke_test_windows_conda_gpu:
cuda_version: cu116 cuda_version: cu116
name: binary_windows_conda_py3.10_cu116_smoke_test_conda name: binary_windows_conda_py3.10_cu116_smoke_test_conda
...@@ -1642,14 +1804,14 @@ workflows: ...@@ -1642,14 +1804,14 @@ workflows:
- binary_linux_wheel_py3.8_cpu - binary_linux_wheel_py3.8_cpu
unittest: unittest:
jobs: jobs:
- download_third_parties_nix: - download_third_parties:
name: download_third_parties_nix name: download_third_parties
- unittest_linux_cpu: - unittest_linux_cpu:
cuda_version: cpu cuda_version: cpu
name: unittest_linux_cpu_py3.7 name: unittest_linux_cpu_py3.7
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - download_third_parties
- stylecheck: - stylecheck:
cuda_version: cpu cuda_version: cpu
name: stylecheck_py3.7 name: stylecheck_py3.7
...@@ -1659,71 +1821,108 @@ workflows: ...@@ -1659,71 +1821,108 @@ workflows:
name: unittest_linux_cpu_py3.8 name: unittest_linux_cpu_py3.8
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - download_third_parties
- unittest_linux_cpu: - unittest_linux_cpu:
cuda_version: cpu cuda_version: cpu
name: unittest_linux_cpu_py3.9 name: unittest_linux_cpu_py3.9
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - download_third_parties
- unittest_linux_cpu: - unittest_linux_cpu:
cuda_version: cpu cuda_version: cpu
name: unittest_linux_cpu_py3.10 name: unittest_linux_cpu_py3.10
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - download_third_parties
- unittest_linux_gpu: - unittest_linux_gpu:
cuda_version: cu113 cuda_version: cu113
name: unittest_linux_gpu_py3.7 name: unittest_linux_gpu_py3.7
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - download_third_parties
- unittest_linux_gpu: - unittest_linux_gpu:
cuda_version: cu113 cuda_version: cu113
name: unittest_linux_gpu_py3.8 name: unittest_linux_gpu_py3.8
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - download_third_parties
- unittest_linux_gpu: - unittest_linux_gpu:
cuda_version: cu113 cuda_version: cu113
name: unittest_linux_gpu_py3.9 name: unittest_linux_gpu_py3.9
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - download_third_parties
- unittest_linux_gpu: - unittest_linux_gpu:
cuda_version: cu113 cuda_version: cu113
name: unittest_linux_gpu_py3.10 name: unittest_linux_gpu_py3.10
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - download_third_parties
- unittest_windows_cpu: - unittest_windows_cpu:
cuda_version: cpu cuda_version: cpu
name: unittest_windows_cpu_py3.7 name: unittest_windows_cpu_py3.7
python_version: '3.7' python_version: '3.7'
requires:
- download_third_parties
- unittest_windows_gpu: - unittest_windows_gpu:
cuda_version: cu113 cuda_version: cu113
name: unittest_windows_gpu_py3.7 name: unittest_windows_gpu_py3.7
python_version: '3.7' python_version: '3.7'
requires:
- download_third_parties
- unittest_macos_cpu: - unittest_macos_cpu:
cuda_version: cpu cuda_version: cpu
name: unittest_macos_cpu_py3.7 name: unittest_macos_cpu_py3.7
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - download_third_parties
nightly: nightly:
jobs: jobs:
- circleci_consistency: - circleci_consistency:
filters: filters:
branches: branches:
only: nightly only: nightly
- download_third_parties_nix: - download_third_parties:
filters: filters:
branches: branches:
only: only:
- nightly - nightly
tags: tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: download_third_parties_nix name: download_third_parties
- build_ffmpeg_linux:
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: build_ffmpeg_linux
python_version: foo
requires:
- download_third_parties
- build_ffmpeg_macos:
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: build_ffmpeg_macos
python_version: foo
requires:
- download_third_parties
- build_ffmpeg_windows:
filters:
branches:
only:
- nightly
tags:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: build_ffmpeg_windows
python_version: foo
requires:
- download_third_parties
- binary_linux_wheel: - binary_linux_wheel:
cuda_version: cpu cuda_version: cpu
filters: filters:
...@@ -1735,7 +1934,7 @@ workflows: ...@@ -1735,7 +1934,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.7_cpu name: nightly_binary_linux_wheel_py3.7_cpu
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
filters: filters:
...@@ -1771,7 +1970,7 @@ workflows: ...@@ -1771,7 +1970,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.7_cu102 name: nightly_binary_linux_wheel_py3.7_cu102
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda102 wheel_docker_image: pytorch/manylinux-cuda102
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -1808,7 +2007,7 @@ workflows: ...@@ -1808,7 +2007,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.7_cu113 name: nightly_binary_linux_wheel_py3.7_cu113
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -1845,7 +2044,7 @@ workflows: ...@@ -1845,7 +2044,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.7_cu116 name: nightly_binary_linux_wheel_py3.7_cu116
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -1882,7 +2081,7 @@ workflows: ...@@ -1882,7 +2081,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.7_rocm4.3.1 name: nightly_binary_linux_wheel_py3.7_rocm4.3.1
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.3.1 wheel_docker_image: pytorch/manylinux-rocm:4.3.1
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -1919,7 +2118,7 @@ workflows: ...@@ -1919,7 +2118,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.7_rocm4.5.2 name: nightly_binary_linux_wheel_py3.7_rocm4.5.2
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.5.2 wheel_docker_image: pytorch/manylinux-rocm:4.5.2
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -1956,7 +2155,7 @@ workflows: ...@@ -1956,7 +2155,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.8_cpu name: nightly_binary_linux_wheel_py3.8_cpu
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
filters: filters:
...@@ -1992,7 +2191,7 @@ workflows: ...@@ -1992,7 +2191,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.8_cu102 name: nightly_binary_linux_wheel_py3.8_cu102
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda102 wheel_docker_image: pytorch/manylinux-cuda102
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2029,7 +2228,7 @@ workflows: ...@@ -2029,7 +2228,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.8_cu113 name: nightly_binary_linux_wheel_py3.8_cu113
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2066,7 +2265,7 @@ workflows: ...@@ -2066,7 +2265,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.8_cu116 name: nightly_binary_linux_wheel_py3.8_cu116
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2103,7 +2302,7 @@ workflows: ...@@ -2103,7 +2302,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.8_rocm4.3.1 name: nightly_binary_linux_wheel_py3.8_rocm4.3.1
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.3.1 wheel_docker_image: pytorch/manylinux-rocm:4.3.1
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2140,7 +2339,7 @@ workflows: ...@@ -2140,7 +2339,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.8_rocm4.5.2 name: nightly_binary_linux_wheel_py3.8_rocm4.5.2
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.5.2 wheel_docker_image: pytorch/manylinux-rocm:4.5.2
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2177,7 +2376,7 @@ workflows: ...@@ -2177,7 +2376,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.9_cpu name: nightly_binary_linux_wheel_py3.9_cpu
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
filters: filters:
...@@ -2213,7 +2412,7 @@ workflows: ...@@ -2213,7 +2412,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.9_cu102 name: nightly_binary_linux_wheel_py3.9_cu102
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda102 wheel_docker_image: pytorch/manylinux-cuda102
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2250,7 +2449,7 @@ workflows: ...@@ -2250,7 +2449,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.9_cu113 name: nightly_binary_linux_wheel_py3.9_cu113
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2287,7 +2486,7 @@ workflows: ...@@ -2287,7 +2486,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.9_cu116 name: nightly_binary_linux_wheel_py3.9_cu116
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2324,7 +2523,7 @@ workflows: ...@@ -2324,7 +2523,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.9_rocm4.3.1 name: nightly_binary_linux_wheel_py3.9_rocm4.3.1
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.3.1 wheel_docker_image: pytorch/manylinux-rocm:4.3.1
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2361,7 +2560,7 @@ workflows: ...@@ -2361,7 +2560,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.9_rocm4.5.2 name: nightly_binary_linux_wheel_py3.9_rocm4.5.2
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.5.2 wheel_docker_image: pytorch/manylinux-rocm:4.5.2
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2398,7 +2597,7 @@ workflows: ...@@ -2398,7 +2597,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.10_cpu name: nightly_binary_linux_wheel_py3.10_cpu
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
filters: filters:
...@@ -2434,7 +2633,7 @@ workflows: ...@@ -2434,7 +2633,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.10_cu102 name: nightly_binary_linux_wheel_py3.10_cu102
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda102 wheel_docker_image: pytorch/manylinux-cuda102
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2471,7 +2670,7 @@ workflows: ...@@ -2471,7 +2670,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.10_cu113 name: nightly_binary_linux_wheel_py3.10_cu113
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2508,7 +2707,7 @@ workflows: ...@@ -2508,7 +2707,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.10_cu116 name: nightly_binary_linux_wheel_py3.10_cu116
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2545,7 +2744,7 @@ workflows: ...@@ -2545,7 +2744,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.10_rocm4.3.1 name: nightly_binary_linux_wheel_py3.10_rocm4.3.1
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.3.1 wheel_docker_image: pytorch/manylinux-rocm:4.3.1
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2582,7 +2781,7 @@ workflows: ...@@ -2582,7 +2781,7 @@ workflows:
name: nightly_binary_linux_wheel_py3.10_rocm4.5.2 name: nightly_binary_linux_wheel_py3.10_rocm4.5.2
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
wheel_docker_image: pytorch/manylinux-rocm:4.5.2 wheel_docker_image: pytorch/manylinux-rocm:4.5.2
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2619,7 +2818,7 @@ workflows: ...@@ -2619,7 +2818,7 @@ workflows:
name: nightly_binary_macos_wheel_py3.7_cpu name: nightly_binary_macos_wheel_py3.7_cpu
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
filters: filters:
...@@ -2643,7 +2842,7 @@ workflows: ...@@ -2643,7 +2842,7 @@ workflows:
name: nightly_binary_macos_wheel_py3.8_cpu name: nightly_binary_macos_wheel_py3.8_cpu
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
filters: filters:
...@@ -2667,7 +2866,7 @@ workflows: ...@@ -2667,7 +2866,7 @@ workflows:
name: nightly_binary_macos_wheel_py3.9_cpu name: nightly_binary_macos_wheel_py3.9_cpu
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
filters: filters:
...@@ -2691,7 +2890,7 @@ workflows: ...@@ -2691,7 +2890,7 @@ workflows:
name: nightly_binary_macos_wheel_py3.10_cpu name: nightly_binary_macos_wheel_py3.10_cpu
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
filters: filters:
...@@ -2714,6 +2913,8 @@ workflows: ...@@ -2714,6 +2913,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cpu name: nightly_binary_windows_wheel_py3.7_cpu
python_version: '3.7' python_version: '3.7'
requires:
- build_ffmpeg_windows
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
filters: filters:
...@@ -2748,6 +2949,8 @@ workflows: ...@@ -2748,6 +2949,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cu113 name: nightly_binary_windows_wheel_py3.7_cu113
python_version: '3.7' python_version: '3.7'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2783,6 +2986,8 @@ workflows: ...@@ -2783,6 +2986,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.7_cu116 name: nightly_binary_windows_wheel_py3.7_cu116
python_version: '3.7' python_version: '3.7'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2818,6 +3023,8 @@ workflows: ...@@ -2818,6 +3023,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cpu name: nightly_binary_windows_wheel_py3.8_cpu
python_version: '3.8' python_version: '3.8'
requires:
- build_ffmpeg_windows
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
filters: filters:
...@@ -2852,6 +3059,8 @@ workflows: ...@@ -2852,6 +3059,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cu113 name: nightly_binary_windows_wheel_py3.8_cu113
python_version: '3.8' python_version: '3.8'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2887,6 +3096,8 @@ workflows: ...@@ -2887,6 +3096,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.8_cu116 name: nightly_binary_windows_wheel_py3.8_cu116
python_version: '3.8' python_version: '3.8'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2922,6 +3133,8 @@ workflows: ...@@ -2922,6 +3133,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cpu name: nightly_binary_windows_wheel_py3.9_cpu
python_version: '3.9' python_version: '3.9'
requires:
- build_ffmpeg_windows
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
filters: filters:
...@@ -2956,6 +3169,8 @@ workflows: ...@@ -2956,6 +3169,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cu113 name: nightly_binary_windows_wheel_py3.9_cu113
python_version: '3.9' python_version: '3.9'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -2991,6 +3206,8 @@ workflows: ...@@ -2991,6 +3206,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.9_cu116 name: nightly_binary_windows_wheel_py3.9_cu116
python_version: '3.9' python_version: '3.9'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -3026,6 +3243,8 @@ workflows: ...@@ -3026,6 +3243,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.10_cpu name: nightly_binary_windows_wheel_py3.10_cpu
python_version: '3.10' python_version: '3.10'
requires:
- build_ffmpeg_windows
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
filters: filters:
...@@ -3060,6 +3279,8 @@ workflows: ...@@ -3060,6 +3279,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.10_cu113 name: nightly_binary_windows_wheel_py3.10_cu113
python_version: '3.10' python_version: '3.10'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda113 wheel_docker_image: pytorch/manylinux-cuda113
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -3095,6 +3316,8 @@ workflows: ...@@ -3095,6 +3316,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_wheel_py3.10_cu116 name: nightly_binary_windows_wheel_py3.10_cu116
python_version: '3.10' python_version: '3.10'
requires:
- build_ffmpeg_windows
wheel_docker_image: pytorch/manylinux-cuda116 wheel_docker_image: pytorch/manylinux-cuda116
- binary_wheel_upload: - binary_wheel_upload:
context: org-member context: org-member
...@@ -3132,7 +3355,7 @@ workflows: ...@@ -3132,7 +3355,7 @@ workflows:
name: nightly_binary_linux_conda_py3.7_cpu name: nightly_binary_linux_conda_py3.7_cpu
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3168,7 +3391,7 @@ workflows: ...@@ -3168,7 +3391,7 @@ workflows:
name: nightly_binary_linux_conda_py3.7_cu102 name: nightly_binary_linux_conda_py3.7_cu102
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3204,7 +3427,7 @@ workflows: ...@@ -3204,7 +3427,7 @@ workflows:
name: nightly_binary_linux_conda_py3.7_cu113 name: nightly_binary_linux_conda_py3.7_cu113
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3240,7 +3463,7 @@ workflows: ...@@ -3240,7 +3463,7 @@ workflows:
name: nightly_binary_linux_conda_py3.7_cu116 name: nightly_binary_linux_conda_py3.7_cu116
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3276,7 +3499,7 @@ workflows: ...@@ -3276,7 +3499,7 @@ workflows:
name: nightly_binary_linux_conda_py3.8_cpu name: nightly_binary_linux_conda_py3.8_cpu
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3312,7 +3535,7 @@ workflows: ...@@ -3312,7 +3535,7 @@ workflows:
name: nightly_binary_linux_conda_py3.8_cu102 name: nightly_binary_linux_conda_py3.8_cu102
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3348,7 +3571,7 @@ workflows: ...@@ -3348,7 +3571,7 @@ workflows:
name: nightly_binary_linux_conda_py3.8_cu113 name: nightly_binary_linux_conda_py3.8_cu113
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3384,7 +3607,7 @@ workflows: ...@@ -3384,7 +3607,7 @@ workflows:
name: nightly_binary_linux_conda_py3.8_cu116 name: nightly_binary_linux_conda_py3.8_cu116
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3420,7 +3643,7 @@ workflows: ...@@ -3420,7 +3643,7 @@ workflows:
name: nightly_binary_linux_conda_py3.9_cpu name: nightly_binary_linux_conda_py3.9_cpu
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3456,7 +3679,7 @@ workflows: ...@@ -3456,7 +3679,7 @@ workflows:
name: nightly_binary_linux_conda_py3.9_cu102 name: nightly_binary_linux_conda_py3.9_cu102
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3492,7 +3715,7 @@ workflows: ...@@ -3492,7 +3715,7 @@ workflows:
name: nightly_binary_linux_conda_py3.9_cu113 name: nightly_binary_linux_conda_py3.9_cu113
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3528,7 +3751,7 @@ workflows: ...@@ -3528,7 +3751,7 @@ workflows:
name: nightly_binary_linux_conda_py3.9_cu116 name: nightly_binary_linux_conda_py3.9_cu116
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3564,7 +3787,7 @@ workflows: ...@@ -3564,7 +3787,7 @@ workflows:
name: nightly_binary_linux_conda_py3.10_cpu name: nightly_binary_linux_conda_py3.10_cpu
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3600,7 +3823,7 @@ workflows: ...@@ -3600,7 +3823,7 @@ workflows:
name: nightly_binary_linux_conda_py3.10_cu102 name: nightly_binary_linux_conda_py3.10_cu102
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3636,7 +3859,7 @@ workflows: ...@@ -3636,7 +3859,7 @@ workflows:
name: nightly_binary_linux_conda_py3.10_cu113 name: nightly_binary_linux_conda_py3.10_cu113
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3672,7 +3895,7 @@ workflows: ...@@ -3672,7 +3895,7 @@ workflows:
name: nightly_binary_linux_conda_py3.10_cu116 name: nightly_binary_linux_conda_py3.10_cu116
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_linux
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3708,7 +3931,7 @@ workflows: ...@@ -3708,7 +3931,7 @@ workflows:
name: nightly_binary_macos_conda_py3.7_cpu name: nightly_binary_macos_conda_py3.7_cpu
python_version: '3.7' python_version: '3.7'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3732,7 +3955,7 @@ workflows: ...@@ -3732,7 +3955,7 @@ workflows:
name: nightly_binary_macos_conda_py3.8_cpu name: nightly_binary_macos_conda_py3.8_cpu
python_version: '3.8' python_version: '3.8'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3756,7 +3979,7 @@ workflows: ...@@ -3756,7 +3979,7 @@ workflows:
name: nightly_binary_macos_conda_py3.9_cpu name: nightly_binary_macos_conda_py3.9_cpu
python_version: '3.9' python_version: '3.9'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3780,7 +4003,7 @@ workflows: ...@@ -3780,7 +4003,7 @@ workflows:
name: nightly_binary_macos_conda_py3.10_cpu name: nightly_binary_macos_conda_py3.10_cpu
python_version: '3.10' python_version: '3.10'
requires: requires:
- download_third_parties_nix - build_ffmpeg_macos
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3803,6 +4026,8 @@ workflows: ...@@ -3803,6 +4026,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cpu name: nightly_binary_windows_conda_py3.7_cpu
python_version: '3.7' python_version: '3.7'
requires:
- build_ffmpeg_windows
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3837,6 +4062,8 @@ workflows: ...@@ -3837,6 +4062,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cu113 name: nightly_binary_windows_conda_py3.7_cu113
python_version: '3.7' python_version: '3.7'
requires:
- build_ffmpeg_windows
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3871,6 +4098,8 @@ workflows: ...@@ -3871,6 +4098,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.7_cu116 name: nightly_binary_windows_conda_py3.7_cu116
python_version: '3.7' python_version: '3.7'
requires:
- build_ffmpeg_windows
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3905,6 +4134,8 @@ workflows: ...@@ -3905,6 +4134,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cpu name: nightly_binary_windows_conda_py3.8_cpu
python_version: '3.8' python_version: '3.8'
requires:
- build_ffmpeg_windows
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3939,6 +4170,8 @@ workflows: ...@@ -3939,6 +4170,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cu113 name: nightly_binary_windows_conda_py3.8_cu113
python_version: '3.8' python_version: '3.8'
requires:
- build_ffmpeg_windows
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -3973,6 +4206,8 @@ workflows: ...@@ -3973,6 +4206,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.8_cu116 name: nightly_binary_windows_conda_py3.8_cu116
python_version: '3.8' python_version: '3.8'
requires:
- build_ffmpeg_windows
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -4007,6 +4242,8 @@ workflows: ...@@ -4007,6 +4242,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cpu name: nightly_binary_windows_conda_py3.9_cpu
python_version: '3.9' python_version: '3.9'
requires:
- build_ffmpeg_windows
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -4041,6 +4278,8 @@ workflows: ...@@ -4041,6 +4278,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cu113 name: nightly_binary_windows_conda_py3.9_cu113
python_version: '3.9' python_version: '3.9'
requires:
- build_ffmpeg_windows
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -4075,6 +4314,8 @@ workflows: ...@@ -4075,6 +4314,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.9_cu116 name: nightly_binary_windows_conda_py3.9_cu116
python_version: '3.9' python_version: '3.9'
requires:
- build_ffmpeg_windows
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -4109,6 +4350,8 @@ workflows: ...@@ -4109,6 +4350,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.10_cpu name: nightly_binary_windows_conda_py3.10_cpu
python_version: '3.10' python_version: '3.10'
requires:
- build_ffmpeg_windows
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -4143,6 +4386,8 @@ workflows: ...@@ -4143,6 +4386,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.10_cu113 name: nightly_binary_windows_conda_py3.10_cu113
python_version: '3.10' python_version: '3.10'
requires:
- build_ffmpeg_windows
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
...@@ -4177,6 +4422,8 @@ workflows: ...@@ -4177,6 +4422,8 @@ workflows:
only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/ only: /v[0-9]+(\.[0-9]+)*-rc[0-9]+/
name: nightly_binary_windows_conda_py3.10_cu116 name: nightly_binary_windows_conda_py3.10_cu116
python_version: '3.10' python_version: '3.10'
requires:
- build_ffmpeg_windows
- binary_conda_upload: - binary_conda_upload:
context: org-member context: org-member
filters: filters:
......
...@@ -124,7 +124,7 @@ jobs: ...@@ -124,7 +124,7 @@ jobs:
when: always when: always
command: git --no-pager diff --color=always command: git --no-pager diff --color=always
download_third_parties_nix: download_third_parties:
docker: docker:
- image: "pytorch/torchaudio_unittest_base:manylinux" - image: "pytorch/torchaudio_unittest_base:manylinux"
resource_class: small resource_class: small
...@@ -151,6 +151,95 @@ jobs: ...@@ -151,6 +151,95 @@ jobs:
paths: paths:
- archives - archives
build_ffmpeg_linux:
<<: *binary_common
docker:
- image: << parameters.wheel_docker_image >>
resource_class: 2xlarge+
steps:
- checkout
- generate_cache_key
- restore_cache:
{% raw %}
keys:
- ffmpeg-linux-v0-{{ checksum ".cachekey" }}
{% endraw %}
- run:
command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
if [[ ! -d ${FFMPEG_ROOT} ]]; then
packaging/ffmpeg/build.sh
fi
- save_cache:
{% raw %}
key: ffmpeg-linux-v0-{{ checksum ".cachekey" }}
{% endraw %}
paths:
- third_party/ffmpeg
- persist_to_workspace:
root: third_party
paths:
- ffmpeg
build_ffmpeg_macos:
<<: *binary_common
macos:
xcode: "12.0"
steps:
- checkout
- generate_cache_key
- restore_cache:
{% raw %}
keys:
- ffmpeg-macos-v0-{{ checksum ".cachekey" }}
{% endraw %}
- run:
command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
if [[ ! -d ${FFMPEG_ROOT} ]]; then
packaging/ffmpeg/build.sh
fi
- save_cache:
{% raw %}
key: ffmpeg-macos-v0-{{ checksum ".cachekey" }}
{% endraw %}
paths:
- third_party/ffmpeg
- persist_to_workspace:
root: third_party
paths:
- ffmpeg
build_ffmpeg_windows:
<<: *binary_common
machine:
resource_class: windows.xlarge
image: windows-server-2019-vs2019:stable
# Note:
# Unlike other Windows job, this job uses cmd.exe as shell because
# we need to invoke bash.exe from msys2 in ffmpeg build process, and doing so
# from different installation of bash.exe (the one from the VM) cause issue
shell: cmd.exe
steps:
- checkout
- run: date /t > .cachekey
- restore_cache:
{% raw %}
keys:
- ffmpeg-windows-{{ checksum ".cachekey" }}
{% endraw %}
- run: packaging\ffmpeg\build.bat
- save_cache:
{% raw %}
key: ffmpeg-windows-{{ checksum ".cachekey" }}
{% endraw %}
paths:
- third_party/ffmpeg
- persist_to_workspace:
root: third_party
paths:
- ffmpeg
binary_linux_wheel: binary_linux_wheel:
<<: *binary_common <<: *binary_common
docker: docker:
...@@ -162,7 +251,7 @@ jobs: ...@@ -162,7 +251,7 @@ jobs:
at: third_party at: third_party
- run: - run:
command: | command: |
./tools/bootstrap_ffmpeg.sh export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
packaging/build_wheel.sh packaging/build_wheel.sh
environment: environment:
BUILD_FFMPEG: true BUILD_FFMPEG: true
...@@ -184,7 +273,9 @@ jobs: ...@@ -184,7 +273,9 @@ jobs:
- attach_workspace: - attach_workspace:
at: third_party at: third_party
- run: - run:
command: packaging/build_conda.sh command: |
export FFMPEG_ROOT=${PWD}/third_party/ffmpeg
packaging/build_conda.sh
environment: environment:
BUILD_FFMPEG: true BUILD_FFMPEG: true
- store_artifacts: - store_artifacts:
...@@ -211,6 +302,7 @@ jobs: ...@@ -211,6 +302,7 @@ jobs:
curl -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh curl -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
sh conda.sh -b sh conda.sh -b
source $HOME/miniconda3/bin/activate source $HOME/miniconda3/bin/activate
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
packaging/build_wheel.sh packaging/build_wheel.sh
environment: environment:
BUILD_FFMPEG: true BUILD_FFMPEG: true
...@@ -236,6 +328,7 @@ jobs: ...@@ -236,6 +328,7 @@ jobs:
sh conda.sh -b sh conda.sh -b
source $HOME/miniconda3/bin/activate source $HOME/miniconda3/bin/activate
conda install -yq conda-build conda install -yq conda-build
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
packaging/build_conda.sh packaging/build_conda.sh
environment: environment:
BUILD_FFMPEG: true BUILD_FFMPEG: true
...@@ -254,12 +347,15 @@ jobs: ...@@ -254,12 +347,15 @@ jobs:
- checkout - checkout
- load_conda_channel_flags - load_conda_channel_flags
- windows_install_cuda - windows_install_cuda
- attach_workspace:
at: third_party
- run: - run:
name: Build wheel packages name: Build wheel packages
command: | command: |
set -ex set -ex
eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')" eval "$('/C/tools/miniconda3/Scripts/conda.exe' 'shell.bash' 'hook')"
conda activate base conda activate base
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
bash packaging/build_wheel.sh bash packaging/build_wheel.sh
environment: environment:
BUILD_FFMPEG: true BUILD_FFMPEG: true
...@@ -278,6 +374,8 @@ jobs: ...@@ -278,6 +374,8 @@ jobs:
- checkout - checkout
- load_conda_channel_flags - load_conda_channel_flags
- windows_install_cuda - windows_install_cuda
- attach_workspace:
at: third_party
- run: - run:
name: Build conda packages name: Build conda packages
no_output_timeout: 20m no_output_timeout: 20m
...@@ -290,6 +388,7 @@ jobs: ...@@ -290,6 +388,7 @@ jobs:
if [[ "${CU_VERSION}" =~ cu11.* ]]; then if [[ "${CU_VERSION}" =~ cu11.* ]]; then
export CONDA_CHANNEL_FLAGS="-c conda-forge" export CONDA_CHANNEL_FLAGS="-c conda-forge"
fi fi
export FFMPEG_ROOT="${PWD}/third_party/ffmpeg"
bash packaging/build_conda.sh bash packaging/build_conda.sh
environment: environment:
BUILD_FFMPEG: true BUILD_FFMPEG: true
......
...@@ -35,6 +35,8 @@ DOC_VERSION = ("linux", "3.8") ...@@ -35,6 +35,8 @@ DOC_VERSION = ("linux", "3.8")
def build_workflows(prefix="", upload=False, filter_branch=None, indentation=6): def build_workflows(prefix="", upload=False, filter_branch=None, indentation=6):
w = [] w = []
w += build_download_job(filter_branch) w += build_download_job(filter_branch)
for os_type in ["linux", "macos", "windows"]:
w += build_ffmpeg_job(os_type, filter_branch)
for btype in ["wheel", "conda"]: for btype in ["wheel", "conda"]:
for os_type in ["linux", "macos", "windows"]: for os_type in ["linux", "macos", "windows"]:
for python_version in PYTHON_VERSIONS: for python_version in PYTHON_VERSIONS:
...@@ -60,12 +62,24 @@ def build_workflows(prefix="", upload=False, filter_branch=None, indentation=6): ...@@ -60,12 +62,24 @@ def build_workflows(prefix="", upload=False, filter_branch=None, indentation=6):
def build_download_job(filter_branch): def build_download_job(filter_branch):
job = { job = {
"name": "download_third_parties_nix", "name": "download_third_parties",
} }
if filter_branch: if filter_branch:
job["filters"] = gen_filter_branch_tree(filter_branch) job["filters"] = gen_filter_branch_tree(filter_branch)
return [{"download_third_parties_nix": job}] return [{"download_third_parties": job}]
def build_ffmpeg_job(os_type, filter_branch):
job = {
"name": f"build_ffmpeg_{os_type}",
"requires": ["download_third_parties"],
}
if filter_branch:
job["filters"] = gen_filter_branch_tree(filter_branch)
job["python_version"] = "foo"
return [{f"build_ffmpeg_{os_type}": job}]
def build_workflow_pair(btype, os_type, python_version, cu_version, filter_branch, prefix="", upload=False): def build_workflow_pair(btype, os_type, python_version, cu_version, filter_branch, prefix="", upload=False):
...@@ -138,10 +152,9 @@ def generate_base_workflow(base_workflow_name, python_version, cu_version, filte ...@@ -138,10 +152,9 @@ def generate_base_workflow(base_workflow_name, python_version, cu_version, filte
"name": base_workflow_name, "name": base_workflow_name,
"python_version": python_version, "python_version": python_version,
"cuda_version": cu_version, "cuda_version": cu_version,
"requires": [f"build_ffmpeg_{os_type}"],
} }
if os_type in ["linux", "macos"]:
d["requires"] = ["download_third_parties_nix"]
if btype == "conda": if btype == "conda":
d["conda_docker_image"] = f'pytorch/conda-builder:{cu_version.replace("cu1","cuda1")}' d["conda_docker_image"] = f'pytorch/conda-builder:{cu_version.replace("cu1","cuda1")}'
elif cu_version.startswith("cu"): elif cu_version.startswith("cu"):
...@@ -228,11 +241,9 @@ def unittest_workflows(indentation=6): ...@@ -228,11 +241,9 @@ def unittest_workflows(indentation=6):
"name": f"unittest_{os_type}_{device_type}_py{python_version}", "name": f"unittest_{os_type}_{device_type}_py{python_version}",
"python_version": python_version, "python_version": python_version,
"cuda_version": "cpu" if device_type == "cpu" else "cu113", "cuda_version": "cpu" if device_type == "cpu" else "cu113",
"requires": ["download_third_parties"],
} }
if os_type != "windows":
job["requires"] = ["download_third_parties_nix"]
jobs.append({f"unittest_{os_type}_{device_type}": job}) jobs.append({f"unittest_{os_type}_{device_type}": job})
if i == 0 and os_type == "linux" and device_type == "cpu": if i == 0 and os_type == "linux" and device_type == "cpu":
......
...@@ -67,6 +67,8 @@ Please refer to https://pytorch.org/get-started/locally/ for the details. ...@@ -67,6 +67,8 @@ Please refer to https://pytorch.org/get-started/locally/ for the details.
**Note** <ins>LTS versions are distributed through a different channel than the other versioned releases. Please refer to the above page for details.</ins> **Note** <ins>LTS versions are distributed through a different channel than the other versioned releases. Please refer to the above page for details.</ins>
**Note** This software was compiled against an unmodified copy of FFmpeg (licensed under [the LGPLv2.1](https://github.com/FFmpeg/FFmpeg/blob/a5d2008e2a2360d351798e9abe883d603e231442/COPYING.LGPLv2.1)), with the specific rpath removed so as to enable the use of system libraries. The LGPL source can be downloaded [here](https://github.com/FFmpeg/FFmpeg/releases/tag/n4.1.8).
### From Source ### From Source
On non-Windows platforms, the build process builds libsox and codecs that torchaudio need to link to. It will fetch and build libmad, lame, flac, vorbis, opus, and libsox before building extension. This process requires `cmake` and `pkg-config`. libsox-based features can be disabled with `BUILD_SOX=0`. On non-Windows platforms, the build process builds libsox and codecs that torchaudio need to link to. It will fetch and build libmad, lame, flac, vorbis, opus, and libsox before building extension. This process requires `cmake` and `pkg-config`. libsox-based features can be disabled with `BUILD_SOX=0`.
......
#!/bin/bash #!/bin/bash
set -ex set -ex
echo FFMPEG_ROOT=${FFMPEG_ROOT}
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
. "$script_dir/pkg_helpers.bash" . "$script_dir/pkg_helpers.bash"
......
#!/bin/bash #!/bin/bash
set -ex set -ex
echo FFMPEG_ROOT=${FFMPEG_ROOT}
script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
. "$script_dir/pkg_helpers.bash" . "$script_dir/pkg_helpers.bash"
......
@echo off
if exist "third_party\ffmpeg\" goto end
choco install -y --no-progress msys2 --package-parameters "/NoUpdate"
C:\tools\msys64\usr\bin\env MSYSTEM=MINGW64 /bin/bash -l -c "pacman -S --noconfirm --needed base-devel mingw-w64-x86_64-toolchain diffutils"
C:\tools\msys64\usr\bin\env MSYSTEM=MINGW64 /bin/bash -l -c "cd /c/Users/circleci/project && export FFMPEG_ROOT=${PWD}/third_party/ffmpeg && packaging/vc_env_helper.bat bash ./packaging/ffmpeg/build.sh"
:end
#!/usr/bin/env bash
# This script builds FFmpeg libraries without any functional features.
#
# IMPORTANT:
# The resulting library files have to be LGPL version of FFmpeg libraries.
# - Do not enable `--enable-nonfree` and `--enable-gpl`.
# - Do not enable third party library integrations like x264.
#
# This script is not meant to build useful FFmpeg libraries, but to build
# a skeleton of FFmpeg libraries that are use only during the build process of
# torchaudio.
#
# The resulting FFmpeg libraries should not be shipped either.
set -eux
prefix="${FFMPEG_ROOT}"
args=""
if [[ "$OSTYPE" == "msys" ]]; then
args="--toolchain=msvc"
fi
build_dir=$(mktemp -d -t ffmpeg-build.XXXXXXXXXX)
cleanup() {
rm -rf "${build_dir}"
}
trap 'cleanup $?' EXIT
(
cd "${build_dir}"
# NOTE:
# When changing the version of FFmpeg, update the README so that the link to the source points
# the same version.
curl -LsS -o ffmpeg.tar.gz https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n4.1.8.tar.gz
tar -xf ffmpeg.tar.gz --strip-components 1
./configure \
--prefix="${prefix}" \
--disable-all \
--disable-everything \
--disable-programs \
--disable-doc \
--disable-debug \
--disable-autodetect \
--disable-x86asm \
--disable-iconv \
--disable-encoders \
--disable-decoders \
--disable-hwaccels \
--disable-muxers \
--disable-demuxers \
--disable-parsers \
--disable-bsfs \
--disable-protocols \
--disable-devices \
--disable-filters \
--disable-asm \
--disable-static \
--enable-shared \
--enable-rpath \
--enable-pic \
--enable-avcodec \
--enable-avdevice \
--enable-avfilter \
--enable-avformat \
--enable-avutil ${args}
make -j install
ls ${prefix}/*
)
# macOS: Fix rpath so that the libraries are searched dynamically in user environment.
# In Linux, this is handled by `--enable-rpath` flag.
if [[ "$(uname)" == Darwin ]]; then
avcodec=libavcodec.58
avdevice=libavdevice.58
avfilter=libavfilter.7
avformat=libavformat.58
avutil=libavutil.56
# list up the paths to fix
for lib in ${avcodec} ${avdevice} ${avfilter} ${avformat} ${avutil}; do
otool -l ${prefix}/lib/${lib}.dylib | grep -B2 ${prefix}
done
# Replace the hardcoded paths to @rpath
install_name_tool \
-change ${prefix}/lib/${avutil}.dylib @rpath/${avutil}.dylib \
-delete_rpath ${prefix}/lib \
-id @rpath/${avcodec}.dylib \
${prefix}/lib/${avcodec}.dylib
otool -l ${prefix}/lib/${avcodec}.dylib | grep -B2 ${prefix}
install_name_tool \
-change ${prefix}/lib/${avformat}.dylib @rpath/${avformat}.dylib \
-change ${prefix}/lib/${avcodec}.dylib @rpath/${avcodec}.dylib \
-change ${prefix}/lib/${avutil}.dylib @rpath/${avutil}.dylib \
-delete_rpath ${prefix}/lib \
-id @rpath/${avdevice}.dylib \
${prefix}/lib/${avdevice}.dylib
otool -l ${prefix}/lib/${avdevice}.dylib | grep -B2 ${prefix}
install_name_tool \
-change ${prefix}/lib/${avutil}.dylib @rpath/${avutil}.dylib \
-delete_rpath ${prefix}/lib \
-id @rpath/${avfilter}.dylib \
${prefix}/lib/${avfilter}.dylib
otool -l ${prefix}/lib/${avfilter}.dylib | grep -B2 ${prefix}
install_name_tool \
-change ${prefix}/lib/${avcodec}.dylib @rpath/${avcodec}.dylib \
-change ${prefix}/lib/${avutil}.dylib @rpath/${avutil}.dylib \
-delete_rpath ${prefix}/lib \
-id @rpath/${avformat}.dylib \
${prefix}/lib/${avformat}.dylib
otool -l ${prefix}/lib/${avformat}.dylib | grep -B2 ${prefix}
install_name_tool \
-delete_rpath ${prefix}/lib \
-id @rpath/${avutil}.dylib \
${prefix}/lib/${avutil}.dylib
otool -l ${prefix}/lib/${avutil}.dylib | grep -B2 ${prefix}
fi
...@@ -190,7 +190,7 @@ setup_wheel_python() { ...@@ -190,7 +190,7 @@ setup_wheel_python() {
conda env remove -n "env$PYTHON_VERSION" || true conda env remove -n "env$PYTHON_VERSION" || true
conda create -yn "env$PYTHON_VERSION" python="$PYTHON_VERSION" conda create -yn "env$PYTHON_VERSION" python="$PYTHON_VERSION"
conda activate "env$PYTHON_VERSION" conda activate "env$PYTHON_VERSION"
conda install --quiet -y pkg-config 'ffmpeg>=4.1' conda install --quiet -y pkg-config
else else
case "$PYTHON_VERSION" in case "$PYTHON_VERSION" in
2.7) 2.7)
......
...@@ -23,7 +23,6 @@ requirements: ...@@ -23,7 +23,6 @@ requirements:
{{ environ.get('CONDA_PYTORCH_BUILD_CONSTRAINT', 'pytorch') }} {{ environ.get('CONDA_PYTORCH_BUILD_CONSTRAINT', 'pytorch') }}
{{ environ.get('CONDA_EXTRA_BUILD_CONSTRAINT', '') }} {{ environ.get('CONDA_EXTRA_BUILD_CONSTRAINT', '') }}
{{ environ.get('CONDA_CUDATOOLKIT_CONSTRAINT', '') }} {{ environ.get('CONDA_CUDATOOLKIT_CONSTRAINT', '') }}
- ffmpeg >=4.1
run: run:
- python - python
...@@ -32,6 +31,7 @@ requirements: ...@@ -32,6 +31,7 @@ requirements:
- pytorch-mutex 1.0 {{ build_variant }} # [not osx ] - pytorch-mutex 1.0 {{ build_variant }} # [not osx ]
{{ environ.get('CONDA_PYTORCH_CONSTRAINT', 'pytorch') }} {{ environ.get('CONDA_PYTORCH_CONSTRAINT', 'pytorch') }}
{{ environ.get('CONDA_CUDATOOLKIT_CONSTRAINT', '') }} {{ environ.get('CONDA_CUDATOOLKIT_CONSTRAINT', '') }}
- ffmpeg>=4.1,<5
{% if build_variant == 'cpu' %} {% if build_variant == 'cpu' %}
run_constrained: run_constrained:
...@@ -48,6 +48,7 @@ build: ...@@ -48,6 +48,7 @@ build:
- USE_CUDA - USE_CUDA
- TORCH_CUDA_ARCH_LIST - TORCH_CUDA_ARCH_LIST
- BUILD_FFMPEG - BUILD_FFMPEG
- FFMPEG_ROOT
test: test:
imports: imports:
...@@ -56,6 +57,7 @@ test: ...@@ -56,6 +57,7 @@ test:
- torchaudio.kaldi_io - torchaudio.kaldi_io
- torchaudio.sox_effects - torchaudio.sox_effects
- torchaudio.transforms - torchaudio.transforms
- torchaudio.prototype.io
source_files: source_files:
- test - test
......
#!/usr/bin/env bash
# Helper script to install MINIMUM ffmpeg in centos:7.
# The goal of this script is to allow bootstrapping the ffmpeg-feature build
# for Linux/wheel build process which happens in centos-based Docker.
# It is not intended to build the useful feature subset of ffmpegs
set -eux
build_dir=$(mktemp -d -t ffmpeg-build-XXXXXXXXXX)
cleanup() {
echo rm -rf "${build_dir}"
}
trap cleanup EXIT
cd "${build_dir}"
wget --quiet -O ffmpeg.tar.gz https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n4.1.8.tar.gz
tar -xf ffmpeg.tar.gz --strip-components 1
./configure \
--disable-all \
--disable-static \
--enable-shared \
--enable-pic \
--disable-debug \
--disable-doc \
--disable-autodetect \
--disable-x86asm \
--enable-avcodec \
--enable-avdevice \
--enable-avfilter \
--enable-avformat \
--enable-avutil
make -j install
...@@ -182,6 +182,7 @@ if(BUILD_FFMPEG) ...@@ -182,6 +182,7 @@ if(BUILD_FFMPEG)
ffmpeg/stream_processor.cpp ffmpeg/stream_processor.cpp
ffmpeg/streamer.cpp ffmpeg/streamer.cpp
) )
message(STATUS "FFMPEG_ROOT=$ENV{FFMPEG_ROOT}")
find_package(FFMPEG 4.1 REQUIRED COMPONENTS avdevice avfilter avformat avcodec avutil) find_package(FFMPEG 4.1 REQUIRED COMPONENTS avdevice avfilter avformat avcodec avutil)
define_library( define_library(
libtorchaudio_ffmpeg libtorchaudio_ffmpeg
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment