From 0e0b42a72ef4c5f9e3c3030d96d592acabae87e1 Mon Sep 17 00:00:00 2001 From: Scott Todd Date: Tue, 7 Jan 2025 09:11:20 -0800 Subject: [PATCH] Move requirements-iree-*.txt to top level. (#765) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is prep work for https://github.com/nod-ai/shark-ai/issues/760. I also considered putting the files under `build_tools/` or `shark-ai/`, but we already have a few requirements files in the repository root. Still not as many as https://github.com/vllm-project/vllm though 😛. --- .github/workflows/ci-libshortfin.yml | 4 ++-- .github/workflows/ci-sdxl.yaml | 2 +- .github/workflows/ci_linux_x64_asan-libshortfin.yml | 2 +- requirements-iree-pinned.txt | 10 ++++++++++ requirements-iree-unpinned.txt | 9 +++++++++ shortfin/CMakeLists.txt | 6 ++++-- shortfin/requirements-iree-compiler.txt | 4 ---- 7 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 requirements-iree-pinned.txt create mode 100644 requirements-iree-unpinned.txt delete mode 100644 shortfin/requirements-iree-compiler.txt diff --git a/.github/workflows/ci-libshortfin.yml b/.github/workflows/ci-libshortfin.yml index 6acde5717..1c2f8aa89 100644 --- a/.github/workflows/ci-libshortfin.yml +++ b/.github/workflows/ci-libshortfin.yml @@ -101,12 +101,12 @@ jobs: cache: "pip" cache-dependency-path: | 'shortfin/requirements-tests.txt' - 'shortfin/requirements-iree-compiler.txt' + 'requirements-iree-pinned.txt' - name: Install Python packages working-directory: ${{ env.LIBSHORTFIN_DIR }} run: | pip install -r requirements-tests.txt - pip install -r requirements-iree-compiler.txt + pip install -r ../requirements-iree-pinned.txt pip freeze - name: Build shortfin diff --git a/.github/workflows/ci-sdxl.yaml b/.github/workflows/ci-sdxl.yaml index 102ef7817..5f10d5646 100644 --- a/.github/workflows/ci-sdxl.yaml +++ b/.github/workflows/ci-sdxl.yaml @@ -65,7 +65,7 @@ jobs: working-directory: ${{ env.LIBSHORTFIN_DIR }} run: | pip install -r requirements-tests.txt - pip install -r requirements-iree-compiler.txt + pip install -r ../requirements-iree-pinned.txt pip freeze - name: Install shortfin diff --git a/.github/workflows/ci_linux_x64_asan-libshortfin.yml b/.github/workflows/ci_linux_x64_asan-libshortfin.yml index 597c1855a..a0009b2ac 100644 --- a/.github/workflows/ci_linux_x64_asan-libshortfin.yml +++ b/.github/workflows/ci_linux_x64_asan-libshortfin.yml @@ -124,7 +124,7 @@ jobs: run: | eval "$(pyenv init -)" pip install -r requirements-tests.txt - pip install -r requirements-iree-compiler.txt + pip install -r ../requirements-iree-pinned.txt pip freeze - name: Save Python dependencies cache diff --git a/requirements-iree-pinned.txt b/requirements-iree-pinned.txt new file mode 100644 index 000000000..4ca1246ee --- /dev/null +++ b/requirements-iree-pinned.txt @@ -0,0 +1,10 @@ +# Pinned versions of IREE dependencies. + +# Keep these versions synced with SHORTFIN_IREE_GIT_TAG in shortfin/CMakeLists.txt +--pre +--find-links https://iree.dev/pip-release-links.html +iree-base-compiler==3.1.0rc20241204 +iree-base-runtime==3.1.0rc20241204 + +# TODO(#760): include iree-turbine in this requirements file too? +# iree-turbine==3.1.0rc20241205 diff --git a/requirements-iree-unpinned.txt b/requirements-iree-unpinned.txt new file mode 100644 index 000000000..09d4688dd --- /dev/null +++ b/requirements-iree-unpinned.txt @@ -0,0 +1,9 @@ +# Unpinned versions of IREE dependencies. + +--pre +--find-links https://iree.dev/pip-release-links.html +iree-base-compiler +iree-base-runtime + +# TODO(#760): include iree-turbine in this requirements file too? +# iree-turbine diff --git a/shortfin/CMakeLists.txt b/shortfin/CMakeLists.txt index 57aa76e12..dbc871591 100644 --- a/shortfin/CMakeLists.txt +++ b/shortfin/CMakeLists.txt @@ -43,8 +43,10 @@ endif() add_compile_options("$<$:/utf-8>") add_compile_options("$<$:/utf-8>") -# Pins -# Keep in sync with requirements-iree-compiler.txt. +# Version pins for dependencies. +# Prefer to keep the IREE git tag synced with the Python package version in the +# requirements-iree-pinned.txt file. At a minimum, the compiler from those +# packages must be compatible with the runtime at this source ref. set(SHORTFIN_IREE_GIT_TAG "iree-3.1.0rc20241220") # build options diff --git a/shortfin/requirements-iree-compiler.txt b/shortfin/requirements-iree-compiler.txt deleted file mode 100644 index 7b52a3470..000000000 --- a/shortfin/requirements-iree-compiler.txt +++ /dev/null @@ -1,4 +0,0 @@ -# Keep in sync with SHORTFIN_IREE_GIT_TAG in CMakeLists.txt --f https://iree.dev/pip-release-links.html -iree-base-compiler==3.1.0rc20241204 -iree-base-runtime==3.1.0rc20241204