From ac705f25ebc3bbf458fd3dcdf435235c5859a4ad Mon Sep 17 00:00:00 2001 From: David Rohr Date: Tue, 22 Apr 2025 22:35:20 +0200 Subject: [PATCH] GPU CUDA ORT: Fix usage of OrtCUDAProviderOptionsV2 --- GPU/GPUTracking/Base/cuda/CMakeLists.txt | 2 +- GPU/GPUTracking/Base/cuda/GPUReconstructionCUDA.cu | 3 +-- GPU/GPUTracking/Base/hip/CMakeLists.txt | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/GPU/GPUTracking/Base/cuda/CMakeLists.txt b/GPU/GPUTracking/Base/cuda/CMakeLists.txt index 36162bcaa2f13..dbdf6b606df18 100644 --- a/GPU/GPUTracking/Base/cuda/CMakeLists.txt +++ b/GPU/GPUTracking/Base/cuda/CMakeLists.txt @@ -114,7 +114,6 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2") ${MODULE} SOURCES ${SRCS} PUBLIC_LINK_LIBRARIES O2::GPUTracking O2::ITStrackingCUDA - PRIVATE_LINK_LIBRARIES onnxruntime::onnxruntime PRIVATE_INCLUDE_DIRECTORIES ${CMAKE_SOURCE_DIR}/Detectors/Base/src ${CMAKE_SOURCE_DIR}/Detectors/TRD/base/src @@ -139,6 +138,7 @@ if (onnxruntime_FOUND) target_compile_definitions(${targetName} PRIVATE $<$:ORT_CUDA_BUILD> $<$:ORT_TENSORRT_BUILD>) + target_link_libraries(${targetName} PRIVATE onnxruntime::onnxruntime) endif() # Setting target architecture and adding GPU libraries diff --git a/GPU/GPUTracking/Base/cuda/GPUReconstructionCUDA.cu b/GPU/GPUTracking/Base/cuda/GPUReconstructionCUDA.cu index d4f9faaf203c9..c8e5420a8bcf3 100644 --- a/GPU/GPUTracking/Base/cuda/GPUReconstructionCUDA.cu +++ b/GPU/GPUTracking/Base/cuda/GPUReconstructionCUDA.cu @@ -643,9 +643,8 @@ void GPUReconstructionCUDA::SetONNXGPUStream(Ort::SessionOptions& session_option // UpdateCUDAProviderOptions(cuda_options, keys.data(), values.data(), keys.size()); // this implicitly sets "has_user_compute_stream" - cuda_options->has_user_compute_stream = 1; ORTCHK(api->UpdateCUDAProviderOptionsWithValue(cuda_options, "user_compute_stream", mInternals->Streams[stream])); - session_options.AppendExecutionProvider_CUDA_V2(cuda_options); + ORTCHK(api->SessionOptionsAppendExecutionProvider_CUDA_V2(session_options, cuda_options)); // Finally, don't forget to release the provider options api->ReleaseCUDAProviderOptions(cuda_options); diff --git a/GPU/GPUTracking/Base/hip/CMakeLists.txt b/GPU/GPUTracking/Base/hip/CMakeLists.txt index 9398ffdd5b9f1..4689fee02d31e 100644 --- a/GPU/GPUTracking/Base/hip/CMakeLists.txt +++ b/GPU/GPUTracking/Base/hip/CMakeLists.txt @@ -162,7 +162,6 @@ if(ALIGPU_BUILD_TYPE STREQUAL "O2") ${MODULE} SOURCES ${SRCS} PUBLIC_LINK_LIBRARIES O2::GPUTracking O2::ITStrackingHIP - PRIVATE_LINK_LIBRARIES onnxruntime::onnxruntime PRIVATE_INCLUDE_DIRECTORIES ${CMAKE_SOURCE_DIR}/Detectors/Base/src ${CMAKE_SOURCE_DIR}/Detectors/TRD/base/src @@ -194,6 +193,7 @@ if (onnxruntime_FOUND) target_compile_definitions(${targetName} PRIVATE $<$:ORT_ROCM_BUILD> $<$:ORT_MIGRAPHX_BUILD>) + target_link_libraries(${targetName} PRIVATE onnxruntime::onnxruntime) endif() add_library(${MODULE}_CXX OBJECT ${SRCS_CXX}) # Adding a C++ library for the .cxx code of the HIP library, such that it does not link to HIP libraries, and CMake HIP Language doesn't add HIP compile flags.