From 887fb92f24fdac75efc47c87cedb3dd8f43b3831 Mon Sep 17 00:00:00 2001 From: Misha Chornyi Date: Thu, 5 Jun 2025 12:25:46 -0700 Subject: [PATCH 1/5] Remove 'libopencv' dependencies --- CMakeLists.txt | 31 ++----------------------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 313b85d..6dddd8c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -207,15 +207,6 @@ else() ) endif() set(OPENCV_LIBS - "libopencv_video.so" - "libopencv_videoio.so" - "libopencv_highgui.so" - "libopencv_imgcodecs.so" - "libopencv_imgproc.so" - "libopencv_core.so" - "libopencv_calib3d.so" - "libopencv_flann.so" - "libopencv_features2d.so" $,libjpeg.so.62,libjpeg.so> $,libpng16.so.16,libpng16.so> ) @@ -248,7 +239,7 @@ if (${TRITON_PYTORCH_DOCKER_BUILD}) COMMAND docker cp pytorch_backend_ptlib:${PY_INSTALL_PATH}/torch/lib/libtorch_cuda_linalg.so libtorch_cuda_linalg.so COMMAND docker cp pytorch_backend_ptlib:${PY_INSTALL_PATH}/torch/lib/libtorch_global_deps.so libtorch_global_deps.so COMMAND docker cp pytorch_backend_ptlib:${PY_INSTALL_PATH}/torch/lib/libcaffe2_nvrtc.so libcaffe2_nvrtc.so - # TODO: Revisit when not needed by making it part of cuda base container. + # TODO:Revisit when not needed by making it part of cuda base container. COMMAND docker cp -L pytorch_backend_ptlib:/usr/local/cuda/lib64/libcusparseLt.so libcusparseLt.so; COMMAND /bin/sh -c "if [ ${TRITON_PYTORCH_ENABLE_TORCHVISION} = 'ON' ]; then if [ ${RHEL_BUILD} = 'ON' ]; then docker cp -a -L pytorch_backend_ptlib:/usr/local/lib64/libtorchvision.so libtorchvision.so; else docker cp -a -L pytorch_backend_ptlib:/usr/local/${LIB_DIR}/libtorchvision.so.1 libtorchvision.so.1; fi; fi" COMMAND /bin/sh -c "if [ ${TRITON_PYTORCH_ENABLE_TORCHVISION} = 'ON' ]; then docker cp pytorch_backend_ptlib:/opt/pytorch/vision/torchvision/csrc include/torchvision/torchvision; fi" @@ -257,15 +248,7 @@ if (${TRITON_PYTORCH_DOCKER_BUILD}) COMMAND docker cp pytorch_backend_ptlib:/opt/pytorch/pytorch/LICENSE LICENSE.pytorch COMMAND docker cp pytorch_backend_ptlib:${PY_INSTALL_PATH}/torch/include include/torch COMMAND docker cp pytorch_backend_ptlib:/opt/pytorch/pytorch/torch/csrc/jit/codegen include/torch/torch/csrc/jit/. - COMMAND docker cp -L pytorch_backend_ptlib:/usr/local/${LIB_DIR}/libopencv_videoio.so libopencv_videoio.so - COMMAND docker cp -L pytorch_backend_ptlib:/usr/local/${LIB_DIR}/libopencv_highgui.so libopencv_highgui.so - COMMAND docker cp -L pytorch_backend_ptlib:/usr/local/${LIB_DIR}/libopencv_video.so libopencv_video.so - COMMAND docker cp -L pytorch_backend_ptlib:/usr/local/${LIB_DIR}/libopencv_imgcodecs.so libopencv_imgcodecs.so - COMMAND docker cp -L pytorch_backend_ptlib:/usr/local/${LIB_DIR}/libopencv_imgproc.so libopencv_imgproc.so - COMMAND docker cp -L pytorch_backend_ptlib:/usr/local/${LIB_DIR}/libopencv_core.so libopencv_core.so - COMMAND docker cp -L pytorch_backend_ptlib:/usr/local/${LIB_DIR}/libopencv_calib3d.so libopencv_calib3d.so - COMMAND docker cp -L pytorch_backend_ptlib:/usr/local/${LIB_DIR}/libopencv_features2d.so libopencv_features2d.so - COMMAND docker cp -L pytorch_backend_ptlib:/usr/local/${LIB_DIR}/libopencv_flann.so libopencv_flann.so + COMMAND /bin/sh -c "if [ ${RHEL_BUILD} = 'ON' ]; then docker cp -L pytorch_backend_ptlib:/usr/lib64/libjpeg.so.62 libjpeg.so.62; else docker cp -L pytorch_backend_ptlib:/usr/local/lib/libjpeg.so.62 libjpeg.so.62 && docker cp pytorch_backend_ptlib:/usr/lib/${LIBS_ARCH}-linux-gnu/libjpeg.so.8.2.2 libjpeg.so; fi;" COMMAND /bin/sh -c "if [ ${RHEL_BUILD} = 'ON' ]; then docker cp -L pytorch_backend_ptlib:/usr/lib64/libpng16.so.16 libpng16.so.16; else docker cp -L pytorch_backend_ptlib:/usr/lib/${LIBS_ARCH}-linux-gnu/libpng16.so libpng16.so; fi;" COMMAND /bin/sh -c "if [ -f libmkl_def.so.1 ]; then patchelf --add-needed libmkl_gnu_thread.so.1 libmkl_def.so.1; fi" @@ -482,19 +465,9 @@ if (${TRITON_PYTORCH_DOCKER_BUILD}) ) ENDFOREACH(plib) - set(OPENCV_VERSION "406") install( CODE "EXECUTE_PROCESS( - COMMAND ln -sf libopencv_video.so libopencv_video.so.${OPENCV_VERSION} - COMMAND ln -sf libopencv_videoio.so libopencv_videoio.so.${OPENCV_VERSION} - COMMAND ln -sf libopencv_highgui.so libopencv_highgui.so.${OPENCV_VERSION} - COMMAND ln -sf libopencv_imgcodecs.so libopencv_imgcodecs.so.${OPENCV_VERSION} - COMMAND ln -sf libopencv_imgproc.so libopencv_imgproc.so.${OPENCV_VERSION} - COMMAND ln -sf libopencv_core.so libopencv_core.so.${OPENCV_VERSION} - COMMAND ln -sf libopencv_calib3d.so libopencv_calib3d.so.${OPENCV_VERSION} - COMMAND ln -sf libopencv_features2d.so libopencv_features2d.so.${OPENCV_VERSION} - COMMAND ln -sf libopencv_flann.so libopencv_flann.so.${OPENCV_VERSION} COMMAND ln -sf libpng16.so libpng16.so.16 COMMAND ln -sf libjpeg.so libjpeg.so.8 COMMAND ln -sf libcusparseLt.so libcusparseLt.so.0 From 07d64fe26b104eff2945810d8c76777cc9d59064 Mon Sep 17 00:00:00 2001 From: Misha Chornyi Date: Thu, 5 Jun 2025 12:26:34 -0700 Subject: [PATCH 2/5] Removing 'libcusparseLt.so' it appears a part of the devel image --- CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6dddd8c..b3f30d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -239,8 +239,6 @@ if (${TRITON_PYTORCH_DOCKER_BUILD}) COMMAND docker cp pytorch_backend_ptlib:${PY_INSTALL_PATH}/torch/lib/libtorch_cuda_linalg.so libtorch_cuda_linalg.so COMMAND docker cp pytorch_backend_ptlib:${PY_INSTALL_PATH}/torch/lib/libtorch_global_deps.so libtorch_global_deps.so COMMAND docker cp pytorch_backend_ptlib:${PY_INSTALL_PATH}/torch/lib/libcaffe2_nvrtc.so libcaffe2_nvrtc.so - # TODO:Revisit when not needed by making it part of cuda base container. - COMMAND docker cp -L pytorch_backend_ptlib:/usr/local/cuda/lib64/libcusparseLt.so libcusparseLt.so; COMMAND /bin/sh -c "if [ ${TRITON_PYTORCH_ENABLE_TORCHVISION} = 'ON' ]; then if [ ${RHEL_BUILD} = 'ON' ]; then docker cp -a -L pytorch_backend_ptlib:/usr/local/lib64/libtorchvision.so libtorchvision.so; else docker cp -a -L pytorch_backend_ptlib:/usr/local/${LIB_DIR}/libtorchvision.so.1 libtorchvision.so.1; fi; fi" COMMAND /bin/sh -c "if [ ${TRITON_PYTORCH_ENABLE_TORCHVISION} = 'ON' ]; then docker cp pytorch_backend_ptlib:/opt/pytorch/vision/torchvision/csrc include/torchvision/torchvision; fi" COMMAND /bin/sh -c "if [ ${TRITON_PYTORCH_ENABLE_TORCHTRT} = 'ON' ]; then docker cp pytorch_backend_ptlib:/usr/local/lib/python3.12/dist-packages/torch_tensorrt/lib/libtorchtrt_runtime.so libtorchtrt_runtime.so; fi" From e5b34e292c6e8c5ebc9d0830e215426f11d451cc Mon Sep 17 00:00:00 2001 From: Misha Chornyi Date: Thu, 5 Jun 2025 12:27:34 -0700 Subject: [PATCH 3/5] Updating name of the variabl to presue it's purpose --- CMakeLists.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b3f30d6..2d9774c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -206,7 +206,7 @@ else() "libmkl_vml_def.so.1" ) endif() -set(OPENCV_LIBS +set(TORCHVISION_LIBS $,libjpeg.so.62,libjpeg.so> $,libpng16.so.16,libpng16.so> ) @@ -222,7 +222,7 @@ if (${TRITON_PYTORCH_DOCKER_BUILD}) OUTPUT ${PT_LIBS} ${LIBTORCH_LIBS} - ${OPENCV_LIBS} + ${TORCHVISION_LIBS} LICENSE.pytorch include/torch include/torchvision @@ -264,7 +264,7 @@ if (${TRITON_PYTORCH_DOCKER_BUILD}) COMMENT "Extracting pytorch and torchvision libraries and includes from ${TRITON_PYTORCH_DOCKER_IMAGE}" VERBATIM ) - add_custom_target(ptlib_target DEPENDS ${PT_LIBS} ${LIBTORCH_LIBS} ${OPENCV_LIBS}) + add_custom_target(ptlib_target DEPENDS ${PT_LIBS} ${LIBTORCH_LIBS} ${TORCHVISION_LIBS}) add_library(ptlib SHARED IMPORTED GLOBAL) add_dependencies(ptlib ptlib_target) @@ -430,7 +430,7 @@ install( if (${TRITON_PYTORCH_DOCKER_BUILD}) set(PT_LIB_PATHS "") - FOREACH(plib ${PT_LIBS} ${LIBTORCH_LIBS} ${OPENCV_LIBS}) + FOREACH(plib ${PT_LIBS} ${LIBTORCH_LIBS} ${TORCHVISION_LIBS}) set(PT_LIB_PATHS ${PT_LIB_PATHS} "${CMAKE_CURRENT_BINARY_DIR}/${plib}") ENDFOREACH(plib) @@ -450,7 +450,7 @@ if (${TRITON_PYTORCH_DOCKER_BUILD}) ) endif() # TRITON_PYTORCH_ENABLE_TORCHTRT - FOREACH(plib ${PT_LIBS} ${LIBTORCH_LIBS} ${OPENCV_LIBS}) + FOREACH(plib ${PT_LIBS} ${LIBTORCH_LIBS} ${TORCHVISION_LIBS}) install( CODE "EXECUTE_PROCESS( From 0e02a9692d8897899c3e19b95411b1a13ba81b7d Mon Sep 17 00:00:00 2001 From: Misha Chornyi Date: Thu, 5 Jun 2025 14:15:02 -0700 Subject: [PATCH 4/5] Remove 'libcusparseLt.so' --- CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d9774c..41167fc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -437,7 +437,6 @@ if (${TRITON_PYTORCH_DOCKER_BUILD}) install( FILES ${PT_LIB_PATHS} - ${CMAKE_CURRENT_BINARY_DIR}/libcusparseLt.so ${CMAKE_CURRENT_BINARY_DIR}/LICENSE.pytorch DESTINATION ${CMAKE_INSTALL_PREFIX}/backends/pytorch ) @@ -468,7 +467,6 @@ if (${TRITON_PYTORCH_DOCKER_BUILD}) "EXECUTE_PROCESS( COMMAND ln -sf libpng16.so libpng16.so.16 COMMAND ln -sf libjpeg.so libjpeg.so.8 - COMMAND ln -sf libcusparseLt.so libcusparseLt.so.0 RESULT_VARIABLE LINK_STATUS WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/backends/pytorch) if(LINK_STATUS AND NOT LINK_STATUS EQUAL 0) From e534184038a12d1f55e9dfb3b9925157e5d4b2b2 Mon Sep 17 00:00:00 2001 From: Misha Chornyi Date: Mon, 9 Jun 2025 11:45:58 -0700 Subject: [PATCH 5/5] Remove 'libopenblas.so.0' from dependency list --- CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 41167fc..a50f667 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -179,7 +179,6 @@ endif() # TRITON_PYTORCH_ENABLE_TORCHTRT if (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "aarch64") set(LIBS_ARCH "aarch64") set(LIBTORCH_LIBS - "libopenblas.so.0" "libnvpl_blas_core.so.0" "libnvpl_blas_ilp64_gomp.so.0" "libnvpl_blas_ilp64_seq.so.0"