mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-27 17:33:09 +00:00
rocm-related: add update script
rocprim: add update script hipcub: add update script rocsparse: add update script hipsparse: add update script rccl: add update script rocfft: add update script tensile: add update script rocblas: add update script miopengemm: add update script clang-ocl: add update script rocthrust: add update script rocmlir: add update script
This commit is contained in:
parent
878cb61054
commit
a80fa825e6
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeScript
|
||||
, cmake
|
||||
, rocm-cmake
|
||||
, rocm-device-libs
|
||||
@ -34,6 +35,13 @@ 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";
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeScript
|
||||
, cmake
|
||||
, rocm-cmake
|
||||
, rocm-runtime
|
||||
@ -20,8 +21,9 @@ assert buildBenchmarks -> gbenchmark != null;
|
||||
# CUB can also be used as a backend instead of rocPRIM.
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hipcub";
|
||||
repoVersion = "2.12.0";
|
||||
rocmVersion = "5.3.1";
|
||||
version = "2.12.0-${rocmVersion}";
|
||||
version = "${repoVersion}-${rocmVersion}";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@ -79,6 +81,16 @@ 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";
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeScript
|
||||
, cmake
|
||||
, rocm-cmake
|
||||
, rocm-runtime
|
||||
@ -27,8 +28,9 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "hipsparse";
|
||||
repoVersion = "2.3.1";
|
||||
rocmVersion = "5.3.1";
|
||||
version = "2.3.1-${rocmVersion}";
|
||||
version = "${repoVersion}-${rocmVersion}";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@ -122,6 +124,16 @@ 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";
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeScript
|
||||
, cmake
|
||||
, rocm-cmake
|
||||
, rocm-opencl-runtime
|
||||
@ -119,6 +120,13 @@ 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";
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeScript
|
||||
, cmake
|
||||
, rocm-cmake
|
||||
, rocm-runtime
|
||||
@ -17,8 +18,9 @@ assert buildTests -> chrpath != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rccl";
|
||||
repoVersion = "2.12.10";
|
||||
rocmVersion = "5.3.1";
|
||||
version = "2.12.10-${rocmVersion}";
|
||||
version = "${repoVersion}-${rocmVersion}";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@ -74,6 +76,16 @@ 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";
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeScript
|
||||
, fetchpatch
|
||||
, cmake
|
||||
, rocm-cmake
|
||||
@ -42,8 +43,9 @@ assert buildBenchmarks == false;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rocblas";
|
||||
repoVersion = "2.45.0";
|
||||
rocmVersion = "5.3.1";
|
||||
version = "2.45.0-${rocmVersion}";
|
||||
version = "${repoVersion}-${rocmVersion}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ROCmSoftwarePlatform";
|
||||
@ -126,6 +128,16 @@ 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";
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeScript
|
||||
, cmake
|
||||
, rocm-cmake
|
||||
, rocm-runtime
|
||||
@ -26,8 +27,9 @@ assert (buildTests || buildBenchmarks) -> llvmPackages != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rocfft";
|
||||
repoVersion = "1.0.18";
|
||||
rocmVersion = "5.3.1";
|
||||
version = "1.0.18-${rocmVersion}";
|
||||
version = "${repoVersion}-${rocmVersion}";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@ -104,6 +106,16 @@ 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";
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeScript
|
||||
, cmake
|
||||
, hip
|
||||
, python3
|
||||
@ -32,6 +33,13 @@ 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";
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeScript
|
||||
, cmake
|
||||
, rocm-cmake
|
||||
, rocm-runtime
|
||||
@ -18,8 +19,9 @@ assert buildBenchmarks -> gbenchmark != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rocprim";
|
||||
repoVersion = "2.11.0";
|
||||
rocmVersion = "5.3.1";
|
||||
version = "2.11.0-${rocmVersion}";
|
||||
version = "${repoVersion}-${rocmVersion}";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@ -75,6 +77,16 @@ 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";
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeScript
|
||||
, cmake
|
||||
, rocm-cmake
|
||||
, rocm-runtime
|
||||
@ -31,8 +32,9 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "rocsparse";
|
||||
repoVersion = "2.3.2";
|
||||
rocmVersion = "5.3.1";
|
||||
version = "2.3.2-${rocmVersion}";
|
||||
version = "${repoVersion}-${rocmVersion}";
|
||||
|
||||
outputs = [
|
||||
"out"
|
||||
@ -138,6 +140,16 @@ 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";
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeScript
|
||||
, cmake
|
||||
, rocm-cmake
|
||||
, rocm-runtime
|
||||
@ -22,8 +23,9 @@ assert buildBenchmarks == false;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rocthrust";
|
||||
repoVersion = "2.16.0";
|
||||
rocmVersion = "5.3.1";
|
||||
version = "2.16.0-${rocmVersion}";
|
||||
version = "${repoVersion}-${rocmVersion}";
|
||||
|
||||
# Comment out these outputs until tests/benchmarks are fixed (upstream?)
|
||||
# outputs = [
|
||||
@ -81,6 +83,16 @@ 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";
|
||||
|
@ -1,6 +1,7 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, writeScript
|
||||
, buildPythonPackage
|
||||
, pyyaml
|
||||
, msgpack
|
||||
@ -9,8 +10,9 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "tensile";
|
||||
repoVersion = "4.34.0";
|
||||
rocmVersion = "5.3.1";
|
||||
version = "4.34.0-${rocmVersion}";
|
||||
version = "${repoVersion}-${rocmVersion}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ROCmSoftwarePlatform";
|
||||
@ -25,6 +27,16 @@ 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";
|
||||
|
Loading…
Reference in New Issue
Block a user