Skip to content

Commit a2e75e3

Browse files
committed
[SYCL][UR] Update proxy loader to use Windows debug libs
1 parent a23b230 commit a2e75e3

File tree

2 files changed

+22
-23
lines changed

2 files changed

+22
-23
lines changed

sycl/ur_win_proxy_loader/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ if (MSVC)
5757
add_library(ur_win_proxy_loaderd SHARED ur_win_proxy_loader.cpp ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc)
5858
target_compile_options(ur_win_proxy_loaderd PRIVATE ${WINUNLOAD_CXX_FLAGS_DEBUG})
5959
target_compile_options(ur_win_proxy_loader PRIVATE ${WINUNLOAD_CXX_FLAGS_RELEASE})
60+
target_compile_definitions(ur_win_proxy_loaderd PRIVATE UR_WIN_PROXY_LOADER_DEBUG)
6061
target_link_libraries(ur_win_proxy_loaderd PRIVATE shlwapi)
6162
target_link_libraries(ur_win_proxy_loader PRIVATE shlwapi)
6263
# 0x2000: LOAD_LIBRARY_SAFE_CURRENT_DIRS flag. Using this flag means that loading dependency DLLs

sycl/ur_win_proxy_loader/ur_win_proxy_loader.cpp

+21-23
Original file line numberDiff line numberDiff line change
@@ -82,24 +82,22 @@ static std::wstring getCurrentDSODir() {
8282
return Path;
8383
}
8484

85-
// these are cribbed from include/sycl/detail/ur.hpp
86-
// a new adapter must be added to both places.
8785
#ifdef _MSC_VER
88-
#define __SYCL_UNIFIED_RUNTIME_LOADER_NAME "ur_loader.dll"
89-
#define __SYCL_OPENCL_ADAPTER_NAME "ur_adapter_opencl.dll"
90-
#define __SYCL_LEVEL_ZERO_ADAPTER_NAME "ur_adapter_level_zero.dll"
91-
#define __SYCL_LEVEL_ZERO_V2_ADAPTER_NAME "ur_adapter_level_zero_v2.dll"
92-
#define __SYCL_CUDA_ADAPTER_NAME "ur_adapter_cuda.dll"
93-
#define __SYCL_HIP_ADAPTER_NAME "ur_adapter_hip.dll"
94-
#define __SYCL_NATIVE_CPU_ADAPTER_NAME "ur_adapter_native_cpu.dll"
86+
87+
#ifdef UR_WIN_PROXY_LOADER_DEBUG_POSTFIX
88+
#define UR_LIBRARY_NAME(NAME) "ur_" #NAME "d.dll"
89+
#else
90+
#define UR_LIBRARY_NAME(NAME) "ur_" #NAME ".dll"
91+
#endif
92+
9593
#else // llvm-mingw
96-
#define __SYCL_UNIFIED_RUNTIME_LOADER_NAME "libur_loader.dll"
97-
#define __SYCL_OPENCL_ADAPTER_NAME "libur_adapter_opencl.dll"
98-
#define __SYCL_LEVEL_ZERO_ADAPTER_NAME "libur_adapter_level_zero.dll"
99-
#define __SYCL_LEVEL_ZERO_V2_ADAPTER_NAME "libur_adapter_level_zero_v2.dll"
100-
#define __SYCL_CUDA_ADAPTER_NAME "libur_adapter_cuda.dll"
101-
#define __SYCL_HIP_ADAPTER_NAME "libur_adapter_hip.dll"
102-
#define __SYCL_NATIVE_CPU_ADAPTER_NAME "libur_adapter_native_cpu.dll"
94+
95+
#ifdef UR_WIN_PROXY_LOADER_DEBUG_POSTFIX
96+
#define UR_LIBRARY_NAME(NAME) "libur" #NAME "d.dll"
97+
#else
98+
#define UR_LIBRARY_NAME(NAME) "libur" #NAME ".dll"
99+
#endif
100+
103101
#endif
104102

105103
// ------------------------------------
@@ -141,13 +139,13 @@ void preloadLibraries() {
141139
};
142140
// We keep the UR Loader handle so it can be fetched by the runtime, but the
143141
// adapter libraries themselves won't be used.
144-
getDllHandle() = loadAdapter(__SYCL_UNIFIED_RUNTIME_LOADER_NAME);
145-
loadAdapter(__SYCL_OPENCL_ADAPTER_NAME);
146-
loadAdapter(__SYCL_LEVEL_ZERO_ADAPTER_NAME);
147-
loadAdapter(__SYCL_LEVEL_ZERO_V2_ADAPTER_NAME);
148-
loadAdapter(__SYCL_CUDA_ADAPTER_NAME);
149-
loadAdapter(__SYCL_HIP_ADAPTER_NAME);
150-
loadAdapter(__SYCL_NATIVE_CPU_ADAPTER_NAME);
142+
getDllHandle() = loadAdapter(UR_LIBRARY_NAME(loader));
143+
loadAdapter(UR_LIBRARY_NAME(adapter_opencl));
144+
loadAdapter(UR_LIBRARY_NAME(adapter_level_zero));
145+
loadAdapter(UR_LIBRARY_NAME(adapter_level_zero_v2));
146+
loadAdapter(UR_LIBRARY_NAME(adapter_cuda));
147+
loadAdapter(UR_LIBRARY_NAME(adapter_hip));
148+
loadAdapter(UR_LIBRARY_NAME(adapter_native_cpu));
151149

152150
// Restore system error handling.
153151
(void)SetErrorMode(SavedMode);

0 commit comments

Comments
 (0)