Merge pull request #202373 from Madouura/pr/rocm-related

This commit is contained in:
Martin Weinelt
2022-11-25 16:46:32 +01:00
committed by GitHub
25 changed files with 295 additions and 162 deletions
+10 -10
View File
@@ -28,14 +28,14 @@
}:
let
hip = stdenv.mkDerivation rec {
hip = stdenv.mkDerivation (finalAttrs: {
pname = "hip";
version = "5.3.1";
version = "5.3.3";
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
repo = "HIP";
rev = "rocm-${version}";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-kmRvrwnT0h2dBMI+H9d1vmeW3TmDBD+qW4YYhaMV2dE=";
};
@@ -103,19 +103,19 @@ let
description = "C++ Heterogeneous-Compute Interface for Portability";
homepage = "https://github.com/ROCm-Developer-Tools/HIP";
license = licenses.mit;
maintainers = with maintainers; [ lovesegfault Flakebi ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
};
};
});
in
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "hip";
version = "5.3.1";
version = "5.3.3";
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
repo = "hipamd";
rev = "rocm-${version}";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-i7hT/j+V0LT6Va2XcQyyKXF1guoIyhcOHvn842wCRx4=";
};
@@ -200,7 +200,7 @@ stdenv.mkDerivation rec {
description = "C++ Heterogeneous-Compute Interface for Portability";
homepage = "https://github.com/ROCm-Developer-Tools/hipamd";
license = licenses.mit;
maintainers = with maintainers; [ lovesegfault Flakebi ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
};
}
})
@@ -1,7 +1,7 @@
{ stdenv, lib, buildPackages, fetchFromGitHub, callPackage, wrapCCWith, overrideCC }:
let
version = "5.3.1";
version = "5.3.3";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
repo = "llvm-project";
@@ -24,7 +24,7 @@ let
if stdenv.isx86_64 then "X86"
else if stdenv.isAarch64 then "AArch64"
else throw "Unsupported ROCm LLVM platform";
in stdenv.mkDerivation rec {
in stdenv.mkDerivation (finalAttrs: {
inherit src version;
pname = "rocm-llvm";
@@ -85,7 +85,7 @@ in stdenv.mkDerivation rec {
description = "ROCm fork of the LLVM compiler infrastructure";
homepage = "https://github.com/RadeonOpenCompute/llvm-project";
license = with licenses; [ ncsa ];
maintainers = with maintainers; [ acowley lovesegfault Flakebi ];
maintainers = with maintainers; [ acowley lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
};
}
})
@@ -1,21 +1,22 @@
{ lib
, stdenv
, fetchFromGitHub
, writeScript
, cmake
, rocm-cmake
, rocm-device-libs
, clang
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "clang-ocl";
rocmVersion = "5.3.1";
version = rocmVersion;
rocmVersion = "5.3.3";
version = finalAttrs.rocmVersion;
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
repo = "clang-ocl";
rev = "rocm-${rocmVersion}";
rev = "rocm-${finalAttrs.rocmVersion}";
hash = "sha256-uMSvcVJj+me2E+7FsXZ4l4hTcK6uKEegXpkHGcuist0=";
};
@@ -34,11 +35,18 @@ stdenv.mkDerivation rec {
"-DCMAKE_CXX_COMPILER=clang++"
];
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
rocmVersion="$(curl -sL "https://api.github.com/repos/RadeonOpenCompute/clang-ocl/releases?per_page=1" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version clang-ocl "$rocmVersion" --ignore-same-hash --version-key=rocmVersion
'';
meta = with lib; {
description = "OpenCL compilation with clang compiler";
homepage = "https://github.com/RadeonOpenCompute/clang-ocl";
license = with licenses; [ mit ];
maintainers = with maintainers; [ Madouura ];
broken = rocmVersion != clang.version;
maintainers = teams.rocm.members;
broken = finalAttrs.rocmVersion != clang.version;
};
}
})
@@ -18,9 +18,9 @@ assert buildTests -> gtest != null;
# Try removing this next update
assert buildTests == false;
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "composable_kernel";
version = "unstable-2022-11-02";
version = "unstable-2022-11-19";
outputs = [
"out"
@@ -30,11 +30,13 @@ stdenv.mkDerivation rec {
"example"
];
# There is now a release, but it's cpu-only it seems to be for a very specific purpose
# Thus, we're sticking with the develop branch for now...
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "composable_kernel";
rev = "79aa3fb1793c265c59d392e916baa851a55521c8";
hash = "sha256-vIfMdvRYCTqrjMGSb7gQfodzLw2wf3tGoCAa5jtfbvw=";
rev = "43a889b72e3faabf04c16ff410d387ce28486c3e";
hash = "sha256-DDRrWKec/RcOhW3CrN0gl9NZsp0Bjnja7HAiTcEh7qg=";
};
nativeBuildInputs = [
@@ -86,6 +88,6 @@ stdenv.mkDerivation rec {
description = "Performance portable programming model for machine learning tensor operators";
homepage = "https://github.com/ROCmSoftwarePlatform/composable_kernel";
license = with licenses; [ mit ];
maintainers = with maintainers; [ Madouura ];
maintainers = teams.rocm.members;
};
}
})
+19 -7
View File
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, writeScript
, cmake
, rocm-cmake
, rocm-runtime
@@ -18,10 +19,11 @@ assert buildTests -> gtest != null;
assert buildBenchmarks -> gbenchmark != null;
# CUB can also be used as a backend instead of rocPRIM.
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "hipcub";
rocmVersion = "5.3.1";
version = "2.12.0-${rocmVersion}";
repoVersion = "2.12.0";
rocmVersion = "5.3.3";
version = "${finalAttrs.repoVersion}-${finalAttrs.rocmVersion}";
outputs = [
"out"
@@ -34,7 +36,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "hipCUB";
rev = "rocm-${rocmVersion}";
rev = "rocm-${finalAttrs.rocmVersion}";
hash = "sha256-/GMZKbMD1sZQCM2FulM9jiJQ8ByYZinn0C8d/deFh0g=";
};
@@ -79,11 +81,21 @@ stdenv.mkDerivation rec {
rmdir $out/bin
'';
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
json="$(curl -sL "https://api.github.com/repos/ROCmSoftwarePlatform/hipCUB/releases?per_page=1")"
repoVersion="$(echo "$json" | jq '.[0].name | split(" ") | .[1]' --raw-output)"
rocmVersion="$(echo "$json" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version hipcub "$repoVersion" --ignore-same-hash --version-key=repoVersion
update-source-version hipcub "$rocmVersion" --ignore-same-hash --version-key=rocmVersion
'';
meta = with lib; {
description = "Thin wrapper library on top of rocPRIM or CUB";
homepage = "https://github.com/ROCmSoftwarePlatform/hipCUB";
license = with licenses; [ bsd3 ];
maintainers = with maintainers; [ Madouura ];
broken = rocmVersion != hip.version;
maintainers = teams.rocm.members;
broken = finalAttrs.rocmVersion != hip.version;
};
}
})
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, writeScript
, cmake
, rocm-cmake
, rocm-runtime
@@ -25,10 +26,11 @@ let
mirror1 = "https://sparse.tamu.edu/MM";
mirror2 = "https://www.cise.ufl.edu/research/sparse/MM";
};
in stdenv.mkDerivation rec {
in stdenv.mkDerivation (finalAttrs: {
pname = "hipsparse";
rocmVersion = "5.3.1";
version = "2.3.1-${rocmVersion}";
repoVersion = "2.3.1";
rocmVersion = "5.3.3";
version = "${finalAttrs.repoVersion}-${finalAttrs.rocmVersion}";
outputs = [
"out"
@@ -39,7 +41,7 @@ in stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "hipSPARSE";
rev = "rocm-${rocmVersion}";
rev = "rocm-${finalAttrs.rocmVersion}";
hash = "sha256-Phcihat774ZSAe1QetE/GSZzGlnCnvS9GwsHBHCaD4c=";
};
@@ -122,11 +124,21 @@ in stdenv.mkDerivation rec {
rmdir $out/bin
'';
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
json="$(curl -sL "https://api.github.com/repos/ROCmSoftwarePlatform/hipSPARSE/releases?per_page=1")"
repoVersion="$(echo "$json" | jq '.[0].name | split(" ") | .[1]' --raw-output)"
rocmVersion="$(echo "$json" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version hipsparse "$repoVersion" --ignore-same-hash --version-key=repoVersion
update-source-version hipsparse "$rocmVersion" --ignore-same-hash --version-key=rocmVersion
'';
meta = with lib; {
description = "ROCm SPARSE marshalling library";
homepage = "https://github.com/ROCmSoftwarePlatform/hipSPARSE";
license = with licenses; [ mit ];
maintainers = with maintainers; [ Madouura ];
broken = rocmVersion != hip.version;
maintainers = teams.rocm.members;
broken = finalAttrs.rocmVersion != hip.version;
};
}
})
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, writeScript
, cmake
, rocm-cmake
, rocm-opencl-runtime
@@ -35,10 +36,10 @@ let
varwidth
titlesec;
});
in stdenv.mkDerivation rec {
in stdenv.mkDerivation (finalAttrs: {
pname = "miopengemm";
rocmVersion = "5.3.1";
version = rocmVersion;
rocmVersion = "5.3.3";
version = finalAttrs.rocmVersion;
outputs = [
"out"
@@ -53,7 +54,7 @@ in stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "MIOpenGEMM";
rev = "rocm-${rocmVersion}";
rev = "rocm-${finalAttrs.rocmVersion}";
hash = "sha256-AiRzOMYRA/0nbQomyq4oOEwNZdkPYWRA2W6QFlctvFc=";
};
@@ -106,11 +107,11 @@ in stdenv.mkDerivation rec {
postInstall = lib.optionalString buildTests ''
mkdir -p $test/bin
find tests -executable -type f -exec mv {} $test/bin \;
patchelf --set-rpath ${lib.makeLibraryPath buildInputs}:$out/lib $test/bin/*
patchelf --set-rpath ${lib.makeLibraryPath finalAttrs.buildInputs}:$out/lib $test/bin/*
'' + lib.optionalString buildBenchmarks ''
mkdir -p $benchmark/bin
find examples -executable -type f -exec mv {} $benchmark/bin \;
patchelf --set-rpath ${lib.makeLibraryPath buildInputs}:$out/lib $benchmark/bin/*
patchelf --set-rpath ${lib.makeLibraryPath finalAttrs.buildInputs}:$out/lib $benchmark/bin/*
'';
postFixup = lib.optionalString buildDocs ''
@@ -119,11 +120,18 @@ in stdenv.mkDerivation rec {
mv ../doc/pdf/miopengemm.pdf $docs/share/doc/miopengemm
'';
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
rocmVersion="$(curl -sL "https://api.github.com/repos/ROCmSoftwarePlatform/MIOpenGEMM/releases?per_page=1" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version miopengemm "$rocmVersion" --ignore-same-hash --version-key=rocmVersion
'';
meta = with lib; {
description = "OpenCL general matrix multiplication API for ROCm";
homepage = "https://github.com/ROCmSoftwarePlatform/MIOpenGEMM";
license = with licenses; [ mit ];
maintainers = with maintainers; [ Madouura ];
broken = rocmVersion != clang.version;
maintainers = teams.rocm.members;
broken = finalAttrs.rocmVersion != clang.version;
};
}
})
+19 -7
View File
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, writeScript
, cmake
, rocm-cmake
, rocm-runtime
@@ -15,10 +16,11 @@
assert buildTests -> chrpath != null;
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rccl";
rocmVersion = "5.3.1";
version = "2.12.10-${rocmVersion}";
repoVersion = "2.12.10";
rocmVersion = "5.3.3";
version = "${finalAttrs.repoVersion}-${finalAttrs.rocmVersion}";
outputs = [
"out"
@@ -29,7 +31,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "rccl";
rev = "rocm-${rocmVersion}";
rev = "rocm-${finalAttrs.rocmVersion}";
hash = "sha256-whRXGD8oINDYhFs8+hEWKWoGNqacGlyy7xi8peA8Qsk=";
};
@@ -74,11 +76,21 @@ stdenv.mkDerivation rec {
rmdir $out/bin
'';
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
json="$(curl -sL "https://api.github.com/repos/ROCmSoftwarePlatform/rccl/releases?per_page=1")"
repoVersion="$(echo "$json" | jq '.[0].name | split(" ") | .[1]' --raw-output)"
rocmVersion="$(echo "$json" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version rccl "$repoVersion" --ignore-same-hash --version-key=repoVersion
update-source-version rccl "$rocmVersion" --ignore-same-hash --version-key=rocmVersion
'';
meta = with lib; {
description = "ROCm communication collectives library";
homepage = "https://github.com/ROCmSoftwarePlatform/rccl";
license = with licenses; [ bsd2 bsd3 ];
maintainers = with maintainers; [ Madouura ];
broken = rocmVersion != hip.version;
maintainers = teams.rocm.members;
broken = finalAttrs.rocmVersion != hip.version;
};
}
})
+20 -8
View File
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, writeScript
, fetchpatch
, cmake
, rocm-cmake
@@ -40,16 +41,17 @@ assert buildTests -> gfortran != null;
assert buildTests == false;
assert buildBenchmarks == false;
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocblas";
rocmVersion = "5.3.1";
version = "2.45.0-${rocmVersion}";
repoVersion = "2.45.0";
rocmVersion = "5.3.3";
version = "${finalAttrs.repoVersion}-${finalAttrs.rocmVersion}";
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "rocBLAS";
rev = "rocm-${rocmVersion}";
hash = "sha256-GeeICEI1dNE6D+nUUlBtUncLkPowAa5n+bsy160EtaU=";
rev = "rocm-${finalAttrs.rocmVersion}";
hash = "sha256-z40WxF+suMeIZihBWJPRWyL20S2FUbeZb5JewmQWOJo=";
};
# We currently need this patch due to faulty toolchain includes
@@ -126,11 +128,21 @@ stdenv.mkDerivation rec {
--replace "virtualenv_install(\''${Tensile_TEST_LOCAL_PATH})" ""
'';
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
json="$(curl -sL "https://api.github.com/repos/ROCmSoftwarePlatform/rocBLAS/releases?per_page=1")"
repoVersion="$(echo "$json" | jq '.[0].name | split(" ") | .[1]' --raw-output)"
rocmVersion="$(echo "$json" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version rocblas "$repoVersion" --ignore-same-hash --version-key=repoVersion
update-source-version rocblas "$rocmVersion" --ignore-same-hash --version-key=rocmVersion
'';
meta = with lib; {
description = "BLAS implementation for ROCm platform";
homepage = "https://github.com/ROCmSoftwarePlatform/rocBLAS";
license = with licenses; [ mit ];
maintainers = with maintainers; [ Madouura ];
broken = rocmVersion != hip.version;
maintainers = teams.rocm.members;
broken = finalAttrs.rocmVersion != hip.version;
};
}
})
@@ -5,14 +5,14 @@
, rocm-comgr
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocclr";
version = "5.3.1";
version = "5.3.3";
src = fetchFromGitHub {
owner = "ROCm-Developer-Tools";
repo = "ROCclr";
rev = "rocm-${version}";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-dmL9krI/gHGQdOZ53+bQ7WjKcmJ+fZZP0lzF8ITLT4E=";
};
@@ -46,17 +46,17 @@ stdenv.mkDerivation rec {
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
version="$(curl -sL "https://api.github.com/repos/ROCm-Developer-Tools/ROCclr/tags" | jq '.[].name | split("-") | .[1] | select( . != null )' --raw-output | sort -n | tail -1)"
update-source-version rocclr "$version"
update-source-version rocclr "$version" --ignore-same-hash
'';
meta = with lib; {
description = "Source package of the Radeon Open Compute common language runtime";
homepage = "https://github.com/ROCm-Developer-Tools/ROCclr";
license = licenses.mit;
maintainers = with maintainers; [ lovesegfault Flakebi ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
# rocclr seems to have some AArch64 ifdefs, but does not seem
# to be supported yet by the build infrastructure. Recheck in
# the future.
platforms = [ "x86_64-linux" ];
};
}
})
+19 -7
View File
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, writeScript
, cmake
, rocm-cmake
, rocm-runtime
@@ -24,10 +25,11 @@ assert buildBenchmarks -> fftwFloat != null;
assert (buildTests || buildBenchmarks) -> boost != null;
assert (buildTests || buildBenchmarks) -> llvmPackages != null;
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocfft";
rocmVersion = "5.3.1";
version = "1.0.18-${rocmVersion}";
repoVersion = "1.0.18";
rocmVersion = "5.3.3";
version = "${finalAttrs.repoVersion}-${finalAttrs.rocmVersion}";
outputs = [
"out"
@@ -40,7 +42,7 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "rocFFT";
rev = "rocm-${rocmVersion}";
rev = "rocm-${finalAttrs.rocmVersion}";
hash = "sha256-jb2F1fRe+YLloYJ/KtzrptUDhmdBDBtddeW/g55owKM=";
};
@@ -104,12 +106,22 @@ stdenv.mkDerivation rec {
mv $out/rocfft_rtc_helper $out/bin
'';
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
json="$(curl -sL "https://api.github.com/repos/ROCmSoftwarePlatform/rocFFT/releases?per_page=1")"
repoVersion="$(echo "$json" | jq '.[0].name | split(" ") | .[1]' --raw-output)"
rocmVersion="$(echo "$json" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version rocfft "$repoVersion" --ignore-same-hash --version-key=repoVersion
update-source-version rocfft "$rocmVersion" --ignore-same-hash --version-key=rocmVersion
'';
meta = with lib; {
description = "FFT implementation for ROCm ";
homepage = "https://github.com/ROCmSoftwarePlatform/rocFFT";
license = with licenses; [ mit ];
maintainers = with maintainers; [ Madouura ];
broken = rocmVersion != hip.version;
maintainers = teams.rocm.members;
broken = finalAttrs.rocmVersion != hip.version;
hydraPlatforms = [ ]; # rocFFT produces an extremely large output
};
}
})
@@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, writeScript, cmake, clang, rocm-device-libs, llvm }:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocm-comgr";
version = "5.3.1";
version = "5.3.3";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
repo = "ROCm-CompilerSupport";
rev = "rocm-${version}";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-LQyMhqcWm8zqt6138fnT7EOq/F8bG3Iuf04PTemVQmg=";
};
@@ -31,14 +31,14 @@ stdenv.mkDerivation rec {
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
version="$(curl -sL "https://api.github.com/repos/RadeonOpenCompute/ROCm-CompilerSupport/releases?per_page=1" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version rocm-comgr "$version"
update-source-version rocm-comgr "$version" --ignore-same-hash
'';
meta = with lib; {
description = "APIs for compiling and inspecting AMDGPU code objects";
homepage = "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/tree/amd-stg-open/lib/comgr";
license = licenses.ncsa;
maintainers = with maintainers; [ lovesegfault Flakebi ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
};
}
})
@@ -6,14 +6,14 @@
, llvm
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocm-device-libs";
version = "5.3.1";
version = "5.3.3";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
repo = "ROCm-Device-Libs";
rev = "rocm-${version}";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-rKMe0B/pkDek/ZU37trnJNa8aqvlwxobPb1+VTx/bJU=";
};
@@ -33,14 +33,14 @@ stdenv.mkDerivation rec {
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
version="$(curl -sL "https://api.github.com/repos/RadeonOpenCompute/ROCm-Device-Libs/releases?per_page=1" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version rocm-device-libs "$version"
update-source-version rocm-device-libs "$version" --ignore-same-hash
'';
meta = with lib; {
description = "Set of AMD-specific device-side language runtime libraries";
homepage = "https://github.com/RadeonOpenCompute/ROCm-Device-Libs";
license = licenses.ncsa;
maintainers = with maintainers; [ lovesegfault Flakebi ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
};
}
})
@@ -20,14 +20,14 @@
, rocm-thunk
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocm-opencl-runtime";
version = "5.3.1";
version = "5.3.3";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
repo = "ROCm-OpenCL-Runtime";
rev = "rocm-${version}";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-QvAF25Zfq9d1M/KIsr2S+Ggxzqw/MQ2OVcm9ZNfjTa8=";
};
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
];
cmakeFlags = [
"-DAMD_OPENCL_PATH=${src}"
"-DAMD_OPENCL_PATH=${finalAttrs.src}"
"-DROCCLR_PATH=${rocclr}"
"-DCPACK_PACKAGING_INSTALL_PREFIX=/opt/rocm/opencl"
];
@@ -72,14 +72,14 @@ stdenv.mkDerivation rec {
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
version="$(curl -sL "https://api.github.com/repos/RadeonOpenCompute/ROCm-OpenCL-Runtime/tags" | jq '.[].name | split("-") | .[1] | select( . != null )' --raw-output | sort -n | tail -1)"
update-source-version rocm-opencl-runtime "$version"
update-source-version rocm-opencl-runtime "$version" --ignore-same-hash
'';
meta = with lib; {
description = "OpenCL runtime for AMD GPUs, part of the ROCm stack";
homepage = "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime";
license = with licenses; [ asl20 mit ];
maintainers = with maintainers; [ acowley lovesegfault Flakebi ];
maintainers = with maintainers; [ acowley lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
};
}
})
@@ -13,14 +13,14 @@
, rocm-device-libs
, rocm-thunk }:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocm-runtime";
version = "5.3.1";
version = "5.3.3";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
repo = "ROCR-Runtime";
rev = "rocm-${version}";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-26E7vA2JlC50zmpaQfDrFMlgjAqmfTdp9/A8g5caDqI=";
};
@@ -52,13 +52,13 @@ stdenv.mkDerivation rec {
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
version="$(curl -sL "https://api.github.com/repos/RadeonOpenCompute/ROCR-Runtime/releases?per_page=1" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version rocm-runtime "$version"
update-source-version rocm-runtime "$version" --ignore-same-hash
'';
meta = with lib; {
description = "Platform runtime for ROCm";
homepage = "https://github.com/RadeonOpenCompute/ROCR-Runtime";
license = with licenses; [ ncsa ];
maintainers = with maintainers; [ lovesegfault Flakebi ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
};
}
})
@@ -7,14 +7,14 @@
, numactl
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocm-thunk";
version = "5.3.1";
version = "5.3.3";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
repo = "ROCT-Thunk-Interface";
rev = "rocm-${version}";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-cM78Bx6uYsxhvdqSVNgmqOUYQnUJVCA7mNpRNNSFv6k=";
};
@@ -41,13 +41,13 @@ stdenv.mkDerivation rec {
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
version="$(curl -sL "https://api.github.com/repos/RadeonOpenCompute/ROCT-Thunk-Interface/tags" | jq '.[].name | split("-") | .[1] | select( . != null )' --raw-output | sort -n | tail -1)"
update-source-version rocm-thunk "$version"
update-source-version rocm-thunk "$version" --ignore-same-hash
'';
meta = with lib; {
description = "Radeon open compute thunk interface";
homepage = "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface";
license = with licenses; [ bsd2 mit ];
maintainers = with maintainers; [ lovesegfault Flakebi ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
};
}
})
+15 -8
View File
@@ -1,21 +1,21 @@
{ lib
, stdenv
, fetchFromGitHub
, writeScript
, cmake
, hip
, python3
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocmlir";
rocmVersion = "5.3.1";
# For some reason they didn't add a tag for 5.3.1, should be compatible, change to rocmVersion later
version = "5.3.0";
rocmVersion = "5.3.3";
version = finalAttrs.rocmVersion;
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "rocMLIR";
rev = "rocm-${version}"; # change to rocmVersion later
rev = "rocm-${finalAttrs.rocmVersion}";
hash = "sha256-s/5gAH5vh2tgATZemPP66juQFDg8BR2sipzX2Q6pOOQ=";
};
@@ -32,11 +32,18 @@ stdenv.mkDerivation rec {
"-DBUILD_FAT_LIBMLIRMIOPEN=ON"
];
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
rocmVersion="$(curl -sL "https://api.github.com/repos/ROCmSoftwarePlatform/rocMLIR/tags?per_page=2" | jq '.[1].name | split("-") | .[1]' --raw-output)"
update-source-version rocmlir "$rocmVersion" --ignore-same-hash --version-key=rocmVersion
'';
meta = with lib; {
description = "MLIR-based convolution and GEMM kernel generator";
homepage = "https://github.com/ROCmSoftwarePlatform/rocMLIR";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ Madouura ];
broken = rocmVersion != hip.version;
maintainers = teams.rocm.members;
broken = finalAttrs.rocmVersion != hip.version;
};
}
})
+20 -8
View File
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, writeScript
, cmake
, rocm-cmake
, rocm-runtime
@@ -16,10 +17,11 @@
assert buildTests -> gtest != null;
assert buildBenchmarks -> gbenchmark != null;
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocprim";
rocmVersion = "5.3.1";
version = "2.11.0-${rocmVersion}";
repoVersion = "2.11.1";
rocmVersion = "5.3.3";
version = "${finalAttrs.repoVersion}-${finalAttrs.rocmVersion}";
outputs = [
"out"
@@ -32,8 +34,8 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "rocPRIM";
rev = "rocm-${rocmVersion}";
hash = "sha256-aapvj9bwwlg7VJfnH1PVR8DulMcJh1xR6B4rPPGU6Q4=";
rev = "rocm-${finalAttrs.rocmVersion}";
hash = "sha256-jfTuGEPyssARpdo0ZnfVJt0MBkoHnmBtf6Zg4xXNJ1U=";
};
nativeBuildInputs = [
@@ -75,11 +77,21 @@ stdenv.mkDerivation rec {
rmdir $out/bin
'';
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
json="$(curl -sL "https://api.github.com/repos/ROCmSoftwarePlatform/rocPRIM/releases?per_page=1")"
repoVersion="$(echo "$json" | jq '.[0].name | split(" ") | .[1]' --raw-output)"
rocmVersion="$(echo "$json" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version rocprim "$repoVersion" --ignore-same-hash --version-key=repoVersion
update-source-version rocprim "$rocmVersion" --ignore-same-hash --version-key=rocmVersion
'';
meta = with lib; {
description = "ROCm parallel primitives";
homepage = "https://github.com/ROCmSoftwarePlatform/rocPRIM";
license = with licenses; [ mit ];
maintainers = with maintainers; [ Madouura ];
broken = rocmVersion != hip.version;
maintainers = teams.rocm.members;
broken = finalAttrs.rocmVersion != hip.version;
};
}
})
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, writeScript
, cmake
, rocm-cmake
, rocm-runtime
@@ -29,10 +30,11 @@ let
mirror1 = "https://sparse.tamu.edu/MM";
mirror2 = "https://www.cise.ufl.edu/research/sparse/MM";
};
in stdenv.mkDerivation rec {
in stdenv.mkDerivation (finalAttrs: {
pname = "rocsparse";
rocmVersion = "5.3.1";
version = "2.3.2-${rocmVersion}";
repoVersion = "2.3.2";
rocmVersion = "5.3.3";
version = "${finalAttrs.repoVersion}-${finalAttrs.rocmVersion}";
outputs = [
"out"
@@ -45,7 +47,7 @@ in stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "rocSPARSE";
rev = "rocm-${rocmVersion}";
rev = "rocm-${finalAttrs.rocmVersion}";
hash = "sha256-1069oBrIpZ4M9CAkzoQ9a5j3WlCXErirTbgTUZuT6b0=";
};
@@ -138,11 +140,21 @@ in stdenv.mkDerivation rec {
rmdir $out/bin
'';
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
json="$(curl -sL "https://api.github.com/repos/ROCmSoftwarePlatform/rocSPARSE/releases?per_page=1")"
repoVersion="$(echo "$json" | jq '.[0].name | split(" ") | .[1]' --raw-output)"
rocmVersion="$(echo "$json" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version rocsparse "$repoVersion" --ignore-same-hash --version-key=repoVersion
update-source-version rocsparse "$rocmVersion" --ignore-same-hash --version-key=rocmVersion
'';
meta = with lib; {
description = "ROCm SPARSE implementation";
homepage = "https://github.com/ROCmSoftwarePlatform/rocSPARSE";
license = with licenses; [ mit ];
maintainers = with maintainers; [ Madouura ];
broken = rocmVersion != hip.version;
maintainers = teams.rocm.members;
broken = finalAttrs.rocmVersion != hip.version;
};
}
})
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, writeScript
, cmake
, rocm-cmake
, rocm-runtime
@@ -20,10 +21,11 @@ assert buildTests -> gtest != null;
assert buildTests == false;
assert buildBenchmarks == false;
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocthrust";
rocmVersion = "5.3.1";
version = "2.16.0-${rocmVersion}";
repoVersion = "2.16.0";
rocmVersion = "5.3.3";
version = "${finalAttrs.repoVersion}-${finalAttrs.rocmVersion}";
# Comment out these outputs until tests/benchmarks are fixed (upstream?)
# outputs = [
@@ -37,8 +39,8 @@ stdenv.mkDerivation rec {
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "rocThrust";
rev = "rocm-${rocmVersion}";
hash = "sha256-cT0VyEVz86xR6qubAY2ncTxtCRTwXrNTWcFyf3mV+y0=";
rev = "rocm-${finalAttrs.rocmVersion}";
hash = "sha256-WODOeWWL0AOYu0djwDlVZuiJDxcchsAT7BFG9JKYScw=";
};
nativeBuildInputs = [
@@ -81,11 +83,21 @@ stdenv.mkDerivation rec {
# rmdir $out/bin
# '';
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
json="$(curl -sL "https://api.github.com/repos/ROCmSoftwarePlatform/rocThrust/releases?per_page=1")"
repoVersion="$(echo "$json" | jq '.[0].name | split(" ") | .[1]' --raw-output)"
rocmVersion="$(echo "$json" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version rocthrust "$repoVersion" --ignore-same-hash --version-key=repoVersion
update-source-version rocthrust "$rocmVersion" --ignore-same-hash --version-key=rocmVersion
'';
meta = with lib; {
description = "ROCm parallel algorithm library";
homepage = "https://github.com/ROCmSoftwarePlatform/rocThrust";
license = with licenses; [ asl20 ];
maintainers = with maintainers; [ Madouura ];
broken = rocmVersion != hip.version;
maintainers = teams.rocm.members;
broken = finalAttrs.rocmVersion != hip.version;
};
}
})
+16 -4
View File
@@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, writeScript
, buildPythonPackage
, pyyaml
, msgpack
@@ -9,14 +10,15 @@
buildPythonPackage rec {
pname = "tensile";
rocmVersion = "5.3.1";
version = "4.34.0-${rocmVersion}";
repoVersion = "4.34.0";
rocmVersion = "5.3.3";
version = "${repoVersion}-${rocmVersion}";
src = fetchFromGitHub {
owner = "ROCmSoftwarePlatform";
repo = "Tensile";
rev = "rocm-${rocmVersion}";
hash = "sha256-QWt/zzBrZKM8h3MTnbLX4vN3p6cCQvo67U1C2yqAQxw=";
hash = "sha256-6A7REYdIw/ZmjrJh7B+wCXZMleh4bf04TFpRItPtctA=";
};
buildInputs = [
@@ -25,10 +27,20 @@ buildPythonPackage rec {
pandas
];
passthru.updateScript = writeScript "update.sh" ''
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
json="$(curl -sL "https://api.github.com/repos/ROCmSoftwarePlatform/Tensile/releases?per_page=1")"
repoVersion="$(echo "$json" | jq '.[0].name | split(" ") | .[1]' --raw-output)"
rocmVersion="$(echo "$json" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version tensile "$repoVersion" --ignore-same-hash --version-key=repoVersion
update-source-version tensile "$rocmVersion" --ignore-same-hash --version-key=rocmVersion
'';
meta = with lib; {
description = "GEMMs and tensor contractions";
homepage = "https://github.com/ROCmSoftwarePlatform/Tensile";
license = with licenses; [ mit ];
maintainers = with maintainers; [ Madouura ];
maintainers = teams.rocm.members;
};
}
@@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, writeScript, cmake }:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocm-cmake";
version = "5.3.1";
version = "5.3.3";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
repo = "rocm-cmake";
rev = "rocm-${version}";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-AOn3SLprHdeo2FwojQdhRAttUHuaWkO6WlymK8Q8lbc=";
};
@@ -17,14 +17,14 @@ stdenv.mkDerivation rec {
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
version="$(curl -sL "https://api.github.com/repos/RadeonOpenCompute/rocm-cmake/tags" | jq '.[].name | split("-") | .[1] | select( . != null )' --raw-output | sort -n | tail -1)"
update-source-version rocm-cmake "$version"
update-source-version rocm-cmake "$version" --ignore-same-hash
'';
meta = with lib; {
description = "CMake modules for common build tasks for the ROCm stack";
homepage = "https://github.com/RadeonOpenCompute/rocm-cmake";
license = licenses.mit;
maintainers = with maintainers; [ Flakebi ];
maintainers = teams.rocm.members;
platforms = platforms.unix;
};
}
})
+6 -6
View File
@@ -6,13 +6,13 @@
# Polaris) such that no system call is needed for downstream
# compilers to determine the desired target.
, defaultTargets ? []}:
stdenv.mkDerivation rec {
version = "5.3.1";
stdenv.mkDerivation (finalAttrs: {
version = "5.3.3";
pname = "rocminfo";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
repo = "rocminfo";
rev = "rocm-${version}";
rev = "rocm-${finalAttrs.version}";
sha256 = "sha256-4wZTm5AZgG8xEd6uYqxWq4bWZgcSYZ2WYA1z4RAPF8U=";
};
@@ -41,15 +41,15 @@ stdenv.mkDerivation rec {
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
version="$(curl -sL "https://api.github.com/repos/RadeonOpenCompute/rocminfo/tags" | jq '.[].name | split("-") | .[1] | select( . != null )' --raw-output | sort -n | tail -1)"
update-source-version rocminfo "$version"
update-source-version rocminfo "$version" --ignore-same-hash
'';
meta = with lib; {
description = "ROCm Application for Reporting System Info";
homepage = "https://github.com/RadeonOpenCompute/rocminfo";
license = licenses.ncsa;
maintainers = with maintainers; [ lovesegfault Flakebi ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
platforms = platforms.linux;
broken = stdenv.isAarch64;
};
}
})
+6 -6
View File
@@ -1,13 +1,13 @@
{ lib, stdenv, fetchFromGitHub, writeScript, cmake, wrapPython }:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
pname = "rocm-smi";
version = "5.3.1";
version = "5.3.3";
src = fetchFromGitHub {
owner = "RadeonOpenCompute";
repo = "rocm_smi_lib";
rev = "rocm-${version}";
rev = "rocm-${finalAttrs.version}";
hash = "sha256-UbGbkH2vhQ9gv3sSoG+mXap+MdcrP61TN5DcP5F/5nQ=";
};
@@ -23,14 +23,14 @@ stdenv.mkDerivation rec {
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq common-updater-scripts
version="$(curl -sL "https://api.github.com/repos/RadeonOpenCompute/rocm_smi_lib/releases?per_page=1" | jq '.[0].tag_name | split("-") | .[1]' --raw-output)"
update-source-version rocm-smi "$version"
update-source-version rocm-smi "$version" --ignore-same-hash
'';
meta = with lib; {
description = "System management interface for AMD GPUs supported by ROCm";
homepage = "https://github.com/RadeonOpenCompute/rocm_smi_lib";
license = with licenses; [ mit ];
maintainers = with maintainers; [ lovesegfault Flakebi ];
maintainers = with maintainers; [ lovesegfault ] ++ teams.rocm.members;
platforms = [ "x86_64-linux" ];
};
}
})