From dd7ca385188b104ecfb171cd2aefe0a081e30d17 Mon Sep 17 00:00:00 2001 From: Karla Saur Date: Fri, 5 Jan 2024 19:38:39 +0000 Subject: [PATCH] will skip TVM python 3.11 for now, waiting on 0.12 in #709 --- .github/workflows/pythonapp.yml | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/.github/workflows/pythonapp.yml b/.github/workflows/pythonapp.yml index fb1c4ad8..4e2b10b3 100644 --- a/.github/workflows/pythonapp.yml +++ b/.github/workflows/pythonapp.yml @@ -20,7 +20,6 @@ jobs: runs-on: ${{ matrix.os }} strategy: - fail-fast: false matrix: os: [ubuntu-22.04, macos-12, windows-2022] python-version: ['3.8', '3.9', '3.10', '3.11'] @@ -82,36 +81,36 @@ jobs: run: | python -m pip install .[extra,onnx,sparkml] python -m pip install pandas - - name: Install TVM from pypi if Ubuntu - if: ${{ startsWith(matrix.os, 'ubuntu') }} - run: python -m pip install apache-tvm==0.11.1 + - name: Install TVM from pypi if Ubuntu and not python 3.11 + if: ${{ startsWith(matrix.os, 'ubuntu') && matrix.python-version != '3.11' }} + run: python -m pip install apache-tvm==0.10.0 - uses: actions/cache@v3 # TVM takes forever, we try to cache it. - if: ${{ startsWith(matrix.os, 'macos')}} + if: ${{ startsWith(matrix.os, 'macos') && matrix.python-version != '3.11' }} id: cache env: CACHE_NUMBER: 9 with: path: ~/work/hummingbird/tvm - key: ${{ matrix.os }}-${{ env.CACHE_NUMBER }}-${{ matrix.python-version }}-tvm-0.11.1 + key: ${{ matrix.os }}-${{ env.CACHE_NUMBER }}-${{ matrix.python-version }}-tvm-0.10 # Getting TVM requires: 1) Install LLVM 2) fetching TVM from github, 3) cmake, 4) make, 5) install python dependency. # 2 to 4 will be retrieved from the cache. # The pipeline only works for Unix systems. For windows we will have to compile LLVM from source which is a no go. - name: Install LLVM if Mac - if: ${{ startsWith(matrix.os, 'macos') }} + if: ${{ startsWith(matrix.os, 'macos') && matrix.python-version != '3.11'}} run: | brew install llvm@14 - name: Fetch and prepare TVM for compilation if Mac - if: ${{ steps.cache.outputs.cache-hit != 'true' && startsWith(matrix.os, 'macos') }} + if: ${{ steps.cache.outputs.cache-hit != 'true' && startsWith(matrix.os, 'macos') && matrix.python-version != '3.11' }} run: | cd ~/work/hummingbird git clone https://github.com/apache/tvm.git cd tvm - git checkout tags/v0.11.1 + git checkout tags/v0.10.0 git submodule update --recursive --init cmake -E make_directory build - name: CMake TVM if Mac - if: ${{ steps.cache.outputs.cache-hit != 'true' && startsWith(matrix.os, 'macos') }} + if: ${{ steps.cache.outputs.cache-hit != 'true' && startsWith(matrix.os, 'macos') && matrix.python-version != '3.11' }} working-directory: ../tvm/build run: >- MACOSX_DEPLOYMENT_TARGET=10.13 cmake @@ -120,12 +119,12 @@ jobs: "-DUSE_LLVM=$(brew --prefix llvm@14)/bin/llvm-config --link-static" .. - name: Build TVM if Mac - if: ${{ steps.cache.outputs.cache-hit != 'true' && startsWith(matrix.os, 'macos') }} + if: ${{ steps.cache.outputs.cache-hit != 'true' && startsWith(matrix.os, 'macos') && matrix.python-version != '3.11' }} working-directory: ../tvm/build run: | make -j3 - - name: Install python TVM if Mac - if: ${{ startsWith(matrix.os, 'macos') }} + - name: Install python TVM if Mac and not python 3.11 + if: ${{ startsWith(matrix.os, 'macos') && matrix.python-version != '3.11' }} working-directory: ../tvm/python run: | python -m pip install -U wheel packaging