mirror of
https://github.com/saymrwulf/onnxruntime.git
synced 2026-06-04 23:59:56 +00:00
[LazyTensor] Make LORT Build Again with Latest PyTorch (#13303)
`python setup.py develop` doesn't install PyTorch as a normal package in site-packages anymore, and the user must stay at PyTorch's root directory to call `import torch`. This will break LORT tests because LORT tests contains `import torch` and are called outside PyTorch root directory. To make PyTorch a normal package again, this PR build PyTorch with `python setup.py install`.
This commit is contained in:
parent
db32eacda1
commit
dc324b1d90
3 changed files with 16 additions and 24 deletions
|
|
@ -157,19 +157,21 @@ if (onnxruntime_ENABLE_EAGER_MODE OR onnxruntime_ENABLE_LAZY_TENSOR)
|
|||
"${REPO_ROOT}/cmake/external/protobuf/src"
|
||||
${TORCH_INCLUDE_DIRS})
|
||||
|
||||
if (onnxruntime_ENABLE_EAGER_MODE)
|
||||
# For eager mode, torch build has a mkl dependency from torch's cmake config,
|
||||
# Linking to torch libraries to avoid this unnecessary mkl dependency.
|
||||
target_include_directories(onnxruntime_pybind11_state PRIVATE "${TORCH_INSTALL_PREFIX}/include" "${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include")
|
||||
find_library(LIBTORCH_LIBRARY torch PATHS "${TORCH_INSTALL_PREFIX}/lib")
|
||||
find_library(LIBTORCH_CPU_LIBRARY torch_cpu PATHS "${TORCH_INSTALL_PREFIX}/lib")
|
||||
find_library(LIBC10_LIBRARY c10 PATHS "${TORCH_INSTALL_PREFIX}/lib")
|
||||
target_link_libraries(onnxruntime_pybind11_state PRIVATE ${LIBTORCH_LIBRARY} ${LIBTORCH_CPU_LIBRARY} ${LIBC10_LIBRARY})
|
||||
endif()
|
||||
|
||||
# For eager mode, torch build has a mkl dependency from torch's cmake config,
|
||||
# Linking to torch libraries to avoid this unnecessary mkl dependency.
|
||||
target_include_directories(onnxruntime_pybind11_state PRIVATE "${TORCH_INSTALL_PREFIX}/include" "${TORCH_INSTALL_PREFIX}/include/torch/csrc/api/include")
|
||||
find_library(LIBTORCH_LIBRARY torch PATHS "${TORCH_INSTALL_PREFIX}/lib")
|
||||
find_library(LIBTORCH_CPU_LIBRARY torch_cpu PATHS "${TORCH_INSTALL_PREFIX}/lib")
|
||||
find_library(LIBC10_LIBRARY c10 PATHS "${TORCH_INSTALL_PREFIX}/lib")
|
||||
# Explicitly link torch_python to workaround https://github.com/pytorch/pytorch/issues/38122#issuecomment-694203281
|
||||
find_library(TORCH_PYTHON_LIBRARY torch_python PATHS "${TORCH_INSTALL_PREFIX}/lib")
|
||||
target_link_libraries(onnxruntime_pybind11_state PRIVATE ${TORCH_PYTHON_LIBRARY})
|
||||
target_link_libraries(onnxruntime_pybind11_state PRIVATE ${LIBTORCH_LIBRARY} ${LIBTORCH_CPU_LIBRARY} ${LIBC10_LIBRARY} ${TORCH_PYTHON_LIBRARY})
|
||||
if (onnxruntime_USE_CUDA)
|
||||
find_library(LIBTORCH_CUDA_LIBRARY torch_cuda PATHS "${TORCH_INSTALL_PREFIX}/lib")
|
||||
find_library(LIBC10_CUDA_LIBRARY c10_cuda PATHS "${TORCH_INSTALL_PREFIX}/lib")
|
||||
target_link_libraries(onnxruntime_pybind11_state PRIVATE ${LIBTORCH_CUDA_LIBRARY} ${LIBC10_CUDA_LIBRARY})
|
||||
endif()
|
||||
|
||||
if (onnxruntime_ENABLE_EAGER_MODE)
|
||||
target_link_libraries(onnxruntime_pybind11_state PRIVATE onnxruntime_eager)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -10,8 +10,7 @@
|
|||
#include <string>
|
||||
#include <vector>
|
||||
// Pytorch.
|
||||
#include <torch/csrc/jit/passes/onnx.h>
|
||||
#include <torch/csrc/jit/passes/shape_analysis.h>
|
||||
#include <torch/csrc/onnx/onnx.h>
|
||||
#include <torch/torch.h>
|
||||
// ORT friends.
|
||||
#include "core/common/logging/sinks/clog_sink.h"
|
||||
|
|
|
|||
|
|
@ -94,17 +94,8 @@ echo "Installing Pytorch requirements"
|
|||
/opt/python/cp39-cp39/bin/python3.9 -m pip install -r requirements.txt
|
||||
/opt/python/cp39-cp39/bin/python3.9 -m pip install flatbuffers cerberus h5py onnx
|
||||
echo "Building and installing Pytorch"
|
||||
VERBOSE=1 BUILD_LAZY_TS_BACKEND=1 /opt/python/cp39-cp39/bin/python3.9 setup.py develop
|
||||
/opt/python/cp39-cp39/bin/python3.9 -c "import torch; print(f'Installed Pytorch: {torch.__version__}')"
|
||||
|
||||
echo "Installing valgrind"
|
||||
cd /tmp/src
|
||||
GetFile 'https://sourceware.org/pub/valgrind/valgrind-3.16.1.tar.bz2' /tmp/src/valgrind-3.16.1.tar.bz2
|
||||
tar -jxvf valgrind-3.16.1.tar.bz2
|
||||
cd valgrind-3.16.1
|
||||
./configure --prefix=/usr --libdir=/usr/lib64 --enable-only64bit --enable-tls
|
||||
make -j$(getconf _NPROCESSORS_ONLN)
|
||||
make install
|
||||
VERBOSE=1 BUILD_LAZY_TS_BACKEND=1 /opt/python/cp39-cp39/bin/python3.9 setup.py install
|
||||
cd ~ && /opt/python/cp39-cp39/bin/python3.9 -c "import torch; print(f'Installed Pytorch: {torch.__version__}')"
|
||||
|
||||
cd /
|
||||
rm -rf /tmp/src
|
||||
|
|
|
|||
Loading…
Reference in a new issue