From bc04e81ebc70b473c0d612ae1734ca6f00df4300 Mon Sep 17 00:00:00 2001 From: Tianlei Wu Date: Wed, 12 Feb 2025 15:03:55 -0800 Subject: [PATCH] [CUDA] Not link CUDNN sub libs (#23656) ### Description Do not link cuDNN sub libs. Before: ``` objdump -p libonnxruntime_providers_cuda.so | grep NEEDED NEEDED libcublasLt.so.12 NEEDED libcublas.so.12 NEEDED libcurand.so.10 NEEDED libcufft.so.11 NEEDED libcudart.so.12 NEEDED libcudnn.so.9 NEEDED libcudnn_adv.so.9 NEEDED libcudnn_ops.so.9 NEEDED libcudnn_cnn.so.9 NEEDED libcudnn_graph.so.9 NEEDED libcudnn_engines_runtime_compiled.so.9 NEEDED libcudnn_engines_precompiled.so.9 NEEDED libcudnn_heuristic.so.9 NEEDED libdl.so.2 NEEDED librt.so.1 NEEDED libnvrtc.so.12 NEEDED libpthread.so.0 NEEDED libstdc++.so.6 NEEDED libm.so.6 NEEDED libgcc_s.so.1 NEEDED libc.so.6 NEEDED ld-linux-x86-64.so.2 ``` After: ``` $ objdump -p libonnxruntime_providers_cuda.so | grep NEEDED NEEDED libcublasLt.so.12 NEEDED libcublas.so.12 NEEDED libcurand.so.10 NEEDED libcufft.so.11 NEEDED libcudart.so.12 NEEDED libcudnn.so.9 NEEDED libnvrtc.so.12 NEEDED libstdc++.so.6 NEEDED libm.so.6 NEEDED libgcc_s.so.1 NEEDED libc.so.6 NEEDED ld-linux-x86-64.so.2 ``` ### Motivation and Context Avoid direct dependency on cuDNN sub libraries, which were introduced in https://github.com/microsoft/onnxruntime/pull/19470. https://github.com/microsoft/onnxruntime/issues/23643 --- cmake/external/cuDNN.cmake | 40 -------------------------------------- setup.py | 13 ------------- 2 files changed, 53 deletions(-) diff --git a/cmake/external/cuDNN.cmake b/cmake/external/cuDNN.cmake index f416b207676cf..b428ccb43d1eb 100644 --- a/cmake/external/cuDNN.cmake +++ b/cmake/external/cuDNN.cmake @@ -67,43 +67,3 @@ target_link_libraries( INTERFACE CUDNN::cudnn ) - -if(CUDNN_MAJOR_VERSION EQUAL 8) - find_cudnn_library(cudnn_adv_infer) - find_cudnn_library(cudnn_adv_train) - find_cudnn_library(cudnn_cnn_infer) - find_cudnn_library(cudnn_cnn_train) - find_cudnn_library(cudnn_ops_infer) - find_cudnn_library(cudnn_ops_train) - - target_link_libraries( - CUDNN::cudnn_all - INTERFACE - CUDNN::cudnn_adv_train - CUDNN::cudnn_ops_train - CUDNN::cudnn_cnn_train - CUDNN::cudnn_adv_infer - CUDNN::cudnn_cnn_infer - CUDNN::cudnn_ops_infer - ) -elseif(CUDNN_MAJOR_VERSION EQUAL 9) - find_cudnn_library(cudnn_cnn) - find_cudnn_library(cudnn_adv) - find_cudnn_library(cudnn_graph) - find_cudnn_library(cudnn_ops) - find_cudnn_library(cudnn_engines_runtime_compiled) - find_cudnn_library(cudnn_engines_precompiled) - find_cudnn_library(cudnn_heuristic) - - target_link_libraries( - CUDNN::cudnn_all - INTERFACE - CUDNN::cudnn_adv - CUDNN::cudnn_ops - CUDNN::cudnn_cnn - CUDNN::cudnn_graph - CUDNN::cudnn_engines_runtime_compiled - CUDNN::cudnn_engines_precompiled - CUDNN::cudnn_heuristic - ) -endif() diff --git a/setup.py b/setup.py index f624766a9b0bd..f79c9d3d2eb40 100644 --- a/setup.py +++ b/setup.py @@ -213,19 +213,6 @@ def run(self): "libcufft.so.10", "libcufft.so.11", "libcurand.so.10", - "libcudnn_adv_infer.so.8", - "libcudnn_adv_train.so.8", - "libcudnn_cnn_infer.so.8", - "libcudnn_cnn_train.so.8", - "libcudnn_ops_infer.so.8", - "libcudnn_ops_train.so.8", - "libcudnn_adv.so.9", - "libcudnn_cnn.so.9", - "libcudnn_engines_precompiled.so.9", - "libcudnn_engines_runtime_compiled.so.9", - "libcudnn_graph.so.9", - "libcudnn_heuristic.so.9", - "libcudnn_ops.so.9", "libnvJitLink.so.12", "libnvrtc.so.11.2", # A symlink to libnvrtc.so.11.8.89 "libnvrtc.so.12",