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

authored by Martin Weinelt and committed by GitHub ce1f9354 8189da6a

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