mirror of https://github.com/llvm/torch-mlir
53 lines
2.0 KiB
Bash
53 lines
2.0 KiB
Bash
#!/bin/bash
|
|
# Updates auto-generated ODS files for the `torch` dialect.
|
|
#
|
|
# Environment variables:
|
|
# TORCH_MLIR_EXT_MODULES: comma-separated list of python module names
|
|
# which register custom PyTorch operators upon being imported.
|
|
# TORCH_MLIR_EXT_PYTHONPATH: colon-separated list of paths necessary
|
|
# for importing PyTorch extensions specified in TORCH_MLIR_EXT_MODULES.
|
|
# For more information on supporting custom operators, see:
|
|
# ${TORCH_MLIR}/python/torch_mlir/_torch_mlir_custom_op_example/README.md
|
|
|
|
set -euo pipefail
|
|
|
|
src_dir="$(realpath "$(dirname "$0")"/..)"
|
|
build_dir="$(realpath "${TORCH_MLIR_BUILD_DIR:-$src_dir/build}")"
|
|
torch_ir_include_dir="${src_dir}/include/torch-mlir/Dialect/Torch/IR"
|
|
|
|
in_tree_pkg_dir="${build_dir}/tools/torch-mlir/python_packages"
|
|
out_of_tree_pkg_dir="${build_dir}/python_packages"
|
|
|
|
if [[ ! -d "${in_tree_pkg_dir}" && ! -d "${out_of_tree_pkg_dir}" ]]; then
|
|
echo "Couldn't find in-tree or out-of-tree build, exiting."
|
|
exit 1
|
|
fi
|
|
|
|
# The `-nt` check works even if one of the two directories is missing.
|
|
if [[ "${in_tree_pkg_dir}" -nt "${out_of_tree_pkg_dir}" ]]; then
|
|
python_packages_dir="${in_tree_pkg_dir}"
|
|
else
|
|
python_packages_dir="${out_of_tree_pkg_dir}"
|
|
fi
|
|
|
|
TORCH_MLIR_EXT_PYTHONPATH="${TORCH_MLIR_EXT_PYTHONPATH:-""}"
|
|
pypath="${python_packages_dir}/torch_mlir"
|
|
if [ ! -z ${TORCH_MLIR_EXT_PYTHONPATH} ]; then
|
|
pypath="${pypath}:${TORCH_MLIR_EXT_PYTHONPATH}"
|
|
fi
|
|
TORCH_MLIR_EXT_MODULES="${TORCH_MLIR_EXT_MODULES:-""}"
|
|
ext_module="${ext_module:-""}"
|
|
if [ ! -z ${TORCH_MLIR_EXT_MODULES} ]; then
|
|
ext_module="${TORCH_MLIR_EXT_MODULES}"
|
|
fi
|
|
|
|
set +u
|
|
# To enable this python package, manually build torch_mlir with:
|
|
# -DTORCH_MLIR_ENABLE_PYTORCH_EXTENSIONS=ON
|
|
# TODO: move this package out of JIT_IR_IMPORTER.
|
|
PYTHONPATH="${PYTHONPATH}:${pypath}" python \
|
|
-m torch_mlir.jit_ir_importer.build_tools.torch_ods_gen \
|
|
--torch_ir_include_dir="${torch_ir_include_dir}" \
|
|
--pytorch_op_extensions="${ext_module}" \
|
|
--debug_registry_dump="${torch_ir_include_dir}/JITOperatorRegistryDump.txt"
|