deps-cache #931
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: deps-cache | |
on: | |
push: | |
branches: [main] | |
paths: | |
- '.github/workflows/deps-cache.yml' | |
pull_request: | |
branches: [main] | |
paths: | |
- '.github/workflows/deps-cache.yml' | |
schedule: | |
- cron: '0 12 * * *' | |
env: | |
LIBTORCH_VERSION: 2.5.0 | |
TORCHVISION_VERSION: 0.20.0 | |
PROTOBUF_VERSION: 21.12 | |
ONNXRUNTIME_VERSION: 1.19.2 | |
CACHE_DATE: 20241018 | |
jobs: | |
linux-deps: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: pnnx-patches | |
uses: actions/checkout@v4 | |
with: | |
path: pnnx-patches | |
- name: cache-libtorch | |
id: cache-libtorch | |
uses: actions/[email protected] | |
with: | |
path: "/tmp/libtorch" | |
key: libtorch-${{ env.LIBTORCH_VERSION }}-linux-${{ env.CACHE_DATE }} | |
- name: libtorch | |
if: steps.cache-libtorch.outputs.cache-hit != 'true' | |
uses: pypa/[email protected] | |
env: | |
CIBW_ARCHS_LINUX: "x86_64" | |
CIBW_BUILD: 'cp310-manylinux_x86_64' | |
CIBW_BUILD_VERBOSITY: 1 | |
CIBW_REPAIR_WHEEL_COMMAND: "" | |
CIBW_BEFORE_ALL: yum install devtoolset-10 wget zip -y && | |
wget -q https://github.com/pytorch/pytorch/releases/download/v${{ env.LIBTORCH_VERSION }}/pytorch-v${{ env.LIBTORCH_VERSION }}.tar.gz && | |
tar -xf pytorch-v${{ env.LIBTORCH_VERSION }}.tar.gz && | |
cd pytorch-v${{ env.LIBTORCH_VERSION }} && | |
pip install -r requirements.txt && | |
patch -p1 -i /project/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-fix-mobile-build.patch && | |
patch -p1 -i /project/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-no-link-system-lib.patch && | |
patch -p1 -i /project/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-fix-pocketfft-build.patch && | |
mkdir -p build && cd build && | |
cmake -DCMAKE_INSTALL_PREFIX="/host/tmp/libtorch" -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_SHARED_LIBS=OFF | |
-DBUILD_CAFFE2_OPS=OFF | |
-DBUILD_CUSTOM_PROTOBUF=OFF | |
-DBUILD_LITE_INTERPRETER=OFF | |
-DBUILD_PYTHON=OFF | |
-DINTERN_BUILD_MOBILE=ON | |
-DINTERN_DISABLE_AUTOGRAD=ON | |
-DINTERN_DISABLE_ONNX=ON | |
-DUSE_CUDA=OFF | |
-DUSE_DISTRIBUTED=OFF | |
-DUSE_ITT=OFF | |
-DUSE_KINETO=OFF | |
-DUSE_LITE_INTERPRETER_PROFILER=OFF | |
-DUSE_MKLDNN=OFF | |
-DUSE_MPS=OFF | |
-DUSE_NUMPY=OFF | |
-DUSE_OPENMP=OFF | |
-DUSE_SOURCE_DEBUG_ON_MOBILE=OFF | |
-DUSE_XNNPACK=OFF | |
-DCMAKE_CXX_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/c++" | |
-DCMAKE_C_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/cc" | |
.. && | |
cmake --build . -j $(nproc) && | |
cmake --build . -j $(nproc) --target install/strip | |
with: | |
package-dir: pnnx-patches | |
output-dir: wheelhouse1 | |
- name: cache-torchvision | |
id: cache-torchvision | |
uses: actions/[email protected] | |
with: | |
path: "/tmp/torchvision" | |
key: torchvision-${{ env.TORCHVISION_VERSION }}-linux-${{ env.CACHE_DATE }} | |
- name: torchvision | |
if: steps.cache-torchvision.outputs.cache-hit != 'true' | |
uses: pypa/[email protected] | |
env: | |
CIBW_ARCHS_LINUX: "x86_64" | |
CIBW_BUILD: 'cp310-manylinux_x86_64' | |
CIBW_BUILD_VERBOSITY: 1 | |
CIBW_REPAIR_WHEEL_COMMAND: "" | |
CIBW_BEFORE_ALL: yum install devtoolset-10 wget zip -y && | |
wget -q https://github.com/pytorch/vision/archive/refs/tags/v${{ env.TORCHVISION_VERSION }}.zip -O vision-${{ env.TORCHVISION_VERSION }}.zip && | |
unzip -q vision-${{ env.TORCHVISION_VERSION }}.zip && | |
cd vision-${{ env.TORCHVISION_VERSION }} && | |
patch -p1 -i /project/pnnx-patches/vision-${{ env.TORCHVISION_VERSION }}-ops-only.patch && | |
patch -p1 -i /project/pnnx-patches/vision-${{ env.TORCHVISION_VERSION }}-no-cuda-version.patch && | |
mkdir -p build && cd build && | |
cmake -DCMAKE_INSTALL_PREFIX="/host/tmp/torchvision" | |
-DTorch_DIR="/host/tmp/libtorch/share/cmake/Torch" | |
-DCMAKE_BUILD_TYPE=MinSizeRel -DWITH_PNG=OFF | |
-DCMAKE_C_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/cc" | |
-DCMAKE_CXX_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/c++" -DWITH_JPEG=OFF .. && | |
cmake --build . -j $(nproc) && | |
cmake --build . -j $(nproc) --target install/strip | |
with: | |
package-dir: pnnx-patches | |
output-dir: wheelhouse2 | |
- name: cache-onnxruntime | |
id: cache-onnxruntime | |
uses: actions/[email protected] | |
with: | |
path: "/tmp/onnxruntime" | |
key: onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-linux-${{ env.CACHE_DATE }} | |
- name: onnxruntime | |
if: steps.cache-onnxruntime.outputs.cache-hit != 'true' | |
uses: pypa/[email protected] | |
env: | |
CIBW_ARCHS_LINUX: "x86_64" | |
CIBW_BUILD: 'cp310-manylinux_x86_64' | |
CIBW_BUILD_VERBOSITY: 1 | |
CIBW_REPAIR_WHEEL_COMMAND: "" | |
CIBW_BEFORE_ALL: yum install devtoolset-10 wget zip -y && | |
wget -q https://github.com/protocolbuffers/protobuf/archive/v${{ env.PROTOBUF_VERSION }}.zip -O protobuf-${{ env.PROTOBUF_VERSION }}.zip && | |
unzip -q protobuf-${{ env.PROTOBUF_VERSION }}.zip && | |
cd protobuf-${{ env.PROTOBUF_VERSION }} && | |
mkdir -p build2 && cd build2 && | |
cmake -DCMAKE_INSTALL_PREFIX="/host/tmp/onnxruntime" -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_C_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/cc" | |
-DCMAKE_CXX_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/c++" -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_POSITION_INDEPENDENT_CODE=ON .. && | |
cmake --build . -j $(nproc) && | |
cmake --build . -j $(nproc) --target install/strip && | |
cd ../../ && | |
wget -q https://github.com/microsoft/onnxruntime/archive/v${{ env.ONNXRUNTIME_VERSION }}.zip -O onnxruntime-${{ env.ONNXRUNTIME_VERSION }}.zip && | |
unzip -q onnxruntime-${{ env.ONNXRUNTIME_VERSION }}.zip && | |
cd onnxruntime-${{ env.ONNXRUNTIME_VERSION }} && | |
patch -p1 -i /project/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-less-mlas-features.patch && | |
patch -p1 -i /project/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-monolithic-static-library.patch && | |
patch -p1 -i /project/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-use-clog.patch && | |
patch -p1 -i /project/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-fix-gcc-avxvnni-check.patch && | |
mkdir -p build2 && cd build2 && | |
cmake -DCMAKE_INSTALL_PREFIX="/host/tmp/onnxruntime" -DCMAKE_C_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/cc" | |
-DCMAKE_CXX_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/c++" -DCMAKE_BUILD_TYPE=MinSizeRel -Donnxruntime_USE_FULL_PROTOBUF=ON -Donnxruntime_BUILD_SHARED_LIB=ON -Donnxruntime_BUILD_UNIT_TESTS=OFF -Donnxruntime_ENABLE_CPUINFO=OFF -Donnxruntime_DISABLE_CONTRIB_OPS=ON -Donnxruntime_DISABLE_ML_OPS=ON -Donnxruntime_DISABLE_SPARSE_TENSORS=ON --compile-no-warning-as-error -DCMAKE_POSITION_INDEPENDENT_CODE=ON ../cmake && | |
cmake --build . -j $(nproc) && | |
cmake --build . -j $(nproc) --target install/strip | |
with: | |
package-dir: pnnx-patches | |
output-dir: wheelhouse3 | |
# libtorch builds very slow even on self-hosted runner | |
linux-aarch64-deps: | |
#runs-on: self-hosted | |
runs-on: ubuntu-latest | |
timeout-minutes: 1800 | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: pnnx-patches | |
uses: actions/checkout@v4 | |
with: | |
path: pnnx-patches | |
- name: cache-libtorch | |
id: cache-libtorch | |
uses: actions/[email protected] | |
with: | |
path: "/tmp/libtorch" | |
key: libtorch-${{ env.LIBTORCH_VERSION }}-linux-aarch64-${{ env.CACHE_DATE }} | |
- name: cache-torchvision | |
id: cache-torchvision | |
uses: actions/[email protected] | |
with: | |
path: "/tmp/torchvision" | |
key: torchvision-${{ env.TORCHVISION_VERSION }}-linux-aarch64-${{ env.CACHE_DATE }} | |
- name: cache-onnxruntime | |
id: cache-onnxruntime | |
uses: actions/[email protected] | |
with: | |
path: "/tmp/onnxruntime" | |
key: onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-linux-aarch64-${{ env.CACHE_DATE }} | |
- name: setup-qemu | |
if: steps.cache-libtorch.outputs.cache-hit != 'true' || steps.cache-torchvision.outputs.cache-hit != 'true' || steps.cache-onnxruntime.outputs.cache-hit != 'true' | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: arm64 | |
- name: libtorch | |
if: steps.cache-libtorch.outputs.cache-hit != 'true' | |
uses: pypa/[email protected] | |
env: | |
CIBW_ARCHS_LINUX: "aarch64" | |
CIBW_BUILD: 'cp310-manylinux_aarch64' | |
CIBW_BUILD_VERBOSITY: 1 | |
CIBW_REPAIR_WHEEL_COMMAND: "" | |
CIBW_BEFORE_ALL: yum install devtoolset-10 wget zip -y && | |
wget -q https://github.com/pytorch/pytorch/releases/download/v${{ env.LIBTORCH_VERSION }}/pytorch-v${{ env.LIBTORCH_VERSION }}.tar.gz && | |
tar -xf pytorch-v${{ env.LIBTORCH_VERSION }}.tar.gz && | |
cd pytorch-v${{ env.LIBTORCH_VERSION }} && | |
pip install -r requirements.txt && | |
patch -p1 -i /project/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-fix-mobile-build.patch && | |
patch -p1 -i /project/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-no-link-system-lib.patch && | |
patch -p1 -i /project/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-fix-pocketfft-build.patch && | |
patch -p1 -i /project/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-set-python-executable.patch && | |
mkdir -p build && cd build && | |
cmake -DCMAKE_INSTALL_PREFIX="/host/tmp/libtorch" -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_SHARED_LIBS=OFF | |
-DBUILD_CAFFE2_OPS=OFF | |
-DBUILD_CUSTOM_PROTOBUF=OFF | |
-DBUILD_LITE_INTERPRETER=OFF | |
-DBUILD_PYTHON=OFF | |
-DINTERN_BUILD_MOBILE=ON | |
-DINTERN_DISABLE_AUTOGRAD=ON | |
-DINTERN_DISABLE_ONNX=ON | |
-DUSE_CUDA=OFF | |
-DUSE_DISTRIBUTED=OFF | |
-DUSE_ITT=OFF | |
-DUSE_KINETO=OFF | |
-DUSE_LITE_INTERPRETER_PROFILER=OFF | |
-DUSE_MKLDNN=OFF | |
-DUSE_MPS=OFF | |
-DUSE_NUMPY=OFF | |
-DUSE_OPENMP=OFF | |
-DUSE_SOURCE_DEBUG_ON_MOBILE=OFF | |
-DUSE_XNNPACK=OFF | |
-DCMAKE_CXX_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/c++" | |
-DCMAKE_C_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/cc" | |
.. && | |
cmake --build . -j $(nproc) && | |
cmake --build . -j $(nproc) --target install/strip | |
with: | |
package-dir: pnnx-patches | |
output-dir: wheelhouse1 | |
- name: torchvision | |
if: steps.cache-torchvision.outputs.cache-hit != 'true' | |
uses: pypa/[email protected] | |
env: | |
CIBW_ARCHS_LINUX: "aarch64" | |
CIBW_BUILD: 'cp310-manylinux_aarch64' | |
CIBW_BUILD_VERBOSITY: 1 | |
CIBW_REPAIR_WHEEL_COMMAND: "" | |
CIBW_BEFORE_ALL: yum install devtoolset-10 wget zip -y && | |
wget -q https://github.com/pytorch/vision/archive/refs/tags/v${{ env.TORCHVISION_VERSION }}.zip -O vision-${{ env.TORCHVISION_VERSION }}.zip && | |
unzip -q vision-${{ env.TORCHVISION_VERSION }}.zip && | |
cd vision-${{ env.TORCHVISION_VERSION }} && | |
patch -p1 -i /project/pnnx-patches/vision-${{ env.TORCHVISION_VERSION }}-ops-only.patch && | |
patch -p1 -i /project/pnnx-patches/vision-${{ env.TORCHVISION_VERSION }}-no-cuda-version.patch && | |
mkdir -p build && cd build && | |
cmake -DCMAKE_INSTALL_PREFIX="/host/tmp/torchvision" | |
-DTorch_DIR="/host/tmp/libtorch/share/cmake/Torch" | |
-DCMAKE_BUILD_TYPE=MinSizeRel -DWITH_PNG=OFF | |
-DCMAKE_C_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/cc" | |
-DCMAKE_CXX_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/c++" -DWITH_JPEG=OFF .. && | |
cmake --build . -j $(nproc) && | |
cmake --build . -j $(nproc) --target install/strip | |
with: | |
package-dir: pnnx-patches | |
output-dir: wheelhouse2 | |
- name: onnxruntime | |
if: steps.cache-onnxruntime.outputs.cache-hit != 'true' | |
uses: pypa/[email protected] | |
env: | |
CIBW_ARCHS_LINUX: "aarch64" | |
CIBW_BUILD: 'cp310-manylinux_aarch64' | |
CIBW_BUILD_VERBOSITY: 1 | |
CIBW_REPAIR_WHEEL_COMMAND: "" | |
CIBW_BEFORE_ALL: yum install devtoolset-10 wget zip -y && | |
wget -q https://github.com/protocolbuffers/protobuf/archive/v${{ env.PROTOBUF_VERSION }}.zip -O protobuf-${{ env.PROTOBUF_VERSION }}.zip && | |
unzip -q protobuf-${{ env.PROTOBUF_VERSION }}.zip && | |
cd protobuf-${{ env.PROTOBUF_VERSION }} && | |
mkdir -p build2 && cd build2 && | |
cmake -DCMAKE_INSTALL_PREFIX="/host/tmp/onnxruntime" -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_C_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/cc" | |
-DCMAKE_CXX_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/c++" -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_POSITION_INDEPENDENT_CODE=ON .. && | |
cmake --build . -j $(nproc) && | |
cmake --build . -j $(nproc) --target install/strip && | |
cd ../../ && | |
wget -q https://github.com/microsoft/onnxruntime/archive/v${{ env.ONNXRUNTIME_VERSION }}.zip -O onnxruntime-${{ env.ONNXRUNTIME_VERSION }}.zip && | |
unzip -q onnxruntime-${{ env.ONNXRUNTIME_VERSION }}.zip && | |
cd onnxruntime-${{ env.ONNXRUNTIME_VERSION }} && | |
patch -p1 -i /project/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-less-mlas-features.patch && | |
patch -p1 -i /project/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-monolithic-static-library.patch && | |
patch -p1 -i /project/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-use-clog.patch && | |
patch -p1 -i /project/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-fix-gcc-avxvnni-check.patch && | |
mkdir -p build2 && cd build2 && | |
cmake -DCMAKE_INSTALL_PREFIX="/host/tmp/onnxruntime" -DCMAKE_C_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/cc" | |
-DCMAKE_CXX_COMPILER="/opt/rh/devtoolset-10/root/usr/bin/c++" -DCMAKE_BUILD_TYPE=MinSizeRel -Donnxruntime_USE_FULL_PROTOBUF=ON -Donnxruntime_BUILD_SHARED_LIB=ON -Donnxruntime_BUILD_UNIT_TESTS=OFF -Donnxruntime_ENABLE_CPUINFO=OFF -Donnxruntime_DISABLE_CONTRIB_OPS=ON -Donnxruntime_DISABLE_ML_OPS=ON -Donnxruntime_DISABLE_SPARSE_TENSORS=ON --compile-no-warning-as-error -DCMAKE_POSITION_INDEPENDENT_CODE=ON ../cmake && | |
cmake --build . -j $(nproc) && | |
cmake --build . -j $(nproc) --target install/strip | |
with: | |
package-dir: pnnx-patches | |
output-dir: wheelhouse3 | |
macos-x64-deps: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: pnnx-patches | |
uses: actions/checkout@v4 | |
with: | |
path: pnnx-patches | |
- name: cache-libtorch | |
id: cache-libtorch | |
uses: actions/[email protected] | |
with: | |
path: "libtorch" | |
key: libtorch-${{ env.LIBTORCH_VERSION }}-macos-x64-${{ env.CACHE_DATE }} | |
- name: libtorch | |
if: steps.cache-libtorch.outputs.cache-hit != 'true' | |
run: | | |
wget -q https://github.com/pytorch/pytorch/releases/download/v${{ env.LIBTORCH_VERSION }}/pytorch-v${{ env.LIBTORCH_VERSION }}.tar.gz | |
tar -xf pytorch-v${{ env.LIBTORCH_VERSION }}.tar.gz | |
cd pytorch-v${{ env.LIBTORCH_VERSION }} | |
pip3 install -r requirements.txt | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-fix-mobile-build.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-no-link-system-lib.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-fix-pocketfft-build.patch | |
mkdir -p build; cd build | |
cmake -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/libtorch" -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_SHARED_LIBS=OFF \ | |
-DBUILD_CAFFE2_OPS=OFF \ | |
-DBUILD_CUSTOM_PROTOBUF=OFF \ | |
-DBUILD_LITE_INTERPRETER=OFF \ | |
-DBUILD_PYTHON=OFF \ | |
-DINTERN_BUILD_MOBILE=ON \ | |
-DINTERN_DISABLE_AUTOGRAD=ON \ | |
-DINTERN_DISABLE_ONNX=ON \ | |
-DUSE_CUDA=OFF \ | |
-DUSE_DISTRIBUTED=OFF \ | |
-DUSE_ITT=OFF \ | |
-DUSE_KINETO=OFF \ | |
-DUSE_LITE_INTERPRETER_PROFILER=OFF \ | |
-DUSE_MKLDNN=OFF \ | |
-DUSE_MPS=OFF \ | |
-DUSE_NUMPY=OFF \ | |
-DUSE_OPENMP=OFF \ | |
-DUSE_SOURCE_DEBUG_ON_MOBILE=OFF \ | |
-DUSE_XNNPACK=OFF \ | |
.. | |
cmake --build . -j 4 | |
cmake --build . -j 4 --target install/strip | |
- name: cache-torchvision | |
id: cache-torchvision | |
uses: actions/[email protected] | |
with: | |
path: "torchvision" | |
key: torchvision-${{ env.TORCHVISION_VERSION }}-macos-x64-${{ env.CACHE_DATE }} | |
- name: torchvision | |
if: steps.cache-torchvision.outputs.cache-hit != 'true' | |
run: | | |
wget -q https://github.com/pytorch/vision/archive/refs/tags/v${{ env.TORCHVISION_VERSION }}.zip -O vision-${{ env.TORCHVISION_VERSION }}.zip | |
unzip -q vision-${{ env.TORCHVISION_VERSION }}.zip | |
cd vision-${{ env.TORCHVISION_VERSION }} | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/vision-${{ env.TORCHVISION_VERSION }}-ops-only.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/vision-${{ env.TORCHVISION_VERSION }}-no-cuda-version.patch | |
mkdir -p build; cd build | |
cmake -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/torchvision" -DTorch_DIR="$GITHUB_WORKSPACE/libtorch/share/cmake/Torch" -DCMAKE_BUILD_TYPE=MinSizeRel -DWITH_PNG=OFF -DWITH_JPEG=OFF .. | |
cmake --build . -j 4 | |
cmake --build . -j 4 --target install/strip | |
- name: cache-onnxruntime | |
id: cache-onnxruntime | |
uses: actions/[email protected] | |
with: | |
path: "onnxruntime" | |
key: onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-macos-x64-${{ env.CACHE_DATE }} | |
- name: onnxruntime | |
if: steps.cache-onnxruntime.outputs.cache-hit != 'true' | |
run: | | |
wget -q https://github.com/protocolbuffers/protobuf/archive/v${{ env.PROTOBUF_VERSION }}.zip -O protobuf-${{ env.PROTOBUF_VERSION }}.zip | |
unzip -q protobuf-${{ env.PROTOBUF_VERSION }}.zip | |
cd protobuf-${{ env.PROTOBUF_VERSION }} | |
mkdir -p build2; cd build2; | |
cmake -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/onnxruntime" -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_POSITION_INDEPENDENT_CODE=ON .. | |
cmake --build . -j 4 | |
cmake --build . -j 4 --target install/strip | |
cd ../../ | |
wget -q https://github.com/microsoft/onnxruntime/archive/v${{ env.ONNXRUNTIME_VERSION }}.zip -O onnxruntime-${{ env.ONNXRUNTIME_VERSION }}.zip | |
ditto -V -x -k --sequesterRsrc --rsrc onnxruntime-${{ env.ONNXRUNTIME_VERSION }}.zip ./ | |
cd onnxruntime-${{ env.ONNXRUNTIME_VERSION }} | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-less-mlas-features.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-monolithic-static-library.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-use-clog.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-fix-gcc-avxvnni-check.patch | |
mkdir -p build2; cd build2; | |
cmake -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/onnxruntime" -DCMAKE_BUILD_TYPE=MinSizeRel -Donnxruntime_USE_FULL_PROTOBUF=ON -Donnxruntime_BUILD_SHARED_LIB=ON -Donnxruntime_BUILD_UNIT_TESTS=OFF -Donnxruntime_ENABLE_CPUINFO=OFF -Donnxruntime_DISABLE_CONTRIB_OPS=ON -Donnxruntime_DISABLE_SPARSE_TENSORS=ON --compile-no-warning-as-error -DCMAKE_POSITION_INDEPENDENT_CODE=ON ../cmake | |
cmake --build . -j 4 | |
cmake --build . -j 4 --target install/strip | |
macos-arm64-deps: | |
runs-on: macos-14 | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: pnnx-patches | |
uses: actions/checkout@v4 | |
with: | |
path: pnnx-patches | |
- name: cache-libtorch | |
id: cache-libtorch | |
uses: actions/[email protected] | |
with: | |
path: "libtorch" | |
key: libtorch-${{ env.LIBTORCH_VERSION }}-macos-arm64-${{ env.CACHE_DATE }} | |
- name: libtorch | |
if: steps.cache-libtorch.outputs.cache-hit != 'true' | |
run: | | |
wget -q https://github.com/pytorch/pytorch/releases/download/v${{ env.LIBTORCH_VERSION }}/pytorch-v${{ env.LIBTORCH_VERSION }}.tar.gz | |
tar -xf pytorch-v${{ env.LIBTORCH_VERSION }}.tar.gz | |
cd pytorch-v${{ env.LIBTORCH_VERSION }} | |
pip3 install -r requirements.txt | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-fix-mobile-build.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-no-link-system-lib.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-fix-pocketfft-build.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-set-python-executable.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/pytorch-v${{ env.LIBTORCH_VERSION }}-no-macos-arm64-sleef.patch | |
mkdir -p build; cd build | |
cmake -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/libtorch" -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_SHARED_LIBS=OFF \ | |
-DBUILD_CAFFE2_OPS=OFF \ | |
-DBUILD_CUSTOM_PROTOBUF=OFF \ | |
-DBUILD_LITE_INTERPRETER=OFF \ | |
-DBUILD_PYTHON=OFF \ | |
-DINTERN_BUILD_MOBILE=ON \ | |
-DINTERN_DISABLE_AUTOGRAD=ON \ | |
-DINTERN_DISABLE_ONNX=ON \ | |
-DUSE_CUDA=OFF \ | |
-DUSE_DISTRIBUTED=OFF \ | |
-DUSE_ITT=OFF \ | |
-DUSE_KINETO=OFF \ | |
-DUSE_LITE_INTERPRETER_PROFILER=OFF \ | |
-DUSE_MKLDNN=OFF \ | |
-DUSE_MPS=OFF \ | |
-DUSE_NUMPY=OFF \ | |
-DUSE_OPENMP=OFF \ | |
-DUSE_SOURCE_DEBUG_ON_MOBILE=OFF \ | |
-DUSE_XNNPACK=OFF \ | |
.. | |
cmake --build . -j 3 | |
cmake --build . -j 3 --target install/strip | |
- name: cache-torchvision | |
id: cache-torchvision | |
uses: actions/[email protected] | |
with: | |
path: "torchvision" | |
key: torchvision-${{ env.TORCHVISION_VERSION }}-macos-arm64-${{ env.CACHE_DATE }} | |
- name: torchvision | |
if: steps.cache-torchvision.outputs.cache-hit != 'true' | |
run: | | |
wget -q https://github.com/pytorch/vision/archive/refs/tags/v${{ env.TORCHVISION_VERSION }}.zip -O vision-${{ env.TORCHVISION_VERSION }}.zip | |
unzip -q vision-${{ env.TORCHVISION_VERSION }}.zip | |
cd vision-${{ env.TORCHVISION_VERSION }} | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/vision-${{ env.TORCHVISION_VERSION }}-ops-only.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/vision-${{ env.TORCHVISION_VERSION }}-no-cuda-version.patch | |
mkdir -p build; cd build | |
cmake -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/torchvision" -DTorch_DIR="$GITHUB_WORKSPACE/libtorch/share/cmake/Torch" -DCMAKE_BUILD_TYPE=MinSizeRel -DWITH_PNG=OFF -DWITH_JPEG=OFF .. | |
cmake --build . -j 3 | |
cmake --build . -j 3 --target install/strip | |
- name: cache-onnxruntime | |
id: cache-onnxruntime | |
uses: actions/[email protected] | |
with: | |
path: "onnxruntime" | |
key: onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-macos-arm64-${{ env.CACHE_DATE }} | |
- name: onnxruntime | |
if: steps.cache-onnxruntime.outputs.cache-hit != 'true' | |
run: | | |
wget -q https://github.com/protocolbuffers/protobuf/archive/v${{ env.PROTOBUF_VERSION }}.zip -O protobuf-${{ env.PROTOBUF_VERSION }}.zip | |
unzip -q protobuf-${{ env.PROTOBUF_VERSION }}.zip | |
cd protobuf-${{ env.PROTOBUF_VERSION }} | |
mkdir -p build2; cd build2; | |
cmake -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/onnxruntime" -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_POSITION_INDEPENDENT_CODE=ON .. | |
cmake --build . -j 3 | |
cmake --build . -j 3 --target install/strip | |
cd ../../ | |
wget -q https://github.com/microsoft/onnxruntime/archive/v${{ env.ONNXRUNTIME_VERSION }}.zip -O onnxruntime-${{ env.ONNXRUNTIME_VERSION }}.zip | |
ditto -V -x -k --sequesterRsrc --rsrc onnxruntime-${{ env.ONNXRUNTIME_VERSION }}.zip ./ | |
cd onnxruntime-${{ env.ONNXRUNTIME_VERSION }} | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-less-mlas-features.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-monolithic-static-library.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-use-clog.patch | |
patch -p1 -i $GITHUB_WORKSPACE/pnnx-patches/onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-fix-gcc-avxvnni-check.patch | |
mkdir -p build2; cd build2; | |
cmake -DCMAKE_INSTALL_PREFIX="$GITHUB_WORKSPACE/onnxruntime" -DCMAKE_BUILD_TYPE=MinSizeRel -Donnxruntime_USE_FULL_PROTOBUF=ON -Donnxruntime_BUILD_SHARED_LIB=ON -Donnxruntime_BUILD_UNIT_TESTS=OFF -Donnxruntime_ENABLE_CPUINFO=OFF -Donnxruntime_DISABLE_CONTRIB_OPS=ON -Donnxruntime_DISABLE_SPARSE_TENSORS=ON --compile-no-warning-as-error -DCMAKE_POSITION_INDEPENDENT_CODE=ON ../cmake | |
cmake --build . -j 3 | |
cmake --build . -j 3 --target install/strip | |
windows-deps: | |
runs-on: windows-2019 | |
env: | |
UseMultiToolTask: true | |
steps: | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
- name: pnnx-patches | |
uses: actions/checkout@v4 | |
with: | |
path: pnnx-patches | |
- name: cache-libtorch | |
id: cache-libtorch | |
uses: actions/[email protected] | |
with: | |
path: "libtorch" | |
key: libtorch-${{ env.LIBTORCH_VERSION }}-vs2019-${{ env.CACHE_DATE }} | |
- name: libtorch | |
if: steps.cache-libtorch.outputs.cache-hit != 'true' | |
run: | | |
Invoke-WebRequest -Uri https://github.com/pytorch/pytorch/releases/download/v${{ env.LIBTORCH_VERSION }}/pytorch-v${{ env.LIBTORCH_VERSION }}.tar.gz -OutFile pytorch-v${{ env.LIBTORCH_VERSION }}.tar.gz | |
7z x pytorch-v${{ env.LIBTORCH_VERSION }}.tar.gz | |
7z x pytorch-v${{ env.LIBTORCH_VERSION }}.tar | |
cd pytorch-v${{ env.LIBTORCH_VERSION }} | |
pip3 install -r requirements.txt | |
C:\msys64\usr\bin\patch.exe -p1 -i $env:GITHUB_WORKSPACE\pnnx-patches\pytorch-v${{ env.LIBTORCH_VERSION }}-fix-mobile-build.patch | |
C:\msys64\usr\bin\patch.exe -p1 -i $env:GITHUB_WORKSPACE\pnnx-patches\pytorch-v${{ env.LIBTORCH_VERSION }}-no-link-system-lib.patch | |
C:\msys64\usr\bin\patch.exe -p1 -i $env:GITHUB_WORKSPACE\pnnx-patches\pytorch-v${{ env.LIBTORCH_VERSION }}-fix-pocketfft-build.patch | |
C:\msys64\usr\bin\patch.exe -p1 -i $env:GITHUB_WORKSPACE\pnnx-patches\pytorch-v${{ env.LIBTORCH_VERSION }}-set-python-executable.patch | |
C:\msys64\usr\bin\patch.exe -p1 -i $env:GITHUB_WORKSPACE\pnnx-patches\pytorch-v${{ env.LIBTORCH_VERSION }}-no-mimalloc.patch | |
mkdir -p build; cd build | |
cmake -DCMAKE_INSTALL_PREFIX="$env:GITHUB_WORKSPACE/libtorch" -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_SHARED_LIBS=OFF -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded ` | |
-DBUILD_CAFFE2_OPS=OFF ` | |
-DBUILD_CUSTOM_PROTOBUF=OFF ` | |
-DBUILD_LITE_INTERPRETER=OFF ` | |
-DBUILD_PYTHON=OFF ` | |
-DINTERN_BUILD_MOBILE=ON ` | |
-DINTERN_DISABLE_AUTOGRAD=ON ` | |
-DINTERN_DISABLE_ONNX=ON ` | |
-DUSE_CUDA=OFF ` | |
-DUSE_DISTRIBUTED=OFF ` | |
-DUSE_ITT=OFF ` | |
-DUSE_KINETO=OFF ` | |
-DUSE_LITE_INTERPRETER_PROFILER=OFF ` | |
-DUSE_MKLDNN=OFF ` | |
-DUSE_MPS=OFF ` | |
-DUSE_NUMPY=OFF ` | |
-DUSE_OPENMP=OFF ` | |
-DUSE_SOURCE_DEBUG_ON_MOBILE=OFF ` | |
-DUSE_XNNPACK=OFF ` | |
.. | |
cmake --build . --config MinSizeRel -j 4 | |
cmake --build . --config MinSizeRel -j 4 --target install | |
- name: cache-torchvision | |
id: cache-torchvision | |
uses: actions/[email protected] | |
with: | |
path: "torchvision" | |
key: torchvision-${{ env.TORCHVISION_VERSION }}-vs2019-${{ env.CACHE_DATE }} | |
- name: torchvision | |
if: steps.cache-torchvision.outputs.cache-hit != 'true' | |
run: | | |
Invoke-WebRequest -Uri https://github.com/pytorch/vision/archive/refs/tags/v${{ env.TORCHVISION_VERSION }}.zip -OutFile vision-${{ env.TORCHVISION_VERSION }}.zip | |
7z x vision-${{ env.TORCHVISION_VERSION }}.zip | |
cd vision-${{ env.TORCHVISION_VERSION }} | |
C:\msys64\usr\bin\patch.exe -p1 -i $env:GITHUB_WORKSPACE\pnnx-patches\vision-${{ env.TORCHVISION_VERSION }}-ops-only.patch | |
C:\msys64\usr\bin\patch.exe -p1 -i $env:GITHUB_WORKSPACE\pnnx-patches\vision-${{ env.TORCHVISION_VERSION }}-no-cuda-version.patch | |
C:\msys64\usr\bin\patch.exe -p1 -i $env:GITHUB_WORKSPACE\pnnx-patches\vision-${{ env.TORCHVISION_VERSION }}-no-dll-export.patch | |
mkdir -p build; cd build | |
cmake -DCMAKE_INSTALL_PREFIX="$env:GITHUB_WORKSPACE/torchvision" -DTorch_DIR="$env:GITHUB_WORKSPACE/libtorch/share/cmake/Torch" -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DWITH_PNG=OFF -DWITH_JPEG=OFF .. | |
cmake --build . --config MinSizeRel -j 4 | |
cmake --build . --config MinSizeRel -j 4 --target install | |
- name: cache-onnxruntime | |
id: cache-onnxruntime | |
uses: actions/[email protected] | |
with: | |
path: "onnxruntime" | |
key: onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-vs2019-${{ env.CACHE_DATE }} | |
- name: onnxruntime | |
if: steps.cache-onnxruntime.outputs.cache-hit != 'true' | |
run: | | |
Invoke-WebRequest -Uri https://github.com/protocolbuffers/protobuf/archive/v${{ env.PROTOBUF_VERSION }}.zip -OutFile protobuf-${{ env.PROTOBUF_VERSION }}.zip | |
7z x ./protobuf-${{ env.PROTOBUF_VERSION }}.zip | |
cd protobuf-${{ env.PROTOBUF_VERSION }} | |
mkdir -p build2; cd build2; | |
cmake -DCMAKE_INSTALL_PREFIX="$env:GITHUB_WORKSPACE/onnxruntime" -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_MSVC_STATIC_RUNTIME=ON -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded .. | |
cmake --build . --config MinSizeRel -j 4 | |
cmake --build . --config MinSizeRel -j 4 --target install | |
cd ../../ | |
Invoke-WebRequest -Uri https://github.com/microsoft/onnxruntime/archive/v${{ env.ONNXRUNTIME_VERSION }}.zip -OutFile onnxruntime-${{ env.ONNXRUNTIME_VERSION }}.zip | |
7z x ./onnxruntime-${{ env.ONNXRUNTIME_VERSION }}.zip | |
cd onnxruntime-${{ env.ONNXRUNTIME_VERSION }} | |
C:\msys64\usr\bin\patch.exe -p1 -i $env:GITHUB_WORKSPACE\pnnx-patches\onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-less-mlas-features.patch | |
C:\msys64\usr\bin\patch.exe -p1 -i $env:GITHUB_WORKSPACE\pnnx-patches\onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-monolithic-static-library.patch | |
C:\msys64\usr\bin\patch.exe -p1 -i $env:GITHUB_WORKSPACE\pnnx-patches\onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-use-clog.patch | |
C:\msys64\usr\bin\patch.exe -p1 -i $env:GITHUB_WORKSPACE\pnnx-patches\onnxruntime-${{ env.ONNXRUNTIME_VERSION }}-fix-gcc-avxvnni-check.patch | |
mkdir -p build2; cd build2; | |
cmake -DCMAKE_INSTALL_PREFIX="$env:GITHUB_WORKSPACE/onnxruntime" -DCMAKE_BUILD_TYPE=MinSizeRel -Donnxruntime_USE_FULL_PROTOBUF=ON -Donnxruntime_BUILD_SHARED_LIB=ON -Donnxruntime_BUILD_UNIT_TESTS=OFF -Donnxruntime_ENABLE_CPUINFO=OFF -Donnxruntime_DISABLE_CONTRIB_OPS=ON -Donnxruntime_DISABLE_SPARSE_TENSORS=ON --compile-no-warning-as-error -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded -DONNX_USE_MSVC_STATIC_RUNTIME=ON -Dprotobuf_MSVC_STATIC_RUNTIME=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON ../cmake | |
cmake --build . --config MinSizeRel -j 4 | |
cmake --build . --config MinSizeRel -j 4 --target install |