rocm-runtime: 3.5.0 -> 3.7.0
This commit is contained in:
parent
acc68bba6a
commit
d4e40af589
3 changed files with 19 additions and 39 deletions
|
@ -1,41 +1,42 @@
|
||||||
{ stdenv
|
{ stdenv
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, addOpenGLRunpath
|
, addOpenGLRunpath
|
||||||
|
, clang-unwrapped
|
||||||
, cmake
|
, cmake
|
||||||
|
, xxd
|
||||||
, elfutils
|
, elfutils
|
||||||
|
, llvm
|
||||||
|
, rocm-device-libs
|
||||||
, rocm-thunk }:
|
, rocm-thunk }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "rocm-runtime";
|
pname = "rocm-runtime";
|
||||||
version = "3.5.0";
|
version = "3.7.0";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "RadeonOpenCompute";
|
owner = "RadeonOpenCompute";
|
||||||
repo = "ROCR-Runtime";
|
repo = "ROCR-Runtime";
|
||||||
rev = "rocm-${version}";
|
rev = "rocm-${version}";
|
||||||
sha256 = "028x1f0if6lw41cpfpysp82ikp6c3fdxxd2a6ixs0vpm4424svb1";
|
sha256 = "1lm4cbx1d727zll85vjc1kykc72mk82nfhyyhjljv82gd4mnz00c";
|
||||||
};
|
};
|
||||||
|
|
||||||
sourceRoot = "source/src";
|
sourceRoot = "source/src";
|
||||||
|
|
||||||
buildInputs = [ cmake elfutils ];
|
nativeBuildInputs = [ cmake xxd ];
|
||||||
|
|
||||||
cmakeFlags = [ "-DCMAKE_PREFIX_PATH=${rocm-thunk}" ];
|
buildInputs = [ clang-unwrapped elfutils llvm ];
|
||||||
|
|
||||||
# Use the ROCR_EXT_DIR environment variable and/or OpenGL driver
|
cmakeFlags = [
|
||||||
# link path to try to find binary-only ROCm runtime extension
|
"-DBITCODE_DIR=${rocm-device-libs}/lib"
|
||||||
# libraries. Without this change, we would have to rely on
|
"-DCMAKE_PREFIX_PATH=${rocm-thunk}"
|
||||||
# LD_LIBRARY_PATH to let the HSA runtime discover the shared
|
];
|
||||||
# libraries.
|
|
||||||
patchPhase = ''
|
postPatch = ''
|
||||||
substitute '${./rocr-ext-dir.diff}' ./rocr-ext-dir.diff \
|
patchShebangs image/blit_src/create_hsaco_ascii_file.sh
|
||||||
--subst-var-by rocrExtDir "${addOpenGLRunpath.driverLink}/lib/rocm-runtime-ext"
|
|
||||||
patch -p2 < ./rocr-ext-dir.diff
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
fixupPhase = ''
|
fixupPhase = ''
|
||||||
rm -r $out/lib $out/include
|
rm -rf $out/hsa
|
||||||
mv $out/hsa/lib $out/hsa/include $out
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
diff --git a/src/core/runtime/runtime.cpp b/src/core/runtime/runtime.cpp
|
|
||||||
index dd6a15c..fb6de49 100644
|
|
||||||
--- a/src/core/runtime/runtime.cpp
|
|
||||||
+++ b/src/core/runtime/runtime.cpp
|
|
||||||
@@ -1358,7 +1358,17 @@ void Runtime::LoadExtensions() {
|
|
||||||
core::HsaApiTable::HSA_EXT_FINALIZER_API_TABLE_ID);
|
|
||||||
|
|
||||||
// Update Hsa Api Table with handle of Image extension Apis
|
|
||||||
- extensions_.LoadImage(kImageLib[os_index(os::current_os)]);
|
|
||||||
+ //
|
|
||||||
+ // Use ROCR_EXT_DIR when it is non-empty. Otherwise, try to load the
|
|
||||||
+ // library from the OpenGL driver path.
|
|
||||||
+ std::string extDirVar = os::GetEnvVar("ROCR_EXT_DIR");
|
|
||||||
+ if (!extDirVar.empty()) {
|
|
||||||
+ extensions_.LoadImage(extDirVar + "/" + kImageLib[os_index(os::current_os)]);
|
|
||||||
+ } else {
|
|
||||||
+ std::string globalDriverDir("@rocrExtDir@");
|
|
||||||
+ extensions_.LoadImage(globalDriverDir + "/" + kImageLib[os_index(os::current_os)]);
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
hsa_api_table_.LinkExts(&extensions_.image_api,
|
|
||||||
core::HsaApiTable::HSA_EXT_IMAGE_API_TABLE_ID);
|
|
||||||
}
|
|
|
@ -9354,7 +9354,9 @@ in
|
||||||
inherit (llvmPackages_rocm) clang clang-unwrapped lld llvm;
|
inherit (llvmPackages_rocm) clang clang-unwrapped lld llvm;
|
||||||
};
|
};
|
||||||
|
|
||||||
rocm-runtime = callPackage ../development/libraries/rocm-runtime { };
|
rocm-runtime = callPackage ../development/libraries/rocm-runtime {
|
||||||
|
inherit (llvmPackages_rocm) clang-unwrapped llvm;
|
||||||
|
};
|
||||||
|
|
||||||
rocm-runtime-ext = callPackage ../development/libraries/rocm-runtime-ext { };
|
rocm-runtime-ext = callPackage ../development/libraries/rocm-runtime-ext { };
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue