Unverified Commit 50207701 authored by Doron Behar's avatar Doron Behar Committed by GitHub
Browse files

Merge pull request #318926 from mschwaig/compress-composable-kernel-extra-derivation

rocmPackages.composable_kernel: compress `composable_kernel` using extra derivation
parents 0910a760 f199cf1c
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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 ''
+16 −0
Original line number Diff line number Diff line
{ 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"
  ''
+6 −4
Original line number Diff line number Diff line
@@ -242,11 +242,13 @@ in rec {
    It is still available for some time as part of rocmPackages_5.
  ''; # Added 2024-3-3

  composable_kernel = callPackage ./composable_kernel {
  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 {
    inherit rocmUpdateScript rocm-cmake;