diff options
Diffstat (limited to 'pkgs/development/rocm-modules')
18 files changed, 263 insertions, 57 deletions
diff --git a/pkgs/development/rocm-modules/5/default.nix b/pkgs/development/rocm-modules/5/default.nix index aaf000b79f138..7f48c4d034cef 100644 --- a/pkgs/development/rocm-modules/5/default.nix +++ b/pkgs/development/rocm-modules/5/default.nix @@ -318,6 +318,9 @@ in rec { rev = "640d7ee1917fcd3b6a5271aa6cf4576bccc7c5fb"; sha256 = "sha256-T52whJ7nZi8jerJaZtYInC2YDN0QM+9tUDqiNr6IsNY="; }; + + # overwrite all patches, since patches for newer version do not apply + patches = [ ../6/0001-Compile-transupp.c-as-part-of-the-library.patch ]; }; }; diff --git a/pkgs/development/rocm-modules/5/miopen/default.nix b/pkgs/development/rocm-modules/5/miopen/default.nix index 33959efa00ebd..1c072ef1a304d 100644 --- a/pkgs/development/rocm-modules/5/miopen/default.nix +++ b/pkgs/development/rocm-modules/5/miopen/default.nix @@ -156,6 +156,7 @@ in stdenv.mkDerivation (finalAttrs: { python3Packages.breathe python3Packages.myst-parser ] ++ lib.optionals buildTests [ + gtest zlib ]; @@ -190,6 +191,9 @@ in stdenv.mkDerivation (finalAttrs: { substituteInPlace test/gtest/CMakeLists.txt \ --replace "include(googletest)" "" + substituteInPlace test/gtest/CMakeLists.txt \ + --replace-fail " gtest_main " " ${gtest}/lib/libgtest.so ${gtest}/lib/libgtest_main.so " + ln -sf ${gfx900} src/kernels/gfx900.kdb ln -sf ${gfx906} src/kernels/gfx906.kdb ln -sf ${gfx908} src/kernels/gfx908.kdb diff --git a/pkgs/development/rocm-modules/5/mivisionx/default.nix b/pkgs/development/rocm-modules/5/mivisionx/default.nix index 39fd4f5b76e30..b7d9762869793 100644 --- a/pkgs/development/rocm-modules/5/mivisionx/default.nix +++ b/pkgs/development/rocm-modules/5/mivisionx/default.nix @@ -47,6 +47,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-jmOgwESNALQt7ctmUY9JHgKq47tCwsW1ybynkX9236U="; }; + patches = [ + ../../6/mivisionx/0001-set-__STDC_CONSTANT_MACROS-to-make-rocAL-compile.patch + ]; + nativeBuildInputs = [ cmake rocm-cmake diff --git a/pkgs/development/rocm-modules/6/0001-Compile-transupp.c-as-part-of-the-library.patch b/pkgs/development/rocm-modules/6/0001-Compile-transupp.c-as-part-of-the-library.patch new file mode 100644 index 0000000000000..0a09a8845c133 --- /dev/null +++ b/pkgs/development/rocm-modules/6/0001-Compile-transupp.c-as-part-of-the-library.patch @@ -0,0 +1,104 @@ +From 4a0584f7c05641143151ebdc1be1163bebf9d35d Mon Sep 17 00:00:00 2001 +From: Las <las@protonmail.ch> +Date: Sun, 3 Jan 2021 18:35:37 +0000 +Subject: [PATCH] Compile transupp.c as part of the library + +The exported symbols are made weak to not conflict with users +of the library that already vendor this functionality. +--- + CMakeLists.txt | 4 ++-- + transupp.c | 14 +++++++------- + 2 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0ca6f98..a9a0fae 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -533,7 +533,7 @@ set(JPEG_SOURCES jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c + jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c jdicc.c jdinput.c + jdmainct.c jdmarker.c jdmaster.c jdmerge.c jdphuff.c jdpostct.c jdsample.c + jdtrans.c jerror.c jfdctflt.c jfdctfst.c jfdctint.c jidctflt.c jidctfst.c +- jidctint.c jidctred.c jquant1.c jquant2.c jutils.c jmemmgr.c jmemnobs.c) ++ jidctint.c jidctred.c jquant1.c jquant2.c jutils.c jmemmgr.c jmemnobs.c transupp.c) + + if(WITH_ARITH_ENC OR WITH_ARITH_DEC) + set(JPEG_SOURCES ${JPEG_SOURCES} jaricom.c) +@@ -1489,7 +1489,7 @@ install(EXPORT ${CMAKE_PROJECT_NAME}Targets + + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jconfig.h + ${CMAKE_CURRENT_SOURCE_DIR}/jerror.h ${CMAKE_CURRENT_SOURCE_DIR}/jmorecfg.h +- ${CMAKE_CURRENT_SOURCE_DIR}/jpeglib.h ++ ${CMAKE_CURRENT_SOURCE_DIR}/jpeglib.h ${CMAKE_CURRENT_SOURCE_DIR}/transupp.h + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + include(cmakescripts/BuildPackages.cmake) +diff --git a/transupp.c b/transupp.c +index 6e86077..2da49a7 100644 +--- a/transupp.c ++++ b/transupp.c +@@ -1386,7 +1386,7 @@ jt_read_integer(const char **strptr, JDIMENSION *result) + * This code is loosely based on XParseGeometry from the X11 distribution. + */ + +-GLOBAL(boolean) ++GLOBAL(boolean) __attribute__((weak)) + jtransform_parse_crop_spec(jpeg_transform_info *info, const char *spec) + { + info->crop = FALSE; +@@ -1486,7 +1486,7 @@ trim_bottom_edge(jpeg_transform_info *info, JDIMENSION full_height) + * and transformation is not perfect. Otherwise returns TRUE. + */ + +-GLOBAL(boolean) ++GLOBAL(boolean) __attribute__((weak)) + jtransform_request_workspace(j_decompress_ptr srcinfo, + jpeg_transform_info *info) + { +@@ -2033,7 +2033,7 @@ adjust_exif_parameters(JOCTET *data, unsigned int length, JDIMENSION new_width, + * to jpeg_write_coefficients(). + */ + +-GLOBAL(jvirt_barray_ptr *) ++GLOBAL(jvirt_barray_ptr *) __attribute__((weak)) + jtransform_adjust_parameters(j_decompress_ptr srcinfo, j_compress_ptr dstinfo, + jvirt_barray_ptr *src_coef_arrays, + jpeg_transform_info *info) +@@ -2152,7 +2152,7 @@ jtransform_adjust_parameters(j_decompress_ptr srcinfo, j_compress_ptr dstinfo, + * Note that some transformations will modify the source data arrays! + */ + +-GLOBAL(void) ++GLOBAL(void) __attribute__((weak)) + jtransform_execute_transform(j_decompress_ptr srcinfo, j_compress_ptr dstinfo, + jvirt_barray_ptr *src_coef_arrays, + jpeg_transform_info *info) +@@ -2264,7 +2264,7 @@ jtransform_execute_transform(j_decompress_ptr srcinfo, j_compress_ptr dstinfo, + * (may use custom action then) + */ + +-GLOBAL(boolean) ++GLOBAL(boolean) __attribute__((weak)) + jtransform_perfect_transform(JDIMENSION image_width, JDIMENSION image_height, + int MCU_width, int MCU_height, + JXFORM_CODE transform) +@@ -2303,7 +2303,7 @@ jtransform_perfect_transform(JDIMENSION image_width, JDIMENSION image_height, + * This must be called before jpeg_read_header() to have the desired effect. + */ + +-GLOBAL(void) ++GLOBAL(void) __attribute__((weak)) + jcopy_markers_setup(j_decompress_ptr srcinfo, JCOPY_OPTION option) + { + #ifdef SAVE_MARKERS_SUPPORTED +@@ -2331,7 +2331,7 @@ jcopy_markers_setup(j_decompress_ptr srcinfo, JCOPY_OPTION option) + * JFIF APP0 or Adobe APP14 markers if selected. + */ + +-GLOBAL(void) ++GLOBAL(void) __attribute__((weak)) + jcopy_markers_execute(j_decompress_ptr srcinfo, j_compress_ptr dstinfo, + JCOPY_OPTION option) + { +-- +2.29.2 + diff --git a/pkgs/development/rocm-modules/6/default.nix b/pkgs/development/rocm-modules/6/default.nix index 90a9da83bf833..567b5bee4f728 100644 --- a/pkgs/development/rocm-modules/6/default.nix +++ b/pkgs/development/rocm-modules/6/default.nix @@ -150,7 +150,10 @@ in rec { stdenv = llvm.rocmClangStdenv; }; - hiprand = rocrand; # rocrand includes hiprand + hiprand = callPackage ./hiprand { + inherit rocmUpdateScript rocm-cmake clr rocrand; + stdenv = llvm.rocmClangStdenv; + }; rocfft = callPackage ./rocfft { inherit rocmUpdateScript rocm-cmake rocrand rocfft clr; @@ -313,6 +316,9 @@ in rec { rev = "640d7ee1917fcd3b6a5271aa6cf4576bccc7c5fb"; sha256 = "sha256-T52whJ7nZi8jerJaZtYInC2YDN0QM+9tUDqiNr6IsNY="; }; + + # overwrite all patches, since patches for newer version do not apply + patches = [ ./0001-Compile-transupp.c-as-part-of-the-library.patch ]; }; }; diff --git a/pkgs/development/rocm-modules/6/hiprand/default.nix b/pkgs/development/rocm-modules/6/hiprand/default.nix new file mode 100644 index 0000000000000..7251a0e5a07e5 --- /dev/null +++ b/pkgs/development/rocm-modules/6/hiprand/default.nix @@ -0,0 +1,76 @@ +{ lib +, stdenv +, fetchFromGitHub +, rocmUpdateScript +, cmake +, rocm-cmake +, clr +, rocrand +, gtest +, buildTests ? false +, gpuTargets ? [ ] +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "hiprand"; + version = "6.0.2"; + + outputs = [ + "out" + ] ++ lib.optionals buildTests [ + "test" + ]; + + src = fetchFromGitHub { + owner = "ROCm"; + repo = "hipRAND"; + rev = "rocm-${finalAttrs.version}"; + hash = "sha256-uGHzOhUX5JEknVFwhHhWFdPmwLS/TuaXYMeItS7tXIg="; + }; + + nativeBuildInputs = [ + cmake + rocm-cmake + clr + ]; + + buildInputs = [ rocrand ] ++ (lib.optionals buildTests [ gtest ]); + + cmakeFlags = [ + "-DCMAKE_C_COMPILER=hipcc" + "-DCMAKE_CXX_COMPILER=hipcc" + "-DHIP_ROOT_DIR=${clr}" + # Manually define CMAKE_INSTALL_<DIR> + # See: https://github.com/NixOS/nixpkgs/pull/197838 + "-DCMAKE_INSTALL_BINDIR=bin" + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_INCLUDEDIR=include" + ] ++ lib.optionals (gpuTargets != [ ]) [ + "-DAMDGPU_TARGETS=${lib.concatStringsSep ";" gpuTargets}" + ] ++ lib.optionals buildTests [ + "-DBUILD_TEST=ON" + ]; + + postInstall = lib.optionalString buildTests '' + mkdir -p $test/bin + mv $out/bin/test_* $test/bin + rm -r $out/bin/hipRAND + # Fail if bin/ isn't actually empty + rmdir $out/bin + ''; + + passthru.updateScript = rocmUpdateScript { + name = finalAttrs.pname; + owner = finalAttrs.src.owner; + repo = finalAttrs.src.repo; + }; + + meta = with lib; { + description = "A HIP wrapper for rocRAND and cuRAND"; + homepage = "https://github.com/ROCm/hipRAND"; + license = with licenses; [ mit ]; + maintainers = teams.rocm.members; + platforms = platforms.linux; + broken = versions.minor finalAttrs.version != versions.minor stdenv.cc.version || versionAtLeast finalAttrs.version "7.0.0"; + }; +}) diff --git a/pkgs/development/rocm-modules/6/llvm/base.nix b/pkgs/development/rocm-modules/6/llvm/base.nix index 95f57b052045e..caa2ebe42823a 100644 --- a/pkgs/development/rocm-modules/6/llvm/base.nix +++ b/pkgs/development/rocm-modules/6/llvm/base.nix @@ -133,7 +133,14 @@ in stdenv.mkDerivation (finalAttrs: { "-DLLVM_EXTERNAL_LIT=${lit}/bin/.lit-wrapped" ] ++ extraCMakeFlags; - postPatch = lib.optionalString finalAttrs.passthru.isLLVM '' + prePatch = '' + cd ../ + chmod -R u+w . + ''; + + postPatch = '' + cd ${targetDir} + '' + lib.optionalString finalAttrs.passthru.isLLVM '' patchShebangs lib/OffloadArch/make_generated_offload_arch_h.sh '' + lib.optionalString (buildTests && finalAttrs.passthru.isLLVM) '' # FileSystem permissions tests fail with various special bits @@ -141,7 +148,7 @@ in stdenv.mkDerivation (finalAttrs: { rm unittests/Support/Path.cpp substituteInPlace unittests/Support/CMakeLists.txt \ - --replace "Path.cpp" "" + --replace-fail "Path.cpp" "" '' + extraPostPatch; doCheck = buildTests; diff --git a/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix b/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix index 5a61732ffd2d4..1cf60223def6f 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-1/clang-unwrapped.nix @@ -20,7 +20,7 @@ callPackage ../base.nix rec { ln -s ../cmake/Modules/FindLibEdit.cmake cmake/modules substituteInPlace CMakeLists.txt \ - --replace "include(CheckIncludeFile)" "include(CheckIncludeFile)''\nfind_package(LibEdit)" + --replace-fail "include(CheckIncludeFile)" "include(CheckIncludeFile)''\nfind_package(LibEdit)" # `No such file or directory: '/build/source/clang/tools/scan-build/bin/scan-build'` rm test/Analysis/scan-build/*.test diff --git a/pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix b/pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix index 7e7cf9c2a6088..2446723ef5fea 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-2/libc.nix @@ -14,11 +14,11 @@ callPackage ../base.nix rec { # `Failed to match ... against ...` `Match value not within tolerance value of MPFR result:` # We need a better way, but I don't know enough sed magic and patching `CMakeLists.txt` isn't working... substituteInPlace ../libc/test/src/math/log10_test.cpp \ - --replace "i < N" "i < 0" \ - --replace "test(mpfr::RoundingMode::Nearest);" "" \ - --replace "test(mpfr::RoundingMode::Downward);" "" \ - --replace "test(mpfr::RoundingMode::Upward);" "" \ - --replace "test(mpfr::RoundingMode::TowardZero);" "" + --replace-fail "i < N" "i < 0" \ + --replace-fail "test(mpfr::RoundingMode::Nearest);" "" \ + --replace-fail "test(mpfr::RoundingMode::Downward);" "" \ + --replace-fail "test(mpfr::RoundingMode::Upward);" "" \ + --replace-fail "test(mpfr::RoundingMode::TowardZero);" "" ''; checkTargets = [ "check-${targetName}" ]; diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/0000-mlir-fix-debugtranslation.patch b/pkgs/development/rocm-modules/6/llvm/stage-3/0000-mlir-fix-debugtranslation.patch deleted file mode 100644 index f4221a088136f..0000000000000 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/0000-mlir-fix-debugtranslation.patch +++ /dev/null @@ -1,36 +0,0 @@ -From f1d1e10ec7e1061bf0b90abbc1e298d9438a5e74 Mon Sep 17 00:00:00 2001 -From: Scott Linder <Scott.Linder@amd.com> -Date: Mon, 11 Sep 2023 18:37:37 +0000 -Subject: [PATCH] [HeterogeneousDWARF] Update MLIR DI Metadata handling - -Pass a default DW_MSPACE_LLVM_none to satisfy new API - -Change-Id: I50df461f00b5510a715f55f61107122318102d22 ---- - lib/Target/LLVMIR/DebugTranslation.cpp | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/lib/Target/LLVMIR/DebugTranslation.cpp b/lib/Target/LLVMIR/DebugTranslation.cpp -index 2053f5bcef06aa6..635ee5d7e5fefdc 100644 ---- a/lib/Target/LLVMIR/DebugTranslation.cpp -+++ b/lib/Target/LLVMIR/DebugTranslation.cpp -@@ -148,7 +148,8 @@ llvm::DIDerivedType *DebugTranslation::translateImpl(DIDerivedTypeAttr attr) { - /*File=*/nullptr, /*Line=*/0, - /*Scope=*/nullptr, translate(attr.getBaseType()), attr.getSizeInBits(), - attr.getAlignInBits(), attr.getOffsetInBits(), -- /*DWARFAddressSpace=*/std::nullopt, /*Flags=*/llvm::DINode::FlagZero); -+ /*DWARFAddressSpace=*/std::nullopt, llvm::dwarf::DW_MSPACE_LLVM_none, -+ /*Flags=*/llvm::DINode::FlagZero); - } - - llvm::DIFile *DebugTranslation::translateImpl(DIFileAttr attr) { -@@ -185,7 +186,8 @@ DebugTranslation::translateImpl(DILocalVariableAttr attr) { - llvmCtx, translate(attr.getScope()), getMDStringOrNull(attr.getName()), - translate(attr.getFile()), attr.getLine(), translate(attr.getType()), - attr.getArg(), -- /*Flags=*/llvm::DINode::FlagZero, attr.getAlignInBits(), -+ /*Flags=*/llvm::DINode::FlagZero, llvm::dwarf::DW_MSPACE_LLVM_none, -+ attr.getAlignInBits(), - /*Annotations=*/nullptr); - } - diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix index 91f34265f85fa..a0e1935d3c5fe 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/clang.nix @@ -68,6 +68,6 @@ wrapCCWith rec { # GPU compilation uses builtin `lld` substituteInPlace $out/bin/{clang,clang++} \ - --replace "-MM) dontLink=1 ;;" "-MM | --cuda-device-only) dontLink=1 ;;''\n--cuda-host-only | --cuda-compile-host-device) dontLink=0 ;;" + --replace-fail "-MM) dontLink=1 ;;" "-MM | --cuda-device-only) dontLink=1 ;;''\n--cuda-host-only | --cuda-compile-host-device) dontLink=0 ;;" ''; } diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix index 1fd72ee67188f..c395dd792db01 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/libclc.nix @@ -21,13 +21,13 @@ in callPackage ../base.nix rec { # `clspv` tests fail, unresolved calls extraPostPatch = '' substituteInPlace CMakeLists.txt \ - --replace "find_program( LLVM_CLANG clang PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ + --replace-fail "find_program( LLVM_CLANG clang PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ "find_program( LLVM_CLANG clang PATHS \"${clang}/bin\" NO_DEFAULT_PATH )" \ - --replace "find_program( LLVM_SPIRV llvm-spirv PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ + --replace-fail "find_program( LLVM_SPIRV llvm-spirv PATHS \''${LLVM_BINDIR} NO_DEFAULT_PATH )" \ "find_program( LLVM_SPIRV llvm-spirv PATHS \"${spirv}/bin\" NO_DEFAULT_PATH )" \ - --replace " spirv-mesa3d-" "" \ - --replace " spirv64-mesa3d-" "" \ - --replace "NOT \''${t} MATCHES" \ + --replace-fail " spirv-mesa3d-" "" \ + --replace-fail " spirv64-mesa3d-" "" \ + --replace-fail "NOT \''${t} MATCHES" \ "NOT \''${ARCH} STREQUAL \"clspv\" AND NOT \''${ARCH} STREQUAL \"clspv64\" AND NOT \''${t} MATCHES" ''; diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix index 6de685ea27718..8b71b3fb29778 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/mlir.nix @@ -7,6 +7,7 @@ , glslang , shaderc , lit +, fetchpatch }: callPackage ../base.nix rec { @@ -17,9 +18,12 @@ callPackage ../base.nix rec { targetDir = targetName; # Fix `DebugTranslation.cpp:139:10: error: no matching function for call to 'get'` - # We patch at a different source root, so we modify the patch and include it locally - # https://github.com/ROCm/llvm-project/commit/f1d1e10ec7e1061bf0b90abbc1e298d9438a5e74.patch - extraPatches = [ ./0000-mlir-fix-debugtranslation.patch ]; + extraPatches = [ + (fetchpatch { + url = "https://github.com/ROCm/llvm-project/commit/f1d1e10ec7e1061bf0b90abbc1e298d9438a5e74.patch"; + hash = "sha256-3c91A9InMKxm+JcnWxoUeOU68y5I6w1AAXx6T9UByqI="; + }) + ]; extraNativeBuildInputs = [ clr ]; extraBuildInputs = [ @@ -41,7 +45,7 @@ callPackage ../base.nix rec { extraPostPatch = '' # `add_library cannot create target "llvm_gtest" because an imported target with the same name already exists` substituteInPlace CMakeLists.txt \ - --replace "EXISTS \''${UNITTEST_DIR}/googletest/include/gtest/gtest.h" "FALSE" + --replace-fail "EXISTS \''${UNITTEST_DIR}/googletest/include/gtest/gtest.h" "FALSE" # Mainly `No such file or directory` cat ${./1001-mlir-failing-tests.list} | xargs -d \\n rm diff --git a/pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix b/pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix index e001f33dfd433..da5c2e16f5d3b 100644 --- a/pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix +++ b/pkgs/development/rocm-modules/6/llvm/stage-3/polly.nix @@ -11,7 +11,7 @@ callPackage ../base.nix rec { extraPostPatch = '' # `add_library cannot create target "llvm_gtest" because an imported target with the same name already exists` substituteInPlace CMakeLists.txt \ - --replace "NOT TARGET gtest" "FALSE" + --replace-fail "NOT TARGET gtest" "FALSE" ''; checkTargets = [ "check-${targetName}" ]; diff --git a/pkgs/development/rocm-modules/6/miopen/default.nix b/pkgs/development/rocm-modules/6/miopen/default.nix index f78bcb602e698..09bcf10429530 100644 --- a/pkgs/development/rocm-modules/6/miopen/default.nix +++ b/pkgs/development/rocm-modules/6/miopen/default.nix @@ -155,6 +155,7 @@ in stdenv.mkDerivation (finalAttrs: { python3Packages.breathe python3Packages.myst-parser ] ++ lib.optionals buildTests [ + gtest zlib ]; @@ -185,6 +186,9 @@ in stdenv.mkDerivation (finalAttrs: { substituteInPlace test/gtest/CMakeLists.txt \ --replace "include(googletest)" "" + substituteInPlace test/gtest/CMakeLists.txt \ + --replace-fail " gtest_main " " ${gtest}/lib/libgtest.so ${gtest}/lib/libgtest_main.so " + ln -sf ${gfx900} src/kernels/gfx900.kdb ln -sf ${gfx906} src/kernels/gfx906.kdb ln -sf ${gfx908} src/kernels/gfx908.kdb diff --git a/pkgs/development/rocm-modules/6/mivisionx/0001-set-__STDC_CONSTANT_MACROS-to-make-rocAL-compile.patch b/pkgs/development/rocm-modules/6/mivisionx/0001-set-__STDC_CONSTANT_MACROS-to-make-rocAL-compile.patch new file mode 100644 index 0000000000000..18946835e12e5 --- /dev/null +++ b/pkgs/development/rocm-modules/6/mivisionx/0001-set-__STDC_CONSTANT_MACROS-to-make-rocAL-compile.patch @@ -0,0 +1,25 @@ +From f0e66bd446d44df1d30faaad520613f5fb7f5916 Mon Sep 17 00:00:00 2001 +From: Martin Schwaighofer <mschwaig@users.noreply.github.com> +Date: Sat, 30 Mar 2024 15:36:52 +0100 +Subject: [PATCH] set __STDC_CONSTANT_MACROS to make rocAL compile + +--- + CMakeLists.txt | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 42b139b6..509915f1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -149,6 +149,8 @@ message("-- ${Cyan} -D MIGRAPHX=${MIGRAPHX} [Turn ON/OFF MIGraphX Module (de + message("-- ${Cyan} -D BACKEND=${BACKEND} [Select MIVisionX Backend [options:CPU/OPENCL/HIP](default:HIP)]${ColourReset}") + message("-- ${Cyan} -D BUILD_WITH_AMD_ADVANCE=${BUILD_WITH_AMD_ADVANCE} [Turn ON/OFF Build for AMD advanced GPUs(default:OFF)]${ColourReset}") + ++add_definitions(-D__STDC_CONSTANT_MACROS) ++ + add_subdirectory(amd_openvx) + add_subdirectory(amd_openvx_extensions) + add_subdirectory(utilities) +-- +2.43.0 + diff --git a/pkgs/development/rocm-modules/6/mivisionx/default.nix b/pkgs/development/rocm-modules/6/mivisionx/default.nix index e3e6172709fe6..8459dff1c8922 100644 --- a/pkgs/development/rocm-modules/6/mivisionx/default.nix +++ b/pkgs/development/rocm-modules/6/mivisionx/default.nix @@ -46,6 +46,10 @@ stdenv.mkDerivation (finalAttrs: { hash = "sha256-d32lcJq24MXeIWbNbo6putWaol5kF2io6cz4ZuL+DbE="; }; + patches = [ + ./0001-set-__STDC_CONSTANT_MACROS-to-make-rocAL-compile.patch + ]; + nativeBuildInputs = [ cmake rocm-cmake diff --git a/pkgs/development/rocm-modules/6/rocrand/default.nix b/pkgs/development/rocm-modules/6/rocrand/default.nix index f09ff3b12059a..7d0e80b5af4e6 100644 --- a/pkgs/development/rocm-modules/6/rocrand/default.nix +++ b/pkgs/development/rocm-modules/6/rocrand/default.nix @@ -29,7 +29,6 @@ stdenv.mkDerivation (finalAttrs: { repo = "rocRAND"; rev = "rocm-${finalAttrs.version}"; hash = "sha256-BBkcYOP+zh3OQTxuSkeiJizwnE9Gr5Jbhx0e8SU/mmU="; - fetchSubmodules = true; # For inline hipRAND }; nativeBuildInputs = [ @@ -68,6 +67,8 @@ stdenv.mkDerivation (finalAttrs: { mkdir -p $benchmark/bin mv $out/bin/benchmark_* $benchmark/bin '' + lib.optionalString (buildTests || buildBenchmarks) '' + rm -r $out/bin/rocRAND + # Fail if bin/ isn't actually empty rmdir $out/bin ''; |