Explicitly load versioned libamdhip64.so (#1872)

* Explicitly load versioned libamdhip64.so

* Fix syntax errors

* Fix when patching happens in Windows workflow

---------

Co-authored-by: Joseph Macaranas <145489236+jayhawk-commits@users.noreply.github.com>
Co-authored-by: ammallya <ameyakeshava.mallya@amd.com>
This commit is contained in:
Marius Brehler
2025-11-25 02:05:05 +08:00
committed by GitHub
szülő 2cf9faa93f
commit 2dc32d645b
4 fájl változott, egészen pontosan 6 új sor hozzáadva és 2 régi sor törölve
@@ -66,6 +66,7 @@ jobs:
run: |
# Remove patches here if they cannot be applied cleanly, and they have not been deleted from TheRock repo
# rm ./TheRock/patches/amd-mainline/rocm-systems/*.patch
rm -f ./TheRock/patches/amd-mainline/rocm-systems/0006-Explicitly-load-libamdhip64.so.7.patch
./TheRock/build_tools/fetch_sources.py --jobs 12 --no-include-rocm-systems --no-include-rocm-libraries --no-include-ml-frameworks
@@ -54,6 +54,7 @@ jobs:
run: |
# Remove patches here if they cannot be applied cleanly, and they have not been deleted from TheRock repo
# rm ./TheRock/patches/amd-mainline/rocm-systems/*.patch
rm -f ./TheRock/patches/amd-mainline/rocm-systems/0006-Explicitly-load-libamdhip64.so.7.patch
git -c user.name="therockbot" -c "user.email=therockbot@amd.com" am --whitespace=nowarn ./TheRock/patches/amd-mainline/rocm-systems/*.patch
- name: Install requirements
@@ -906,7 +906,8 @@ bool RTCProgram::findIsa() {
std::string dll_name = std::string("amdhip64_" + std::to_string(HIP_VERSION_MAJOR) + ".dll");
libName = dll_name.c_str();
#else
libName = "libamdhip64.so";
std::string so_name = std::string("libamdhip64.so." + std::to_string(HIP_VERSION_MAJOR));
libName = so_name.c_str();
#endif
void* handle = amd::Os::loadLibrary(libName);
@@ -1093,7 +1093,8 @@ void* PlatformState::getDynamicLibraryHandle() {
#ifdef _WIN32
const char* libName = "amdhip64.dll";
#else
const char* libName = "libamdhip64.so";
std::string so_name = std::string("libamdhip64.so." + std::to_string(HIP_VERSION_MAJOR));
const char* libName = so_name.c_str();
#endif
dynamicLibraryHandle_ = amd::Os::loadLibrary(libName);