mirror of https://github.com/llvm/torch-mlir
build: update ODS and shape library when updating PyTorch (#1450)
Updating the PyTorch version may break the Torch-MLIR build, as it did recently, since the PyTorch update caused the shape library to change, but the shape library was not updated in the commit for updating PyTorch. This patch introduces a new default-off environment variable to the build_linux_packages.sh script called `TM_UPDATE_ODS_AND_SHAPE_LIB` which instructs the script to run the update_torch_ods.sh and update_shape_lib.sh scripts. However, running these scripts requires an in-tree build and the tests that run for an in-tree build of Torch-MLIR are more comprehensive than those that run for an out-of-tree build, so this patch also swaps out the out-of-tree build for an in-tree build.pull/1424/head snapshot-20221003.615
parent
796c317aa9
commit
da02390188
|
@ -44,13 +44,14 @@ jobs:
|
|||
echo "PT_RELEASE=${PT_RELEASE}" >> ${GITHUB_ENV}
|
||||
echo "PT_HASH_CHANGED=${PT_HASH_CHANGED}" >> ${GITHUB_ENV}
|
||||
|
||||
- name: Build and test
|
||||
- name: Build and test (in-tree), also update ODS and shape library
|
||||
if: env.PT_HASH_CHANGED != '0'
|
||||
run: |
|
||||
cd ${GITHUB_WORKSPACE}
|
||||
TM_PACKAGES="out-of-tree" TM_USE_PYTORCH_BINARY="OFF" \
|
||||
TM_PACKAGES="in-tree" TM_USE_PYTORCH_BINARY="OFF" \
|
||||
TORCH_MLIR_SRC_PYTORCH_BRANCH="${{ env.PT_HASH }}" \
|
||||
TORCH_MLIR_SRC_PYTORCH_RELEASE="${{ env.PT_RELEASE }}" \
|
||||
TM_UPDATE_ODS_AND_SHAPE_LIB="ON" \
|
||||
./build_tools/python_deploy/build_linux_packages.sh
|
||||
|
||||
- name: Push changes to main branch
|
||||
|
@ -61,5 +62,5 @@ jobs:
|
|||
git config user.name "Roll PyTorch Action"
|
||||
git fetch --recurse-submodules=no
|
||||
git checkout main
|
||||
git add pytorch-version.txt pytorch-requirements.txt
|
||||
git add pytorch-version.txt pytorch-requirements.txt lib/Dialect/Torch/Transforms/ShapeLibrary.cpp include/torch-mlir/Dialect/Torch/IR/GeneratedTorchOps.td
|
||||
git diff --cached --exit-code || (git commit -m "update PyTorch version to ${{ env.PT_RELEASE }}" && git push --set-upstream origin main)
|
||||
|
|
|
@ -53,6 +53,8 @@ TM_PACKAGES="${TM_PACKAGES:-torch-mlir}"
|
|||
TM_USE_PYTORCH_BINARY="${TM_USE_PYTORCH_BINARY:-ON}"
|
||||
# Skip running tests if you want quick iteration
|
||||
TM_SKIP_TESTS="${TM_SKIP_TESTS:-OFF}"
|
||||
# Update ODS and shape library files
|
||||
TM_UPDATE_ODS_AND_SHAPE_LIB="${TM_UPDATE_ODS_AND_SHAPE_LIB:-OFF}"
|
||||
|
||||
PKG_VER_FILE="${repo_root}"/torch_mlir_package_version ; [ -f "$PKG_VER_FILE" ] && . "$PKG_VER_FILE"
|
||||
TORCH_MLIR_PYTHON_PACKAGE_VERSION="${TORCH_MLIR_PYTHON_PACKAGE_VERSION:-0.0.1}"
|
||||
|
@ -109,6 +111,7 @@ function run_on_host() {
|
|||
-e "TM_PYTHON_VERSIONS=${TM_PYTHON_VERSIONS}" \
|
||||
-e "TM_PACKAGES=${package}" \
|
||||
-e "TM_SKIP_TESTS=${TM_SKIP_TESTS}" \
|
||||
-e "TM_UPDATE_ODS_AND_SHAPE_LIB=${TM_UPDATE_ODS_AND_SHAPE_LIB}" \
|
||||
-e "TM_USE_PYTORCH_BINARY=${TM_USE_PYTORCH_BINARY}" \
|
||||
-e "TORCH_MLIR_SRC_PYTORCH_REPO=${TORCH_MLIR_SRC_PYTORCH_REPO}" \
|
||||
-e "TORCH_MLIR_SRC_PYTORCH_BRANCH=${TORCH_MLIR_SRC_PYTORCH_BRANCH}" \
|
||||
|
@ -152,6 +155,10 @@ function run_in_docker() {
|
|||
in-tree)
|
||||
setup_venv "$python_version"
|
||||
build_in_tree "$TM_USE_PYTORCH_BINARY" "$python_version"
|
||||
if [ "${TM_UPDATE_ODS_AND_SHAPE_LIB}" == "ON" ]; then
|
||||
./build_tools/update_torch_ods.sh
|
||||
./build_tools/update_shape_lib.sh
|
||||
fi
|
||||
if [ "${TM_SKIP_TESTS}" == "OFF" ]; then
|
||||
test_in_tree;
|
||||
fi
|
||||
|
|
Loading…
Reference in New Issue