diff --git a/pkgs/development/rocm-modules/6/composable_kernel/default.nix b/pkgs/development/rocm-modules/6/composable_kernel/default.nix index ac360482f4af..e0f8daf82638 100644 --- a/pkgs/development/rocm-modules/6/composable_kernel/default.nix +++ b/pkgs/development/rocm-modules/6/composable_kernel/default.nix @@ -9,6 +9,7 @@ , clang-tools-extra , git , gtest +, zstd , buildTests ? false , buildExamples ? false , gpuTargets ? [ ] # gpuTargets = [ "gfx803" "gfx900" "gfx1030" ... ] @@ -39,6 +40,7 @@ stdenv.mkDerivation (finalAttrs: { rocm-cmake clr clang-tools-extra + zstd ]; buildInputs = [ openmp ]; @@ -66,7 +68,9 @@ stdenv.mkDerivation (finalAttrs: { '' ; - postInstall = lib.optionalString buildTests '' + postInstall = '' + zstd --rm $out/lib/libdevice_operations.a + '' + lib.optionalString buildTests '' mkdir -p $test/bin mv $out/bin/test_* $test/bin '' + lib.optionalString buildExamples '' diff --git a/pkgs/development/rocm-modules/6/composable_kernel/unpack.nix b/pkgs/development/rocm-modules/6/composable_kernel/unpack.nix new file mode 100644 index 000000000000..2572884388fa --- /dev/null +++ b/pkgs/development/rocm-modules/6/composable_kernel/unpack.nix @@ -0,0 +1,16 @@ +{ runCommandLocal, + composable_kernel_build, + zstd +}: +let + ck = composable_kernel_build; +in runCommandLocal "unpack-${ck.name}" { + nativeBuildInputs = [ zstd ]; + meta = ck.meta; + } '' + mkdir -p $out + cp -r --no-preserve=mode ${ck}/* $out + zstd -dv --rm $out/lib/libdevice_operations.a.zst -o $out/lib/libdevice_operations.a + substituteInPlace $out/lib/cmake/composable_kernel/*.cmake \ + --replace "${ck}" "$out" + '' diff --git a/pkgs/development/rocm-modules/6/default.nix b/pkgs/development/rocm-modules/6/default.nix index 4d10ea244044..ad7ff7d1d1ed 100644 --- a/pkgs/development/rocm-modules/6/default.nix +++ b/pkgs/development/rocm-modules/6/default.nix @@ -242,10 +242,12 @@ in rec { It is still available for some time as part of rocmPackages_5. ''; # Added 2024-3-3 - composable_kernel = callPackage ./composable_kernel { - inherit rocmUpdateScript rocm-cmake clr; - inherit (llvm) openmp clang-tools-extra; - stdenv = llvm.rocmClangStdenv; + composable_kernel = callPackage ./composable_kernel/unpack.nix { + composable_kernel_build = callPackage ./composable_kernel { + inherit rocmUpdateScript rocm-cmake clr; + inherit (llvm) openmp clang-tools-extra; + stdenv = llvm.rocmClangStdenv; + }; }; half = callPackage ./half {