From 97653cb15a896ea66792a25ebd47059bd56adeb4 Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Thu, 24 Mar 2022 11:38:15 +0100 Subject: [PATCH 1/9] Manually add libtorch op test --- tests/python/contrib/test_libtorch_ops.py | 4 +++- tests/scripts/task_python_integration.sh | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/python/contrib/test_libtorch_ops.py b/tests/python/contrib/test_libtorch_ops.py index 28ae39c329f5..b225ba745ca1 100644 --- a/tests/python/contrib/test_libtorch_ops.py +++ b/tests/python/contrib/test_libtorch_ops.py @@ -15,6 +15,8 @@ # specific language governing permissions and limitations # under the License. +import tvm.testing + import pytest import tvm.relay @@ -28,7 +30,7 @@ torch = None import_torch_error = str(e) - +@tvm.testing.requires_gpu @pytest.mark.skipif(torch is None, reason=f"PyTorch is not available: {import_torch_error}") def test_backend(): @torch.jit.script diff --git a/tests/scripts/task_python_integration.sh b/tests/scripts/task_python_integration.sh index d831481acea6..f0330582ff09 100755 --- a/tests/scripts/task_python_integration.sh +++ b/tests/scripts/task_python_integration.sh @@ -64,6 +64,9 @@ run_pytest ctypes ${TVM_INTEGRATION_TESTSUITE_NAME}-integration tests/python/int run_pytest ctypes ${TVM_INTEGRATION_TESTSUITE_NAME}-contrib tests/python/contrib --ignore=tests/python/contrib/test_ethosu run_pytest ctypes ${TVM_INTEGRATION_TESTSUITE_NAME}-contrib-test_ethosu tests/python/contrib/test_ethosu -n auto +# we want this to run in particular in integration-gpu because there we have PyTorch +run_pytest cython libtorch tests/python/contrib/test_libtorch_ops.py + # forked is needed because the global registry gets contaminated TVM_TEST_TARGETS="${TVM_RELAY_TEST_TARGETS:-llvm;cuda}" \ run_pytest ctypes ${TVM_INTEGRATION_TESTSUITE_NAME}-relay tests/python/relay From eb6ad916c9d1c17e3bd7d06a04737d0cda346967 Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Thu, 24 Mar 2022 12:40:28 +0100 Subject: [PATCH 2/9] fix black difference --- tests/python/contrib/test_libtorch_ops.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/python/contrib/test_libtorch_ops.py b/tests/python/contrib/test_libtorch_ops.py index b225ba745ca1..501f27f6060b 100644 --- a/tests/python/contrib/test_libtorch_ops.py +++ b/tests/python/contrib/test_libtorch_ops.py @@ -30,6 +30,7 @@ torch = None import_torch_error = str(e) + @tvm.testing.requires_gpu @pytest.mark.skipif(torch is None, reason=f"PyTorch is not available: {import_torch_error}") def test_backend(): From 85aba6ca5e551e546c9f06644258f9b7c870f4cf Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Thu, 24 Mar 2022 21:44:35 +0100 Subject: [PATCH 3/9] add USE_LIBTORCH to GPU build config --- tests/scripts/task_config_build_gpu.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/scripts/task_config_build_gpu.sh b/tests/scripts/task_config_build_gpu.sh index 0145eb387bf4..e3b61fc6f794 100755 --- a/tests/scripts/task_config_build_gpu.sh +++ b/tests/scripts/task_config_build_gpu.sh @@ -48,3 +48,4 @@ echo set\(USE_LIBBACKTRACE AUTO\) >> config.cmake echo set\(USE_CCACHE OFF\) >> config.cmake echo set\(SUMMARIZE ON\) >> config.cmake echo set\(HIDE_PRIVATE_SYMBOLS ON\) >> config.cmake +echo set\(USE_LIBTORCH $(python -c "import os.path, torch ; print(os.path.dirname(torch.__file__))")\) >> config.cmake From 244609b1c8b513b092388716edc6f9b362b88fba Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Fri, 25 Mar 2022 17:24:46 +0100 Subject: [PATCH 4/9] Update tests/scripts/task_config_build_gpu.sh Co-authored-by: driazati <9407960+driazati@users.noreply.github.com> --- tests/scripts/task_config_build_gpu.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/scripts/task_config_build_gpu.sh b/tests/scripts/task_config_build_gpu.sh index e3b61fc6f794..9a6f6e2eb5c5 100755 --- a/tests/scripts/task_config_build_gpu.sh +++ b/tests/scripts/task_config_build_gpu.sh @@ -48,4 +48,4 @@ echo set\(USE_LIBBACKTRACE AUTO\) >> config.cmake echo set\(USE_CCACHE OFF\) >> config.cmake echo set\(SUMMARIZE ON\) >> config.cmake echo set\(HIDE_PRIVATE_SYMBOLS ON\) >> config.cmake -echo set\(USE_LIBTORCH $(python -c "import os.path, torch ; print(os.path.dirname(torch.__file__))")\) >> config.cmake +echo set\(USE_LIBTORCH $(python3 -c "import os.path, torch ; print(os.path.dirname(torch.__file__))")\) >> config.cmake From 5efcc99144a1a05ef87da6abc80993bc8cc19d89 Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Fri, 25 Mar 2022 17:47:33 +0100 Subject: [PATCH 5/9] include dlpack at very top --- src/relay/backend/contrib/libtorch/libtorch_codegen.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/relay/backend/contrib/libtorch/libtorch_codegen.cc b/src/relay/backend/contrib/libtorch/libtorch_codegen.cc index f70466f00eed..419e024284cb 100644 --- a/src/relay/backend/contrib/libtorch/libtorch_codegen.cc +++ b/src/relay/backend/contrib/libtorch/libtorch_codegen.cc @@ -22,8 +22,8 @@ * \brief Implementation of libtorch codegen. */ -#include #include +#include #include #include #include From 355c5a45bba625ee13110d82bff7c67557353c4b Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Fri, 1 Apr 2022 20:05:16 +0200 Subject: [PATCH 6/9] undo messing with the includes --- src/relay/backend/contrib/libtorch/libtorch_codegen.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/relay/backend/contrib/libtorch/libtorch_codegen.cc b/src/relay/backend/contrib/libtorch/libtorch_codegen.cc index 419e024284cb..f70466f00eed 100644 --- a/src/relay/backend/contrib/libtorch/libtorch_codegen.cc +++ b/src/relay/backend/contrib/libtorch/libtorch_codegen.cc @@ -22,8 +22,8 @@ * \brief Implementation of libtorch codegen. */ -#include #include +#include #include #include #include From 70a8929753ade7faf5a139ee14a9a8b00a87f730 Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Fri, 1 Apr 2022 21:13:40 +0200 Subject: [PATCH 7/9] reorder includes to avoid redifinition warning --- src/runtime/contrib/libtorch/libtorch_runtime.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/runtime/contrib/libtorch/libtorch_runtime.cc b/src/runtime/contrib/libtorch/libtorch_runtime.cc index e76d04389ec7..e57ec426546b 100644 --- a/src/runtime/contrib/libtorch/libtorch_runtime.cc +++ b/src/runtime/contrib/libtorch/libtorch_runtime.cc @@ -24,16 +24,15 @@ // we do not want clang to reorder our includes // clang-format off -#include -#include -#include -#include - #include #include #include #include +#include +#include +#include +#include // clang-format on #include From daed2cce8f10ffe89f0d8c75f1a4fadc4b28097a Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Fri, 22 Apr 2022 16:48:42 +0200 Subject: [PATCH 8/9] experimentally use self-built cmake like arm for ci-gpu --- docker/Dockerfile.ci_gpu | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docker/Dockerfile.ci_gpu b/docker/Dockerfile.ci_gpu index 7816422b6492..1216f12668c5 100644 --- a/docker/Dockerfile.ci_gpu +++ b/docker/Dockerfile.ci_gpu @@ -32,6 +32,9 @@ RUN bash /install/ubuntu1804_install_python.sh # Globally disable pip cache RUN pip config set global.no-cache-dir false +COPY install/ubuntu_install_cmake_source.sh /install/ubuntu_install_cmake_source.sh +RUN bash /install/ubuntu_install_cmake_source.sh + COPY install/ubuntu1804_install_llvm.sh /install/ubuntu1804_install_llvm.sh RUN bash /install/ubuntu1804_install_llvm.sh From 9873eaa767c1a61818cda3aa91add7a0635fe493 Mon Sep 17 00:00:00 2001 From: Thomas Viehmann Date: Fri, 20 May 2022 09:05:50 +0200 Subject: [PATCH 9/9] use libtorch --- tests/scripts/task_config_build_gpu.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/scripts/task_config_build_gpu.sh b/tests/scripts/task_config_build_gpu.sh index 9a6f6e2eb5c5..6f37054264c4 100755 --- a/tests/scripts/task_config_build_gpu.sh +++ b/tests/scripts/task_config_build_gpu.sh @@ -48,4 +48,4 @@ echo set\(USE_LIBBACKTRACE AUTO\) >> config.cmake echo set\(USE_CCACHE OFF\) >> config.cmake echo set\(SUMMARIZE ON\) >> config.cmake echo set\(HIDE_PRIVATE_SYMBOLS ON\) >> config.cmake -echo set\(USE_LIBTORCH $(python3 -c "import os.path, torch ; print(os.path.dirname(torch.__file__))")\) >> config.cmake +echo set\(USE_LIBTORCH /usr/local/libtorch\) >> config.cmake