diff --git a/docs/source/builder/build-variants.md b/docs/source/builder/build-variants.md index f414c52c..e99321e4 100644 --- a/docs/source/builder/build-variants.md +++ b/docs/source/builder/build-variants.md @@ -59,6 +59,7 @@ available. This list will be updated as new PyTorch versions are released. - `torch212-cxx11-rocm72-x86_64-linux` - `torch213-cxx11-rocm71-x86_64-linux` - `torch213-cxx11-rocm72-x86_64-linux` +- `torch214-cxx11-rocm714-x86_64-linux` - `torch214-cxx11-rocm72-x86_64-linux` ## XPU x86_64-linux diff --git a/nix-builder/build-variants.json b/nix-builder/build-variants.json index becf280a..88035549 100644 --- a/nix-builder/build-variants.json +++ b/nix-builder/build-variants.json @@ -51,6 +51,7 @@ "torch212-cxx11-rocm72-x86_64-linux", "torch213-cxx11-rocm71-x86_64-linux", "torch213-cxx11-rocm72-x86_64-linux", + "torch214-cxx11-rocm714-x86_64-linux", "torch214-cxx11-rocm72-x86_64-linux" ], "xpu": [ diff --git a/nix-builder/lib/extension/torch/arch.nix b/nix-builder/lib/extension/torch/arch.nix index e28eae3d..8eff3b81 100644 --- a/nix-builder/lib/extension/torch/arch.nix +++ b/nix-builder/lib/extension/torch/arch.nix @@ -217,14 +217,20 @@ stdenv.mkDerivation (prevAttrs: { ) ++ lib.optionals rocmSupport ( with rocmPackages; - [ - hipcub-devel - hipsparselt - rocprim-devel - rocthrust-devel - rocshmem-devel - rocwmma-devel - ] + if theRock then + [ + amdrocm-ccl-devel + amdrocm-hipblas-common-devel + ] + else + [ + hipcub-devel + hipsparselt + rocprim-devel + rocthrust-devel + rocshmem-devel + rocwmma-devel + ] ) ++ lib.optionals xpuSupport ([ oneapi-torch-dev diff --git a/nix-builder/overlay.nix b/nix-builder/overlay.nix index dfda06d2..4d114aae 100644 --- a/nix-builder/overlay.nix +++ b/nix-builder/overlay.nix @@ -288,6 +288,10 @@ final: prev: inherit (final) callPackage; inherit (prev) lib; }) +// (import ./pkgs/rocm-packages-old { + inherit (final) callPackage; + inherit (prev) lib; +}) // (import ./pkgs/xpu-packages { inherit (final) callPackage; inherit (prev) lib; diff --git a/nix-builder/pkgs/aotriton/default.nix b/nix-builder/pkgs/aotriton/default.nix index 21b25cdc..c892571f 100644 --- a/nix-builder/pkgs/aotriton/default.nix +++ b/nix-builder/pkgs/aotriton/default.nix @@ -95,6 +95,7 @@ in hashes = { "7.2" = "sha256-HN7rt+9hq2kfuh2B2pGbnbXYvvKCaciSowvROgSVt6A="; + "7.14" = "sha256-ehOXl8FrAC/V2bzXBtNtyYGbsQiHcVD4GG2iHQWQ6qY="; }; images = mkImages version [ diff --git a/nix-builder/pkgs/aotriton/generic.nix b/nix-builder/pkgs/aotriton/generic.nix index d76af962..416f4938 100644 --- a/nix-builder/pkgs/aotriton/generic.nix +++ b/nix-builder/pkgs/aotriton/generic.nix @@ -1,9 +1,8 @@ { autoPatchelfHook, - clr, fetchurl, lib, - rocm-core, + rocmPackages, stdenv, xz, }: @@ -15,7 +14,7 @@ }: let - rocmVersion = lib.versions.majorMinor rocm-core.version; + rocmVersion = lib.versions.majorMinor rocmPackages.version; hash = hashes.${rocmVersion} or (throw "aotriton ${version} binary package is not specified for ROCm ${rocmVersion}"); @@ -31,9 +30,9 @@ stdenv.mkDerivation { nativeBuildInputs = [ autoPatchelfHook ]; buildInputs = [ - clr stdenv.cc.cc.lib xz + rocmPackages.clr ]; dontConfigure = true; diff --git a/nix-builder/pkgs/python-modules/torch/binary/default.nix b/nix-builder/pkgs/python-modules/torch/binary/default.nix index d0b402b6..cd179d8b 100644 --- a/nix-builder/pkgs/python-modules/torch/binary/default.nix +++ b/nix-builder/pkgs/python-modules/torch/binary/default.nix @@ -27,7 +27,7 @@ let if cudaSupport then "cu${flattenVersion cudaPackages.cudaMajorMinorVersion}" else if rocmSupport then - "rocm${flattenVersion (lib.versions.majorMinor rocmPackages.rocm.version)}" + "rocm${flattenVersion (lib.versions.majorMinor rocmPackages.version)}" else if xpuSupport then "xpu" else diff --git a/nix-builder/pkgs/python-modules/torch/binary/generic.nix b/nix-builder/pkgs/python-modules/torch/binary/generic.nix index e1a58493..135f7fdf 100644 --- a/nix-builder/pkgs/python-modules/torch/binary/generic.nix +++ b/nix-builder/pkgs/python-modules/torch/binary/generic.nix @@ -91,36 +91,49 @@ let paths = with rocmPackages; - [ - aotriton - clr - comgr - hipblas - hipblas-common-devel - hipblaslt - hipfft - hipify-clang - hiprand - hipsolver - hipsparse - hipsparselt - hsa-rocr - miopen-hip - rccl - rocblas - rocm-core - rocm-device-libs - rocm-hip-runtime - rocm-smi-lib - rocminfo - rocrand - rocsolver - rocsparse - roctracer - ] - ++ lib.optionals (versionAtLeast version "2.12") [ - rocprofiler-sdk - ]; + if rocmPackages.theRock then + [ + aotriton + clr + amdrocm-blas + amdrocm-dnn + amdrocm-fft + amdrocm-hipfile + amdrocm-profiler-base + amdrocm-rand + amdrocm-rccl + ] + else + [ + aotriton + clr + comgr + hipblas + hipblas-common-devel + hipblaslt + hipfft + hipify-clang + hiprand + hipsolver + hipsparse + hipsparselt + hsa-rocr + miopen-hip + rccl + rocblas + rocm-core + rocm-device-libs + rocm-hip-runtime + rocm-smi-lib + rocminfo + rocrand + rocsolver + rocsparse + roctracer + ] + ++ lib.optionals (versionAtLeast version "2.12") [ + rocprofiler-sdk + ]; postBuild = '' # Fix `setuptools` not being found @@ -233,9 +246,9 @@ buildPythonPackage.override { stdenv = effectiveStdenv; } { ++ lib.optionals (cudaSupport && versionAtLeast version "2.9") [ cudaPackages.libnvshmem ] - ++ lib.optionals rocmSupport ([ + ++ lib.optionals rocmSupport [ rocmtoolkit_joined - ]) + ] ++ lib.optionals xpuSupport ( with xpuPackages; [ @@ -330,6 +343,7 @@ buildPythonPackage.override { stdenv = effectiveStdenv; } { ) ) ++ lib.optionals rocmSupport [ + "rocm" # Ours is called 'triton'. Remove this once we build ROCm Triton from # a binary wheel. "triton-rocm" diff --git a/nix-builder/pkgs/rocm-packages-old/bintools-unwrapped.nix b/nix-builder/pkgs/rocm-packages-old/bintools-unwrapped.nix new file mode 100644 index 00000000..9f665646 --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/bintools-unwrapped.nix @@ -0,0 +1,24 @@ +{ + runCommand, + llvm, +}: + +runCommand "rocm-llvm-binutils-${llvm.version}" { preferLocalBuild = true; } '' + mkdir -p $out/bin + + for prog in ${llvm}/llvm/bin/*; do + ln -sf $prog $out/bin/$(basename $prog) + done + + ln -s ${llvm}/llvm/bin/llvm-ar $out/bin/ar + ln -s ${llvm}/llvm/bin/llvm-as $out/bin/as + ln -s ${llvm}/llvm/bin/llvm-dwp $out/bin/dwp + ln -s ${llvm}/llvm/bin/llvm-nm $out/bin/nm + ln -s ${llvm}/llvm/bin/llvm-objcopy $out/bin/objcopy + ln -s ${llvm}/llvm/bin/llvm-objdump $out/bin/objdump + ln -s ${llvm}/llvm/bin/llvm-ranlib $out/bin/ranlib + ln -s ${llvm}/llvm/bin/llvm-readelf $out/bin/readelf + ln -s ${llvm}/llvm/bin/llvm-size $out/bin/size + ln -s ${llvm}/llvm/bin/llvm-strip $out/bin/strip + ln -s ${llvm}/llvm/bin/lld $out/bin/ld +'' diff --git a/nix-builder/pkgs/rocm-packages-old/cc-wrapper.sh b/nix-builder/pkgs/rocm-packages-old/cc-wrapper.sh new file mode 100644 index 00000000..9f7bb50c --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/cc-wrapper.sh @@ -0,0 +1,268 @@ +#! @shell@ +set -eu -o pipefail +o posix +shopt -s nullglob + +if (( "${NIX_DEBUG:-0}" >= 7 )); then + set -x +fi + +path_backup="$PATH" + +# That @-vars are substituted separately from bash evaluation makes +# shellcheck think this, and others like it, are useless conditionals. +# shellcheck disable=SC2157 +if [[ -n "@coreutils_bin@" && -n "@gnugrep_bin@" ]]; then + PATH="@coreutils_bin@/bin:@gnugrep_bin@/bin" +fi + +source @out@/nix-support/utils.bash + +source @out@/nix-support/darwin-sdk-setup.bash + + +# Parse command line options and set several variables. +# For instance, figure out if linker flags should be passed. +# GCC prints annoying warnings when they are not needed. +dontLink=0 +nonFlagArgs=0 +cc1=0 +# shellcheck disable=SC2193 +[[ "@prog@" = *++ ]] && isCxx=1 || isCxx=0 +cxxInclude=1 +cxxLibrary=1 +cInclude=1 + +expandResponseParams "$@" + +declare -ag positionalArgs=() +declare -i n=0 +nParams=${#params[@]} +while (( "$n" < "$nParams" )); do + p=${params[n]} + p2=${params[n+1]:-} # handle `p` being last one + n+=1 + + case "$p" in + -[cSEM] | -MM) dontLink=1 ;; + -cc1) cc1=1 ;; + -nostdinc) cInclude=0 cxxInclude=0 ;; + -nostdinc++) cxxInclude=0 ;; + -nostdlib) cxxLibrary=0 ;; + -x*-header) dontLink=1 ;; # both `-x c-header` and `-xc-header` are accepted by clang + -xc++*) isCxx=1 ;; # both `-xc++` and `-x c++` are accepted by clang + -x) + case "$p2" in + *-header) dontLink=1 ;; + c++*) isCxx=1 ;; + esac + ;; + --) # Everything else is positional args! + # See: https://github.com/llvm/llvm-project/commit/ed1d07282cc9d8e4c25d585e03e5c8a1b6f63a74 + + # Any positional arg (i.e. any argument after `--`) will be + # interpreted as a "non flag" arg: + if [[ -v "params[$n]" ]]; then nonFlagArgs=1; fi + + positionalArgs=("${params[@]:$n}") + params=("${params[@]:0:$((n - 1))}") + break; + ;; + -?*) ;; + *) nonFlagArgs=1 ;; # Includes a solitary dash (`-`) which signifies standard input; it is not a flag + esac +done + +# If we pass a flag like -Wl, then gcc will call the linker unless it +# can figure out that it has to do something else (e.g., because of a +# "-c" flag). So if no non-flag arguments are given, don't pass any +# linker flags. This catches cases like "gcc" (should just print +# "gcc: no input files") and "gcc -v" (should print the version). +if [ "$nonFlagArgs" = 0 ]; then + dontLink=1 +fi + +# Arocc does not link +if [ "@isArocc@" = 1 ]; then + dontLink=1 +fi + +# Optionally filter out paths not refering to the store. +if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "$NIX_STORE" ]]; then + kept=() + nParams=${#params[@]} + declare -i n=0 + while (( "$n" < "$nParams" )); do + p=${params[n]} + p2=${params[n+1]:-} # handle `p` being last one + n+=1 + + skipNext=false + path="" + case "$p" in + -[IL]/*) path=${p:2} ;; + -[IL] | -isystem) path=$p2 skipNext=true ;; + esac + + if [[ -n $path ]] && badPathWithDarwinSdk "$path"; then + skip "$path" + $skipNext && n+=1 + continue + fi + + kept+=("$p") + done + # Old bash empty array hack + params=(${kept+"${kept[@]}"}) +fi + +# Flirting with a layer violation here. +if [ -z "${NIX_BINTOOLS_WRAPPER_FLAGS_SET_@suffixSalt@:-}" ]; then + source @bintools@/nix-support/add-flags.sh +fi + +# Put this one second so libc ldflags take priority. +if [ -z "${NIX_CC_WRAPPER_FLAGS_SET_@suffixSalt@:-}" ]; then + source @out@/nix-support/add-flags.sh +fi + +# Clear march/mtune=native -- they bring impurity. +if [ "$NIX_ENFORCE_NO_NATIVE_@suffixSalt@" = 1 ]; then + kept=() + # Old bash empty array hack + for p in ${params+"${params[@]}"}; do + if [[ "$p" = -m*=native ]]; then + >&2 echo "warning: Skipping impure flag $p because NIX_ENFORCE_NO_NATIVE is set" + else + kept+=("$p") + fi + done + # Old bash empty array hack + params=(${kept+"${kept[@]}"}) +fi + +if [[ "$isCxx" = 1 ]]; then + if [[ "$cxxInclude" = 1 ]]; then + # + # The motivation for this comment is to explain the reason for appending + # the C++ stdlib to NIX_CFLAGS_COMPILE, which I initially thought should + # change and later realized it shouldn't in: + # + # https://github.com/NixOS/nixpkgs/pull/185569#issuecomment-1234959249 + # + # NIX_CFLAGS_COMPILE contains dependencies added using "-isystem", and + # NIX_CXXSTDLIB_COMPILE adds the C++ stdlib using "-isystem". Appending + # NIX_CXXSTDLIB_COMPILE to NIX_CLAGS_COMPILE emulates this part of the + # include lookup order from GCC/Clang: + # + # > 4. Directories specified with -isystem options are scanned in + # > left-to-right order. + # > 5. Standard system directories are scanned. + # > 6. Directories specified with -idirafter options are scanned + # > in left-to-right order. + # + # NIX_CXX_STDLIB_COMPILE acts as the "standard system directories" that + # are otherwise missing from CC in nixpkgs, so should be added last. + # + # This means that the C standard library should never be present inside + # NIX_CFLAGS_COMPILE, because it MUST come after the C++ stdlib. It is + # added automatically by cc-wrapper later using "-idirafter". + # + NIX_CFLAGS_COMPILE_@suffixSalt@+=" $NIX_CXXSTDLIB_COMPILE_@suffixSalt@" + fi + if [[ "$cxxLibrary" = 1 ]]; then + NIX_CFLAGS_LINK_@suffixSalt@+=" $NIX_CXXSTDLIB_LINK_@suffixSalt@" + fi +fi + +source @out@/nix-support/add-hardening.sh + +# Add the flags for the C compiler proper. +extraAfter=(${hardeningCFlagsAfter[@]+"${hardeningCFlagsAfter[@]}"} $NIX_CFLAGS_COMPILE_@suffixSalt@) +extraBefore=(${hardeningCFlagsBefore[@]+"${hardeningCFlagsBefore[@]}"} $NIX_CFLAGS_COMPILE_BEFORE_@suffixSalt@) + +if [ "$dontLink" != 1 ]; then + linkType=$(checkLinkType $NIX_LDFLAGS_BEFORE_@suffixSalt@ "${params[@]}" ${NIX_CFLAGS_LINK_@suffixSalt@:-} $NIX_LDFLAGS_@suffixSalt@) + + # Add the flags that should only be passed to the compiler when + # linking. + extraAfter+=($(filterRpathFlags "$linkType" $NIX_CFLAGS_LINK_@suffixSalt@)) + + # Add the flags that should be passed to the linker (and prevent + # `ld-wrapper' from adding NIX_LDFLAGS_@suffixSalt@ again). + for i in $(filterRpathFlags "$linkType" $NIX_LDFLAGS_BEFORE_@suffixSalt@); do + extraBefore+=("-Wl,$i") + done + if [[ "$linkType" == dynamic && -n "$NIX_DYNAMIC_LINKER_@suffixSalt@" ]]; then + extraBefore+=("-Wl,-dynamic-linker=$NIX_DYNAMIC_LINKER_@suffixSalt@") + fi + for i in $(filterRpathFlags "$linkType" $NIX_LDFLAGS_@suffixSalt@); do + if [ "${i:0:3}" = -L/ ]; then + extraAfter+=("$i") + else + extraAfter+=("-Wl,$i") + fi + done + export NIX_LINK_TYPE_@suffixSalt@=$linkType +fi + +if [[ -e @out@/nix-support/add-local-cc-cflags-before.sh ]]; then + source @out@/nix-support/add-local-cc-cflags-before.sh +fi + +# As a very special hack, if the arguments are just `-v', then don't +# add anything. This is to prevent `gcc -v' (which normally prints +# out the version number and returns exit code 0) from printing out +# `No input files specified' and returning exit code 1. +if [ "$*" = -v ]; then + extraAfter=() + extraBefore=() +fi + +# clang's -cc1 mode is not compatible with most options +# that we would pass. Rather than trying to pass only +# options that would work, let's just remove all of them. +if [ "$cc1" = 1 ]; then + extraAfter=() + extraBefore=() +fi + +# Finally, if we got any positional args, append them to `extraAfter` +# now: +if [[ "${#positionalArgs[@]}" -gt 0 ]]; then + extraAfter+=(-- "${positionalArgs[@]}") +fi + +# if a cc-wrapper-hook exists, run it. +if [[ -e @out@/nix-support/cc-wrapper-hook ]]; then + compiler=@prog@ + source @out@/nix-support/cc-wrapper-hook +fi + +# Optionally print debug info. +if (( "${NIX_DEBUG:-0}" >= 1 )); then + # Old bash workaround, see ld-wrapper for explanation. + echo "extra flags before to @prog@:" >&2 + printf " %q\n" ${extraBefore+"${extraBefore[@]}"} >&2 + echo "original flags to @prog@:" >&2 + printf " %q\n" ${params+"${params[@]}"} >&2 + echo "extra flags after to @prog@:" >&2 + printf " %q\n" ${extraAfter+"${extraAfter[@]}"} >&2 +fi + +export PATH="$path_backup" +# Old bash workaround, see above. + +if (( "${NIX_CC_USE_RESPONSE_FILE:-@use_response_file_by_default@}" >= 1 )); then + responseFile=$(@mktemp@ "${TMPDIR:-/tmp}/cc-params.XXXXXX") + trap '@rm@ -f -- "$responseFile"' EXIT + echo \ + ${extraBefore+"${extraBefore[@]}"} \ + ${params+"${params[@]}"} \ + ${extraAfter+"${extraAfter[@]}"} > "$responseFile" + @prog@ "@$responseFile" +else + exec @prog@ \ + ${extraBefore+"${extraBefore[@]}"} \ + ${params+"${params[@]}"} \ + ${extraAfter+"${extraAfter[@]}"} +fi diff --git a/nix-builder/pkgs/rocm-packages-old/clang.nix b/nix-builder/pkgs/rocm-packages-old/clang.nix new file mode 100644 index 00000000..db510d3b --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/clang.nix @@ -0,0 +1,96 @@ +{ + stdenv, + wrapCCWith, + bintools, + glibc, + hip-devel, + llvm, + rocm-device-libs, + rsync, +}: + +(wrapCCWith rec { + inherit bintools; + + cc = stdenv.mkDerivation { + inherit (llvm) version; + pname = "rocm-llvm-clang"; + + nativeBuildInputs = [ rsync ]; + + dontUnpack = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out + + for path in ${llvm}/llvm ${bintools}; do + rsync -a $path/ $out/ + done + chmod -R u+w $out + + clang_version=`$out/bin/clang --version | grep -E -o "clang version [0-9]+" | cut -d ' ' -f3` + ln -s $out/lib/* $out/lib/clang/$clang_version/lib + ln -sf $out/include/* $out/lib/clang/$clang_version/include + + substituteInPlace $out/bin/rocm.cfg \ + --replace-fail "/../../.." "/.." + + # We need to set the version to signal to clang that we want to + # include HIP/CUDA compatibility headers. + chmod -R +w $out/share + mkdir -p $out/share/hip + cp ${hip-devel}/share/hip/version $out/share/hip + + runHook postInstall + ''; + + dontStrip = true; + + passthru = { + isClang = true; + isROCm = true; + }; + }; + + gccForLibs = stdenv.cc.cc; + + extraPackages = [ + bintools + glibc + ]; + + nixSupport.cc-cflags = [ + "-resource-dir=$out/resource-root" + "-fuse-ld=lld" + "--rocm-device-lib-path=${rocm-device-libs}/amdgcn/bitcode" + "-rtlib=compiler-rt" + "-unwindlib=libunwind" + "-Wno-unused-command-line-argument" + ]; + + extraBuildCommands = '' + clang_version=`${cc}/bin/clang --version | grep -E -o "clang version [0-9]+" | cut -d ' ' -f3` + mkdir -p $out/resource-root + ln -s ${cc}/lib/clang/$clang_version/{include,lib} $out/resource-root + + echo "" > $out/nix-support/add-hardening.sh + + # The cc wrapper puts absolute paths to the libstdc++ headers here. + # However, absolute paths put them before the ROCm wrappers. This + # cause compilation errors in downstream dependencies because e.g. + # libstdc++'s new operator cannot handle device code. + echo "" > $out/nix-support/libcxx-cxxflags + + # GPU compilation uses builtin `lld` + substituteInPlace $out/bin/{clang,clang++} \ + --replace-fail "-MM) dontLink=1 ;;" "-MM | --cuda-device-only) dontLink=1 ;;''\n--cuda-host-only | --cuda-compile-host-device) dontLink=0 ;;" + ''; +}).overrideAttrs + (_: { + # aotriton uses unicode characters and the standard nixpkgs wrapper + # script cannot deal with it. Also see: + # https://github.com/NixOS/nixpkgs/pull/226166 + wrapper = ./cc-wrapper.sh; + }) diff --git a/nix-builder/pkgs/rocm-packages-old/clr.nix b/nix-builder/pkgs/rocm-packages-old/clr.nix new file mode 100644 index 00000000..5f1362bd --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/clr.nix @@ -0,0 +1,117 @@ +{ + lib, + stdenv, + makeWrapper, + markForRocmRootHook, + rsync, + clang, + comgr, + hipcc, + hip-devel, + hip-runtime-amd, + hsa-rocr, + perl, + rocm-core, + rocm-device-libs, + rocm-opencl, + rocminfo, + setupRocmHook, +}: + +let + hipClangPath = "${clang}/bin"; + wrapperArgs = [ + "--prefix PATH : $out/bin" + "--prefix LD_LIBRARY_PATH : ${hsa-rocr}" + "--set HIP_PLATFORM amd" + "--set HIP_PATH $out" + "--set HIP_CLANG_PATH ${hipClangPath}" + "--set DEVICE_LIB_PATH ${rocm-device-libs}/amdgcn/bitcode" + "--set HSA_PATH ${hsa-rocr}" + "--set ROCM_PATH $out" + ]; +in +stdenv.mkDerivation { + pname = "rocm-clr"; + version = rocm-core.version; + + nativeBuildInputs = [ + markForRocmRootHook + makeWrapper + rsync + ]; + + propagatedBuildInputs = [ + comgr + rocm-device-libs + hsa-rocr + perl + rocminfo + setupRocmHook + ]; + + dontUnpack = true; + + installPhase = '' + runHook preInstall + + mkdir -p $out + + for path in ${hipcc} ${hip-devel} ${hip-runtime-amd} ${rocm-core} ${rocm-opencl}; do + rsync -a --exclude=nix-support $path/ $out/ + done + + chmod -R u+w $out + + # Some build infra expects rocminfo to be in the clr package. Easier + # to just symlink it than to patch everything. + ln -s ${rocminfo}/bin/* $out/bin + + wrapProgram $out/bin/hipcc ${lib.concatStringsSep " " wrapperArgs} + wrapProgram $out/bin/hipconfig ${lib.concatStringsSep " " wrapperArgs} + + # Removed in ROCm 7. + if [ -f $out/bin/hipcc.pl ]; then + wrapProgram $out/bin/hipcc.pl ${lib.concatStringsSep " " wrapperArgs} + fi + if [ -f $out/bin/hipconfig.pl ]; then + wrapProgram $out/bin/hipconfig.pl ${lib.concatStringsSep " " wrapperArgs} + fi + + runHook postInstall + ''; + + postInstall = '' + mkdir -p $out/nix-support/ + echo ' + export HIP_PATH="${placeholder "out"}" + export HIP_PLATFORM=amd + export HIP_DEVICE_LIB_PATH="${rocm-device-libs}/amdgcn/bitcode" + export HIP_CLANG_PATH="${hipClangPath}" + export HSA_PATH="${hsa-rocr}"' > $out/nix-support/setup-hook + + ln -s ${clang} $out/llvm + ''; + + dontStrip = true; + + passthru = { + gpuTargets = lib.forEach [ + "803" + "900" + "906" + "908" + "90a" + "940" + "941" + "942" + "1010" + "1012" + "1030" + "1100" + "1101" + "1102" + ] (target: "gfx${target}"); + }; + +} diff --git a/nix-builder/pkgs/rocm-packages-old/components.nix b/nix-builder/pkgs/rocm-packages-old/components.nix new file mode 100644 index 00000000..8144b952 --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/components.nix @@ -0,0 +1,11 @@ +final: prev: + +# Create a package for all components in the ROCm runfile metadata. +prev.lib.mapAttrs ( + pname: metadata: + final.callPackage ./generic.nix { + inherit pname; + inherit (metadata) components deps version; + rocmPackages = final; + } +) prev.manifest diff --git a/nix-builder/pkgs/rocm-packages-old/default.nix b/nix-builder/pkgs/rocm-packages-old/default.nix new file mode 100644 index 00000000..76c4ff1e --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/default.nix @@ -0,0 +1,33 @@ +{ + # Needs to be from the `final` set to get all overrides. + callPackage, + + # Needs to be from the `prev` set. `lib` functions are used to create + # the set structure, so using lib from `final` will lead to an infinite + # recursion. + lib, +}: + +let + flattenVersion = lib.replaceStrings [ "." ] [ "_" ]; + mkPackages = callPackage ./mk-packages.nix { }; + manifests = + lib.mapAttrs' + ( + fileName: type: + let + version = lib.removeSuffix ".json" fileName; + in + { + name = version; + value = lib.importJSON (./manifests/${fileName}); + } + ) + + (builtins.readDir ./manifests); + +in +lib.mapAttrs' (version: manifest: { + name = "rocmPackages_${flattenVersion (lib.versions.majorMinor version)}"; + value = mkPackages manifest; +}) manifests diff --git a/nix-builder/pkgs/rocm-packages-old/generic.nix b/nix-builder/pkgs/rocm-packages-old/generic.nix new file mode 100644 index 00000000..45552854 --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/generic.nix @@ -0,0 +1,88 @@ +{ + lib, + autoPatchelfHook, + callPackage, + fetchurl, + stdenv, + rpmextract, + rsync, + rocmPackages, + + pname, + version, + + # List of string-typed dependencies. + deps, + + # List of derivations that must be merged. + components, +}: + +let + filteredDeps = lib.filter ( + dep: + !builtins.elem dep [ + "amdgpu-core" + "libdrm-amdgpu-common" + "libdrm-amdgpu-amdgpu1" + "libdrm-amdgpu-radeon1" + "libdrm-amdgpu-dev" + "libdrm2-amdgpu" + ] + ) deps; + srcs = map (component: fetchurl { inherit (component) url sha256; }) components; +in +stdenv.mkDerivation rec { + inherit pname version srcs; + + nativeBuildInputs = [ + autoPatchelfHook + rocmPackages.markForRocmRootHook + rpmextract + rsync + ]; + + buildInputs = [ + stdenv.cc.cc.lib + stdenv.cc.cc.libgcc + ] + ++ (map (dep: rocmPackages.${dep}) filteredDeps); + + # dpkg hook does not seem to work for multiple sources. + unpackPhase = '' + for src in $srcs; do + rpmextract "$src" + done + ''; + + installPhase = '' + runHook preInstall + mkdir $out + cp -rT opt/rocm-* $out + runHook postInstall + ''; + + # Stripping the binaries from the RHEL packages breaks them, so disable + # it (seems kind of superfluous anyway, since the RPM build probably does + # stripping as well). + dontStrip = true; + + autoPatchelfIgnoreMissingDeps = [ + # Not sure where this comes from, not in the distribution. + "amdpythonlib.so" + + # Should come from the driver runpath. + "libOpenCL.so.1" + + # Distribution only has libamdhip64.so.6? Only seems to be used + # by /bin/roofline-* for older Linux distributions. + "libamdhip64.so.5" + + # Python versions not in nixpkgs anymore. + "libpython3.6m.so.1.0" + "libpython3.7m.so.1.0" + "libpython3.8.so.1.0" + "libpython3.9.so.1.0" + "libpython3.10.so.1.0" + ]; +} diff --git a/nix-builder/pkgs/rocm-packages-old/hooks.nix b/nix-builder/pkgs/rocm-packages-old/hooks.nix new file mode 100644 index 00000000..087f0c61 --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/hooks.nix @@ -0,0 +1,16 @@ +final: prev: { + markForRocmRootHook = final.callPackage ( + { makeSetupHook }: makeSetupHook { name = "mark-for-rocm-root-hook"; } ./mark-for-rocm-root-hook.sh + ) { }; + + setupRocmHook = ( + final.callPackage ( + { makeSetupHook }: + makeSetupHook { + name = "setup-rocm-hook"; + + substitutions.setupRocmHook = placeholder "out"; + } ./setup-rocm-hook.sh + ) { } + ); +} diff --git a/nix-builder/pkgs/rocm-packages/joins.nix b/nix-builder/pkgs/rocm-packages-old/joins.nix similarity index 100% rename from nix-builder/pkgs/rocm-packages/joins.nix rename to nix-builder/pkgs/rocm-packages-old/joins.nix diff --git a/nix-builder/pkgs/rocm-packages-old/ld-wrapper.sh b/nix-builder/pkgs/rocm-packages-old/ld-wrapper.sh new file mode 100644 index 00000000..a451691f --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/ld-wrapper.sh @@ -0,0 +1,302 @@ +#! @shell@ +# This file is vendored from nixpkgs. This is to work around a whacky +# issue with lld. The compiler ends up calling ld.lld with `-flavor gnu`. +# However, this option is only accepted by `lld`, which should not be +# called directly. So we adjust the ld warpper to filter any `-flavor` +# options that are passed. There must be a better way to do this, but +# this works for now. + +set -eu -o pipefail +o posix +shopt -s nullglob + +if (( "${NIX_DEBUG:-0}" >= 7 )); then + set -x +fi + +path_backup="$PATH" + +# phase separation makes this look useless +# shellcheck disable=SC2157 +if [ -n "@coreutils_bin@" ]; then + PATH="@coreutils_bin@/bin" +fi + +source @out@/nix-support/utils.bash + +source @out@/nix-support/darwin-sdk-setup.bash + +if [ -z "${NIX_BINTOOLS_WRAPPER_FLAGS_SET_@suffixSalt@:-}" ]; then + source @out@/nix-support/add-flags.sh +fi + + +# Optionally filter out paths not refering to the store. +expandResponseParams "$@" + +# NIX_LINK_TYPE is set if ld has been called through our cc wrapper. We take +# advantage of this to avoid both recalculating it, and also repeating other +# processing cc wrapper has already done. +if [[ -n "${NIX_LINK_TYPE_@suffixSalt@:-}" ]]; then + linkType=$NIX_LINK_TYPE_@suffixSalt@ +else + linkType=$(checkLinkType "${params[@]}") +fi + +if [[ "${NIX_ENFORCE_PURITY:-}" = 1 && -n "${NIX_STORE:-}" + && ( -z "$NIX_IGNORE_LD_THROUGH_GCC_@suffixSalt@" || -z "${NIX_LINK_TYPE_@suffixSalt@:-}" ) ]]; then + rest=() + nParams=${#params[@]} + declare -i n=0 + + while (( "$n" < "$nParams" )); do + p=${params[n]} + p2=${params[n+1]:-} # handle `p` being last one + if [ "${p:0:3}" = -L/ ] && badPathWithDarwinSdk "${p:2}"; then + skip "${p:2}" + elif [ "$p" = -L ] && badPathWithDarwinSdk "$p2"; then + n+=1; skip "$p2" + elif [ "$p" = -rpath ] && badPath "$p2"; then + n+=1; skip "$p2" + elif [ "$p" = -dynamic-linker ] && badPath "$p2"; then + n+=1; skip "$p2" + elif [ "$p" = -syslibroot ] && [ $p2 == // ]; then + # When gcc is built on darwin --with-build-sysroot=/ + # produces '-syslibroot //' linker flag. It's a no-op, + # which does not introduce impurities. + n+=1; skip "$p2" + elif [ "${p:0:10}" = /LIBPATH:/ ] && badPath "${p:9}"; then + reject "${p:9}" + # We need to not match LINK.EXE-style flags like + # /NOLOGO or /LIBPATH:/nix/store/foo + elif [[ $p =~ ^/[^:]*/ ]] && badPath "$p"; then + reject "$p" + elif [ "${p:0:9}" = --sysroot ]; then + # Our ld is not built with sysroot support (Can we fix that?) + : + else + rest+=("$p") + fi + n+=1 + done + # Old bash empty array hack + params=(${rest+"${rest[@]}"}) +fi + + +rest=() +nParams=${#params[@]} +declare -i n=0 + +while (( "$n" < "$nParams" )); do + p=${params[n]} + p2=${params[n+1]:-} # handle `p` being last one + if [ "$p" = -flavor ]; then + n+=1; skip "$p2" + else + rest+=("$p") + fi + n+=1 +done +# Old bash empty array hack +params=(${rest+"${rest[@]}"}) + + +source @out@/nix-support/add-hardening.sh + +extraAfter=() +extraBefore=(${hardeningLDFlags[@]+"${hardeningLDFlags[@]}"}) + +if [ -z "${NIX_LINK_TYPE_@suffixSalt@:-}" ]; then + extraAfter+=($(filterRpathFlags "$linkType" $NIX_LDFLAGS_@suffixSalt@)) + extraBefore+=($(filterRpathFlags "$linkType" $NIX_LDFLAGS_BEFORE_@suffixSalt@)) + + # By adding dynamic linker to extraBefore we allow the users set their + # own dynamic linker as NIX_LD_FLAGS will override earlier set flags + if [[ "$linkType" == dynamic && -n "$NIX_DYNAMIC_LINKER_@suffixSalt@" ]]; then + extraBefore+=("-dynamic-linker" "$NIX_DYNAMIC_LINKER_@suffixSalt@") + fi +fi + +extraAfter+=($(filterRpathFlags "$linkType" $NIX_LDFLAGS_AFTER_@suffixSalt@)) + +# These flags *must not* be pulled up to -Wl, flags, so they can't go in +# add-flags.sh. They must always be set, so must not be disabled by +# NIX_LDFLAGS_SET. +if [ -e @out@/nix-support/add-local-ldflags-before.sh ]; then + source @out@/nix-support/add-local-ldflags-before.sh +fi + + +# Three tasks: +# +# 1. Find all -L... switches for rpath +# +# 2. Find relocatable flag for build id. +# +# 3. Choose 32-bit dynamic linker if needed +declare -a libDirs +declare -A libs +declare -i relocatable=0 link32=0 + +linkerOutput="a.out" + +if + [ "$NIX_DONT_SET_RPATH_@suffixSalt@" != 1 ] \ + || [ "$NIX_SET_BUILD_ID_@suffixSalt@" = 1 ] \ + || [ -e @out@/nix-support/dynamic-linker-m32 ] +then + prev= + # Old bash thinks empty arrays are undefined, ugh. + for p in \ + ${extraBefore+"${extraBefore[@]}"} \ + ${params+"${params[@]}"} \ + ${extraAfter+"${extraAfter[@]}"} + do + case "$prev" in + -L) + libDirs+=("$p") + ;; + -l) + libs["lib${p}.so"]=1 + ;; + -m) + # Presumably only the last `-m` flag has any effect. + case "$p" in + elf_i386) link32=1;; + *) link32=0;; + esac + ;; + -dynamic-linker | -plugin) + # Ignore this argument, or it will match *.so and be added to rpath. + ;; + *) + case "$p" in + -L/*) + libDirs+=("${p:2}") + ;; + -l?*) + libs["lib${p:2}.so"]=1 + ;; + "${NIX_STORE:-}"/*.so | "${NIX_STORE:-}"/*.so.*) + # This is a direct reference to a shared library. + libDirs+=("${p%/*}") + libs["${p##*/}"]=1 + ;; + -r | --relocatable | -i) + relocatable=1 + esac + ;; + esac + prev="$p" + done +fi + +# Determine linkerOutput +prev= +for p in \ + ${extraBefore+"${extraBefore[@]}"} \ + ${params+"${params[@]}"} \ + ${extraAfter+"${extraAfter[@]}"} +do + case "$prev" in + -o) + # Informational for post-link-hook + linkerOutput="$p" + ;; + *) + ;; + esac + prev="$p" +done + +if [[ "$link32" == "1" && "$linkType" == dynamic && -e "@out@/nix-support/dynamic-linker-m32" ]]; then + # We have an alternate 32-bit linker and we're producing a 32-bit ELF, let's + # use it. + extraAfter+=( + '-dynamic-linker' + "$(< @out@/nix-support/dynamic-linker-m32)" + ) +fi + +# Add all used dynamic libraries to the rpath. +if [[ "$NIX_DONT_SET_RPATH_@suffixSalt@" != 1 && "$linkType" != static-pie ]]; then + # For each directory in the library search path (-L...), + # see if it contains a dynamic library used by a -l... flag. If + # so, add the directory to the rpath. + # It's important to add the rpath in the order of -L..., so + # the link time chosen objects will be those of runtime linking. + declare -A rpaths + for dir in ${libDirs+"${libDirs[@]}"}; do + if [[ "$dir" =~ [/.][/.] ]] && dir2=$(readlink -f "$dir"); then + dir="$dir2" + fi + if [ -n "${rpaths[$dir]:-}" ] || [[ "$dir" != "${NIX_STORE:-}"/* ]]; then + # If the path is not in the store, don't add it to the rpath. + # This typically happens for libraries in /tmp that are later + # copied to $out/lib. If not, we're screwed. + continue + fi + for path in "$dir"/*; do + file="${path##*/}" + if [ "${libs[$file]:-}" ]; then + # This library may have been provided by a previous directory, + # but if that library file is inside an output of the current + # derivation, it can be deleted after this compilation and + # should be found in a later directory, so we add all + # directories that contain any of the libraries to rpath. + rpaths["$dir"]=1 + extraAfter+=(-rpath "$dir") + break + fi + done + done + +fi + +# Only add --build-id if this is a final link. FIXME: should build gcc +# with --enable-linker-build-id instead? +# +# Note: `lld` interprets `--build-id` to mean `--build-id=fast`; GNU ld defaults +# to SHA1. +if [ "$NIX_SET_BUILD_ID_@suffixSalt@" = 1 ] && ! (( "$relocatable" )); then + extraAfter+=(--build-id="${NIX_BUILD_ID_STYLE:-sha1}") +fi + +# if a ld-wrapper-hook exists, run it. +if [[ -e @out@/nix-support/ld-wrapper-hook ]]; then + linker=@prog@ + source @out@/nix-support/ld-wrapper-hook +fi + +# Optionally print debug info. +if (( "${NIX_DEBUG:-0}" >= 1 )); then + # Old bash workaround, see above. + echo "extra flags before to @prog@:" >&2 + printf " %q\n" ${extraBefore+"${extraBefore[@]}"} >&2 + echo "original flags to @prog@:" >&2 + printf " %q\n" ${params+"${params[@]}"} >&2 + echo "extra flags after to @prog@:" >&2 + printf " %q\n" ${extraAfter+"${extraAfter[@]}"} >&2 +fi + +PATH="$path_backup" +# Old bash workaround, see above. + +if (( "${NIX_LD_USE_RESPONSE_FILE:-@use_response_file_by_default@}" >= 1 )); then + responseFile=$(@mktemp@ "${TMPDIR:-/tmp}/ld-params.XXXXXX") + trap '@rm@ -f -- "$responseFile"' EXIT + echo \ + ${extraBefore+"${extraBefore[@]}"} \ + ${params+"${params[@]}"} \ + ${extraAfter+"${extraAfter[@]}"} > "$responseFile" + @prog@ "@$responseFile" +else + @prog@ \ + ${extraBefore+"${extraBefore[@]}"} \ + ${params+"${params[@]}"} \ + ${extraAfter+"${extraAfter[@]}"} +fi + +if [ -e "@out@/nix-support/post-link-hook" ]; then + source @out@/nix-support/post-link-hook +fi diff --git a/nix-builder/pkgs/rocm-packages-old/llvm.nix b/nix-builder/pkgs/rocm-packages-old/llvm.nix new file mode 100644 index 00000000..d6dbfd7e --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/llvm.nix @@ -0,0 +1,34 @@ +{ + gcc13Stdenv, + wrapBintoolsWith, + wrapCCWith, + glibc, +}: +final: prev: +let + llvm = final.rocm-llvm; + bintools-unwrapped = final.callPackage ./bintools-unwrapped.nix { + inherit llvm; + }; + bintools = wrapBintoolsWith { + bintools = bintools-unwrapped; + libc = glibc; + # TODO: move to unwrapped bintools + isLLVM = true; + + extraBuildCommands = '' + wrap ld.lld ${./ld-wrapper.sh} ${bintools-unwrapped}/bin/ld.lld + ''; + }; + clang = final.callPackage ./clang.nix { + inherit bintools llvm; + stdenv = gcc13Stdenv; + }; +in +{ + llvm = { + inherit bintools-unwrapped; + inherit bintools; + inherit clang; + }; +} diff --git a/nix-builder/pkgs/rocm-packages/manifests/7.1.1.json b/nix-builder/pkgs/rocm-packages-old/manifests/7.1.1.json similarity index 100% rename from nix-builder/pkgs/rocm-packages/manifests/7.1.1.json rename to nix-builder/pkgs/rocm-packages-old/manifests/7.1.1.json diff --git a/nix-builder/pkgs/rocm-packages/manifests/7.2.1.json b/nix-builder/pkgs/rocm-packages-old/manifests/7.2.1.json similarity index 100% rename from nix-builder/pkgs/rocm-packages/manifests/7.2.1.json rename to nix-builder/pkgs/rocm-packages-old/manifests/7.2.1.json diff --git a/nix-builder/pkgs/rocm-packages-old/mark-for-rocm-root-hook.sh b/nix-builder/pkgs/rocm-packages-old/mark-for-rocm-root-hook.sh new file mode 100644 index 00000000..b258fd38 --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/mark-for-rocm-root-hook.sh @@ -0,0 +1,27 @@ +# shellcheck shell=bash + +# Based on mark-for-cuda-root-hook. + +(( ${hostOffset:?} == -1 && ${targetOffset:?} == 0)) || return 0 + +echo "Sourcing mark-for-rocm-root-hook" >&2 + +markForROCM_ROOT() { + mkdir -p "${prefix:?}/nix-support" + local markerPath="$prefix/nix-support/include-in-rocm-root" + + # Return early if the file already exists. + [[ -f "$markerPath" ]] && return 0 + + # Always create the file, even if it's empty, since setup-cuda-hook relies on its existence. + # However, only populate it if strictDeps is not set. + touch "$markerPath" + + # Return early if strictDeps is set. + [[ -n "${strictDeps-}" ]] && return 0 + + # Populate the file with the package name and output. + echo "${pname:?}-${output:?}" > "$markerPath" +} + +fixupOutputHooks+=(markForROCM_ROOT) diff --git a/nix-builder/pkgs/rocm-packages-old/mk-packages.nix b/nix-builder/pkgs/rocm-packages-old/mk-packages.nix new file mode 100644 index 00000000..c4b71f07 --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/mk-packages.nix @@ -0,0 +1,41 @@ +{ + lib, + callPackage, + newScope, +}: + +manifest: + +let + inherit (lib.fixedPoints) extends composeManyExtensions; + + fixedPoint = final: { + inherit lib manifest; + }; + composed = composeManyExtensions [ + # Hooks + (import ./hooks.nix) + # Base package set. + (import ./components.nix) + # Overrides (adding dependencies, etc.) + (import ./overrides.nix) + # Compiler toolchain. + (callPackage ./llvm.nix { }) + # Packages that are joins of other packages. + (callPackage ./joins.nix { }) + # Add aotriton + (final: prev: { + inherit (final.callPackage ../aotriton { }) + aotriton_0_11_1 + aotriton_0_11_2 + aotriton_0_12 + aotriton_0_13 + ; + }) + (final: prev: { + theRock = false; + version = final.rocm.version; + }) + ]; +in +lib.makeScope newScope (extends composed fixedPoint) diff --git a/nix-builder/pkgs/rocm-packages-old/overrides.nix b/nix-builder/pkgs/rocm-packages-old/overrides.nix new file mode 100644 index 00000000..16182f4a --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/overrides.nix @@ -0,0 +1,258 @@ +let + applyOverrides = + overrides: final: prev: + prev.lib.mapAttrs (name: value: prev.${name}.overrideAttrs (final.callPackage value { })) overrides; +in +applyOverrides { + comgr = + { + ncurses, + zlib, + zstd, + }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + ncurses + zlib + zstd + ]; + }; + + hipblas = + { + lib, + hipblas-common-devel ? null, + }: + prevAttrs: { + propagatedBuildInputs = prevAttrs.buildInputs ++ [ hipblas-common-devel ]; + }; + + hipblaslt = + { hip-runtime-amd }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ hip-runtime-amd ]; + }; + + hipify-clang = + { + ncurses, + zlib, + zstd, + }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + ncurses + zlib + zstd + ]; + }; + + hiprand = + { hip-runtime-amd, rocrand }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + hip-runtime-amd + rocrand + ]; + }; + + openmp-extras-devel = + { ncurses, zlib }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + ncurses + zlib + ]; + }; + + openmp-extras-runtime = + { rocm-llvm }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + rocm-llvm + ]; + # Can we change rocm-llvm to pick these up? + installPhase = (prevAttrs.installPhase or "") + '' + addAutoPatchelfSearchPath ${rocm-llvm}/lib/llvm/lib + + # Requires Python 3.12. + rm -f $out/lib/llvm/share/gdb/python/ompd/ompdModule.so + ''; + }; + + hipsolver = + { + lib, + suitesparse, + }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + suitesparse + ]; + }; + + hipsparselt = + { hip-runtime-amd, roctracer }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + hip-runtime-amd + roctracer + ]; + }; + + hsa-rocr = + { + elfutils, + libdrm, + numactl, + }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + elfutils + libdrm + numactl + ]; + }; + + rccl = + { roctracer }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ roctracer ]; + }; + + rocfft = + { hip-runtime-amd }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ hip-runtime-amd ]; + }; + + rocm-llvm = + { + hsa-rocr, + libxml2, + ncurses, + zlib, + zstd, + }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + hsa-rocr + libxml2 + ncurses + zlib + zstd + ]; + + installPhase = (prevAttrs.installPhase or "") + '' + # Dead symlink(s). + chmod -R +w $out/lib + rm -f $out/lib/llvm/bin/flang + ''; + }; + + rocm-gdb = + { + expat, + libxcrypt-legacy, + ncurses, + python311, + python312, + python313, + xz, + }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + expat + libxcrypt-legacy + python311 + python312 + python313 + ncurses + xz + ]; + }; + + rocm-smi-lib = + { libdrm, valgrind }: + prevAttrs: { + postInstall = (prevAttrs.postInstall or "") + '' + substituteInPlace \ + $out/lib/cmake/rocm_smi/rocm_smiTargets.cmake \ + --replace-fail "/usr/include/libdrm" "${libdrm.dev}/include/libdrm" \ + --replace-fail "/usr/include/valgrind" "${valgrind.dev}/include/valgrind" + ''; + + }; + + rocminfo = + { python3 }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ python3 ]; + }; + + rocprofiler = + { comgr, hsa-amd-aqlprofile }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + comgr + hsa-amd-aqlprofile + ]; + }; + + rocprofiler-sdk = + { + comgr, + elfutils, + hsa-amd-aqlprofile, + libdrm, + sqlite, + }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + comgr + elfutils + hsa-amd-aqlprofile + libdrm + sqlite + ]; + }; + + rocprofiler-sdk-rocpd = + { + comgr, + elfutils, + hsa-amd-aqlprofile, + libdrm, + sqlite, + }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ + comgr + elfutils + hsa-amd-aqlprofile + libdrm + sqlite + ]; + }; + + rocrand = + { hip-runtime-amd }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ hip-runtime-amd ]; + }; + + rocsparse = + { roctracer }: + prevAttrs: { + buildInputs = prevAttrs.buildInputs ++ [ roctracer ]; + }; + + roctracer = + { comgr, hsa-rocr }: + prevAttr: { + buildInputs = prevAttr.buildInputs ++ [ + comgr + hsa-rocr + ]; + }; +} diff --git a/nix-builder/pkgs/rocm-packages-old/rhel2nix.py b/nix-builder/pkgs/rocm-packages-old/rhel2nix.py new file mode 100644 index 00000000..cfd9576f --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/rhel2nix.py @@ -0,0 +1,254 @@ +#!/usr/bin/env python3 + +import argparse +import json +import sys +import gzip +import xml.etree.ElementTree as ET +from typing import Set +from urllib.parse import urljoin +from urllib.request import urlopen + +BASEURL = "https://repo.radeon.com/rocm/rhel{rhel_version}/{version}/main/" + +RHEL_VERSIONS = ["8", "9"] + +# XML namespaces used in RPM repo metadata +RPM_NAMESPACES = { + "common": "http://linux.duke.edu/metadata/common", + "rpm": "http://linux.duke.edu/metadata/rpm", +} + +REPOMD_NAMESPACES = {"repo": "http://linux.duke.edu/metadata/repo"} + +parser = argparse.ArgumentParser(description="Parse ROCm RHEL repository") +parser.add_argument("version", help="ROCm version") +parser.add_argument( + "--rhel-version", help="RHEL version", choices=RHEL_VERSIONS, default="8" +) + + +class Package: + def __init__(self, package_elem, rhel_version: str, base_url: str): + self._elem = package_elem + self._rhel_version = rhel_version + self._base_url = base_url + + # Parse package metadata. + name_elem = self._elem.find("common:name", RPM_NAMESPACES) + self._name = name_elem.text if name_elem is not None else "" + + version_elem = self._elem.find("common:version", RPM_NAMESPACES) + self._version = version_elem.get("ver", "") if version_elem is not None else "" + self._release = version_elem.get("rel", "") if version_elem is not None else "" + + arch_elem = self._elem.find("common:arch", RPM_NAMESPACES) + self._arch = arch_elem.text if arch_elem is not None else "" + + checksum_elem = self._elem.find("common:checksum", RPM_NAMESPACES) + self._checksum = checksum_elem.text if checksum_elem is not None else "" + + location_elem = self._elem.find("common:location", RPM_NAMESPACES) + self._location = ( + location_elem.get("href", "") if location_elem is not None else "" + ) + + def __str__(self): + return f"{self._name} {self._version}" + + def depends(self, version: str) -> Set[str]: + """Extract dependencies, filtering for ROCm packages""" + deps = set() + + # Find requires entries in RPM format + format_elem = self._elem.find("common:format", RPM_NAMESPACES) + if format_elem is not None: + requires_elem = format_elem.find("rpm:requires", RPM_NAMESPACES) + if requires_elem is not None: + for entry in requires_elem.findall("rpm:entry", RPM_NAMESPACES): + dep_name = entry.get("name", "") + # Filter out system dependencies and focus on package names + if ( + dep_name + and not dep_name.startswith("/") + and not dep_name.startswith("rpmlib(") + ): + # Remove any version suffix that matches the ROCm version + if dep_name.endswith(version): + dep_name = dep_name[: -len(version)] + deps.add(dep_name) + + return deps + + @property + def name(self) -> str: + return self._name + + @property + def sha256(self) -> str: + return self._checksum + + @property + def version(self) -> str: + # Remove RHEL-specific version suffix (e.g., .el8) + version = self._version + if f".el{self._rhel_version}" in version: + version = version.split(f".el{self._rhel_version}")[0] + return version + + @property + def filename(self) -> str: + return f"{self._name}-{self._version}-{self._release}.{self._arch}.rpm" + + @property + def url(self) -> str: + return self._location + + +def fetch_and_parse_repodata(repo_url: str): + """Fetch and parse repository metadata""" + repomd_url = urljoin(repo_url, "repodata/repomd.xml") + + try: + print(f"Fetching repository metadata from {repomd_url}...", file=sys.stderr) + with urlopen(repomd_url) as response: + repomd_content = response.read() + + # Parse repo metadata. From this file we can get the paths to the + # other metadata files. + repomd_root = ET.fromstring(repomd_content) + + # Find the primary package metadata. + primary_location = None + for data in repomd_root.findall( + './/repo:data[@type="primary"]', REPOMD_NAMESPACES + ): + location_elem = data.find(".//repo:location", REPOMD_NAMESPACES) + if location_elem is not None: + primary_location = location_elem.get("href") + break + + if not primary_location: + raise Exception("Could not find primary metadata in repomd.xml") + + primary_url = urljoin(repo_url, primary_location) + print(f"Fetching primary metadata from {primary_url}...", file=sys.stderr) + + with urlopen(primary_url) as response: + metadata = response.read() + + if primary_location.endswith(".gz"): + metadata = gzip.decompress(metadata) + + return ET.fromstring(metadata) + + except Exception as e: + print(f"Error fetching repository metadata: {e}", file=sys.stderr) + sys.exit(1) + + +def package_info(*, rhel_version: str, version: str): + """Generator that yields Package objects from the RHEL repository""" + repo_url = BASEURL.format(rhel_version=rhel_version, version=version) + + metadata = fetch_and_parse_repodata(repo_url) + + # Iterate through all packages in the metadata + for package_elem in metadata.findall( + './/common:package[@type="rpm"]', RPM_NAMESPACES + ): + yield Package(package_elem, rhel_version, repo_url) + + +def __main__(): + args = parser.parse_args() + packages = {} + + print( + f"Fetching ROCm {args.version} packages for RHEL {args.rhel_version}...", + file=sys.stderr, + ) + + for pkg in package_info(rhel_version=args.rhel_version, version=args.version): + if "debuginfo" not in pkg.name and "debugsource" not in pkg.name: + packages[pkg.name] = pkg + + print(f"Found {len(packages)} packages", file=sys.stderr) + + filtered_packages = {} + # Filter dupes like hip-devel vs. hip-devel6.4.1 + for name, info in packages.items(): + if name.endswith(args.version): + name_without_version = name[: -len(args.version)] + if name_without_version not in packages: + filtered_packages[name_without_version] = info + else: + filtered_packages[name] = info + packages = filtered_packages + + print(f"After filtering duplicates: {len(packages)} packages", file=sys.stderr) + + # First pass: Find -devel and -rpath packages that should be merged. + dev_to_merge = {} + for name in packages.keys(): + if name.endswith("-devel") and name[:-6] in packages: + dev_to_merge[name] = name[:-6] + elif name.endswith("-devel-rpath") and name[:-12] in packages: + dev_to_merge[name] = name[:-12] + elif name.endswith("-rpath") and name[:-6] in packages: + dev_to_merge[name] = name[:-6] + + print(f"Found {len(dev_to_merge)} packages to merge", file=sys.stderr) + + # Second pass: get ROCm dependencies and merge -devel packages. + metadata = {} + + # sorted will put -devel after non-devel packages. + for name in sorted(packages.keys()): + info = packages[name] + deps = { + dev_to_merge.get(dep, dep) + for dep in info.depends(args.version) + if dep in packages + } + + pkg_metadata = { + "name": name, + "sha256": info.sha256, + "url": urljoin( + BASEURL.format(rhel_version=args.rhel_version, version=args.version), + info.url, + ), + "version": info.version, + } + + if name in dev_to_merge: + target_pkg = dev_to_merge[name] + if target_pkg not in metadata: + metadata[target_pkg] = { + "deps": set(), + "components": [], + "version": info.version, + } + metadata[target_pkg]["components"].append(pkg_metadata) + metadata[target_pkg]["deps"].update(deps) + else: + metadata[name] = { + "deps": deps, + "components": [pkg_metadata], + "version": info.version, + } + + # Remove self-references and convert dependencies to list. + for name, pkg_metadata in metadata.items(): + deps = pkg_metadata["deps"] + deps -= {name, f"{name}-devel"} + deps -= {name, f"{name}-rpath"} + pkg_metadata["deps"] = list(sorted(deps)) + + print(f"Generated metadata for {len(metadata)} packages", file=sys.stderr) + print(json.dumps(metadata, indent=2)) + + +if __name__ == "__main__": + __main__() diff --git a/nix-builder/pkgs/rocm-packages-old/setup-rocm-hook.sh b/nix-builder/pkgs/rocm-packages-old/setup-rocm-hook.sh new file mode 100644 index 00000000..bb6ac087 --- /dev/null +++ b/nix-builder/pkgs/rocm-packages-old/setup-rocm-hook.sh @@ -0,0 +1,69 @@ +# shellcheck shell=bash + +# Based on setup-cuda-hook. + +# Only run the hook from nativeBuildInputs +(( "$hostOffset" == -1 && "$targetOffset" == 0)) || return 0 + +guard=Sourcing +reason= + +[[ -n ${rocmSetupHookOnce-} ]] && guard=Skipping && reason=" because the hook has been propagated more than once" + +if (( "${NIX_DEBUG:-0}" >= 1 )) ; then + echo "$guard hostOffset=$hostOffset targetOffset=$targetOffset setup-rocm-hook$reason" >&2 +else + echo "$guard setup-rocm-hook$reason" >&2 +fi + +[[ "$guard" = Sourcing ]] || return 0 + +declare -g rocmSetupHookOnce=1 +declare -Ag rocmHostPathsSeen=() +declare -Ag rocmOutputToPath=() + +extendrocmHostPathsSeen() { + (( "${NIX_DEBUG:-0}" >= 1 )) && echo "extendrocmHostPathsSeen $1" >&2 + + local markerPath="$1/nix-support/include-in-rocm-root" + [[ ! -f "${markerPath}" ]] && return 0 + [[ -v rocmHostPathsSeen[$1] ]] && return 0 + + rocmHostPathsSeen["$1"]=1 + + # E.g. cuda_cudart-lib + local rocmOutputName + # Fail gracefully if the file is empty. + # One reason the file may be empty: the package was built with strictDeps set, but the current build does not have + # strictDeps set. + read -r rocmOutputName < "$markerPath" || return 0 + + [[ -z "$rocmOutputName" ]] && return 0 + + local oldPath="${rocmOutputToPath[$rocmOutputName]-}" + [[ -n "$oldPath" ]] && echo "extendrocmHostPathsSeen: warning: overwriting $rocmOutputName from $oldPath to $1" >&2 + rocmOutputToPath["$rocmOutputName"]="$1" +} +addEnvHooks "$targetOffset" extendrocmHostPathsSeen + +propagateRocmLibraries() { + (( "${NIX_DEBUG:-0}" >= 1 )) && echo "propagateRocmLibraries: rocmPropagateToOutput=$rocmPropagateToOutput rocmHostPathsSeen=${!rocmHostPathsSeen[*]}" >&2 + + [[ -z "${rocmPropagateToOutput-}" ]] && return 0 + + mkdir -p "${!rocmPropagateToOutput}/nix-support" + # One'd expect this should be propagated-bulid-build-deps, but that doesn't seem to work + echo "@setupRocmHook@" >> "${!rocmPropagateToOutput}/nix-support/propagated-native-build-inputs" + + local propagatedBuildInputs=( "${!rocmHostPathsSeen[@]}" ) + for output in $(getAllOutputNames) ; do + if [[ ! "$output" = "$rocmPropagateToOutput" ]] ; then + appendToVar propagatedBuildInputs "${!output}" + fi + break + done + + # One'd expect this should be propagated-host-host-deps, but that doesn't seem to work + printWords "${propagatedBuildInputs[@]}" >> "${!rocmPropagateToOutput}/nix-support/propagated-build-inputs" +} +postFixupHooks+=(propagateRocmLibraries) diff --git a/nix-builder/pkgs/rocm-packages/clang.nix b/nix-builder/pkgs/rocm-packages/clang.nix index db510d3b..0aadb695 100644 --- a/nix-builder/pkgs/rocm-packages/clang.nix +++ b/nix-builder/pkgs/rocm-packages/clang.nix @@ -3,9 +3,7 @@ wrapCCWith, bintools, glibc, - hip-devel, llvm, - rocm-device-libs, rsync, }: @@ -31,17 +29,29 @@ chmod -R u+w $out clang_version=`$out/bin/clang --version | grep -E -o "clang version [0-9]+" | cut -d ' ' -f3` - ln -s $out/lib/* $out/lib/clang/$clang_version/lib - ln -sf $out/include/* $out/lib/clang/$clang_version/include - substituteInPlace $out/bin/rocm.cfg \ - --replace-fail "/../../.." "/.." + # Symlink $out/lib entries into the clang lib directory. However, + # some directories might already exists. In that case, do not override + # them but symlink entries within the directory. + resourceLib=$out/lib/clang/$clang_version/lib + for entry in $out/lib/*; do + name=$(basename "$entry") + if [ -d "$entry" ] && [ -d "$resourceLib/$name" ]; then + for f in "$entry"/*; do + ln -s "$f" "$resourceLib/$name/$(basename "$f")" + done + else + ln -s "$entry" "$resourceLib/$name" + fi + done + + ln -sf $out/include/* $out/lib/clang/$clang_version/include # We need to set the version to signal to clang that we want to # include HIP/CUDA compatibility headers. chmod -R +w $out/share mkdir -p $out/share/hip - cp ${hip-devel}/share/hip/version $out/share/hip + cp ${llvm}/share/hip/version $out/share/hip runHook postInstall ''; @@ -64,7 +74,7 @@ nixSupport.cc-cflags = [ "-resource-dir=$out/resource-root" "-fuse-ld=lld" - "--rocm-device-lib-path=${rocm-device-libs}/amdgcn/bitcode" + "--rocm-device-lib-path=${llvm}/amdgcn/bitcode" "-rtlib=compiler-rt" "-unwindlib=libunwind" "-Wno-unused-command-line-argument" diff --git a/nix-builder/pkgs/rocm-packages/clr.nix b/nix-builder/pkgs/rocm-packages/clr.nix index 5f1362bd..be5c12b3 100644 --- a/nix-builder/pkgs/rocm-packages/clr.nix +++ b/nix-builder/pkgs/rocm-packages/clr.nix @@ -5,16 +5,8 @@ markForRocmRootHook, rsync, clang, - comgr, - hipcc, - hip-devel, - hip-runtime-amd, - hsa-rocr, - perl, - rocm-core, - rocm-device-libs, - rocm-opencl, - rocminfo, + amdrocm-runtime, + amdrocm-opencl, setupRocmHook, }: @@ -22,18 +14,18 @@ let hipClangPath = "${clang}/bin"; wrapperArgs = [ "--prefix PATH : $out/bin" - "--prefix LD_LIBRARY_PATH : ${hsa-rocr}" + "--prefix LD_LIBRARY_PATH : ${amdrocm-runtime}" "--set HIP_PLATFORM amd" "--set HIP_PATH $out" "--set HIP_CLANG_PATH ${hipClangPath}" - "--set DEVICE_LIB_PATH ${rocm-device-libs}/amdgcn/bitcode" - "--set HSA_PATH ${hsa-rocr}" + "--set DEVICE_LIB_PATH ${amdrocm-runtime}/amdgcn/bitcode" + "--set HSA_PATH ${amdrocm-runtime}" "--set ROCM_PATH $out" ]; in stdenv.mkDerivation { pname = "rocm-clr"; - version = rocm-core.version; + version = amdrocm-runtime.version; nativeBuildInputs = [ markForRocmRootHook @@ -42,11 +34,6 @@ stdenv.mkDerivation { ]; propagatedBuildInputs = [ - comgr - rocm-device-libs - hsa-rocr - perl - rocminfo setupRocmHook ]; @@ -57,27 +44,15 @@ stdenv.mkDerivation { mkdir -p $out - for path in ${hipcc} ${hip-devel} ${hip-runtime-amd} ${rocm-core} ${rocm-opencl}; do + for path in ${amdrocm-runtime} ${amdrocm-opencl}; do rsync -a --exclude=nix-support $path/ $out/ done chmod -R u+w $out - # Some build infra expects rocminfo to be in the clr package. Easier - # to just symlink it than to patch everything. - ln -s ${rocminfo}/bin/* $out/bin - wrapProgram $out/bin/hipcc ${lib.concatStringsSep " " wrapperArgs} wrapProgram $out/bin/hipconfig ${lib.concatStringsSep " " wrapperArgs} - # Removed in ROCm 7. - if [ -f $out/bin/hipcc.pl ]; then - wrapProgram $out/bin/hipcc.pl ${lib.concatStringsSep " " wrapperArgs} - fi - if [ -f $out/bin/hipconfig.pl ]; then - wrapProgram $out/bin/hipconfig.pl ${lib.concatStringsSep " " wrapperArgs} - fi - runHook postInstall ''; @@ -86,9 +61,9 @@ stdenv.mkDerivation { echo ' export HIP_PATH="${placeholder "out"}" export HIP_PLATFORM=amd - export HIP_DEVICE_LIB_PATH="${rocm-device-libs}/amdgcn/bitcode" + export HIP_DEVICE_LIB_PATH="${amdrocm-runtime}/amdgcn/bitcode" export HIP_CLANG_PATH="${hipClangPath}" - export HSA_PATH="${hsa-rocr}"' > $out/nix-support/setup-hook + export HSA_PATH="${amdrocm-runtime}"' > $out/nix-support/setup-hook ln -s ${clang} $out/llvm ''; @@ -105,12 +80,20 @@ stdenv.mkDerivation { "940" "941" "942" + "950" "1010" "1012" "1030" "1100" "1101" "1102" + "1150" + "1151" + "1152" + "1153" + "1200" + "1201" + "1250" ] (target: "gfx${target}"); }; diff --git a/nix-builder/pkgs/rocm-packages/generic.nix b/nix-builder/pkgs/rocm-packages/generic.nix index 45552854..d7965f0a 100644 --- a/nix-builder/pkgs/rocm-packages/generic.nix +++ b/nix-builder/pkgs/rocm-packages/generic.nix @@ -2,9 +2,10 @@ lib, autoPatchelfHook, callPackage, + cpio, fetchurl, stdenv, - rpmextract, + rpm, rsync, rocmPackages, @@ -38,7 +39,8 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ autoPatchelfHook rocmPackages.markForRocmRootHook - rpmextract + cpio + rpm rsync ]; @@ -48,17 +50,26 @@ stdenv.mkDerivation rec { ] ++ (map (dep: rocmPackages.${dep}) filteredDeps); - # dpkg hook does not seem to work for multiple sources. + # We do not use rpmextract anymore. It uses cpio, which fails to set + # the setgid bit on directories. cpio will extract correctly, but return + # an error, which causes rpmextract to fail. So instead we run cpio + # directly and allow this particular error, but bail on other errors. unpackPhase = '' for src in $srcs; do - rpmextract "$src" + if ! rpm2cpio "$src" | cpio --extract --make-directories --quiet 2>cpio.err; then + if [ ! -s cpio.err ] || grep -v 'Cannot change mode' cpio.err >&2; then + echo "unpacking $src failed" >&2 + exit 1 + fi + fi done + rm -f cpio.err ''; installPhase = '' runHook preInstall mkdir $out - cp -rT opt/rocm-* $out + cp -rT opt/rocm/core-* $out runHook postInstall ''; diff --git a/nix-builder/pkgs/rocm-packages/llvm.nix b/nix-builder/pkgs/rocm-packages/llvm.nix index d6dbfd7e..51041076 100644 --- a/nix-builder/pkgs/rocm-packages/llvm.nix +++ b/nix-builder/pkgs/rocm-packages/llvm.nix @@ -6,7 +6,7 @@ }: final: prev: let - llvm = final.rocm-llvm; + llvm = final.amdrocm-runtime; bintools-unwrapped = final.callPackage ./bintools-unwrapped.nix { inherit llvm; }; diff --git a/nix-builder/pkgs/rocm-packages/manifests/7.14.1.json b/nix-builder/pkgs/rocm-packages/manifests/7.14.1.json new file mode 100644 index 00000000..6649ba65 --- /dev/null +++ b/nix-builder/pkgs/rocm-packages/manifests/7.14.1.json @@ -0,0 +1,2086 @@ +{ + "amdrocm": { + "deps": [ + "amdrocm-amdsmi", + "amdrocm-blas", + "amdrocm-ccl-devel", + "amdrocm-ck", + "amdrocm-debugger", + "amdrocm-decode", + "amdrocm-dnn", + "amdrocm-fft", + "amdrocm-hipblas-common-devel", + "amdrocm-hipfile", + "amdrocm-hipify", + "amdrocm-jpeg", + "amdrocm-math-common", + "amdrocm-opencl", + "amdrocm-rand", + "amdrocm-rccl", + "amdrocm-rocshmem", + "amdrocm-runtime", + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm7.14", + "sha256": "b9e40043df7f2983746e4e6d9abfc7478794acb645ea7b4820d656ff0a2d5d58", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1010", + "sha256": "790cd1a0ae0ed98ef52a441e23c3ab0c74646e47f7c6ab238eaf3a98dea08fc6", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1010-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1011", + "sha256": "400ee02d2c078092176ae63225a73d3622f89f7ea5fcfc472666b4e4d1126688", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1011-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1012", + "sha256": "73f1ea4bba675ae62c84b2e917093ca05297cd3534ae6b0fc00769d9501b4dc2", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1012-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1030", + "sha256": "c39e819f0b1f9757dbc190a80a02a748b28e1de0f338652a1eeedfdba8efbe4d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1030-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1031", + "sha256": "396555168d417620310e64b2a597b7b0831f4abd97552220ef1832b7a02be9fc", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1031-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1032", + "sha256": "40be15dc3987f3b387c760b6dc8029a66f2955387811e26cb5a4b640d0f694b5", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1032-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1033", + "sha256": "13771336b1e0f07287a9533a9a3023fcbdcb13473ac16f9a0635a2d1cbf7cbf8", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1033-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1034", + "sha256": "9acddc715da82865fa14f8e4f7c67d09d88525bee408a768be679c3b581df9a1", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1034-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1035", + "sha256": "d9aebb3893ae00efb835e363476f7778ac2cb4990d59b26355921174bb17e626", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1035-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1036", + "sha256": "2eec1c2106fd9970a79f5f00bd63cbaa58e8e0dbf3cce814e533eb92e5532625", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1036-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1100", + "sha256": "8e895223d88f5235930d45137409276920ebbd6c30ed09566add16238738b185", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1100-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1101", + "sha256": "1cccc89b6629e86312fb2d1c49a89ae7045585d1567b1c845cdeba849f19734f", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1101-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1102", + "sha256": "8f4e8ee5d178641dd6f6885eb726f1c7a03a797d7bce45173698539c5198ee0a", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1102-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1103", + "sha256": "a9581ac017ba472bc98a894761d020c765620f36995027aa6f8340eb403efa70", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1103-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1150", + "sha256": "01d81701fb5b5b97d68c9a6eea537930d4b364621d82d8b33831e58e39c73029", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1150-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1151", + "sha256": "0f32adfe89d4a45060ef9685122c7fb6b27b8f38b79d0ce91acdcbc0c1d364d8", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1151-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1152", + "sha256": "223462fe42508d4371f38f937680a20ebcc253a76e4671cc22e00427fee26ad8", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1152-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1153", + "sha256": "657a69244ed3d3563601b5f744e576b6b255e0c272c1207f7c8cd5cd9b7bf091", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1153-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1200", + "sha256": "5f125f7ef452565bb9231c9fcf860df50a82f38dc566e2542cfd974d4aeff868", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1200-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1201", + "sha256": "f52b73829f6a6a451e2469caa5831d111e0b6d2f529b9d2f11662edc340e58da", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1201-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx1250", + "sha256": "5bb2ad1b3fa26afd1175afa0cd818faeaf9ce6c2c7379fbcc4c0ee40f3d7c6f6", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx1250-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx908", + "sha256": "79d3bdf5902787c8cc27cd6bbe0c63d19f7a7838e4081b33dea231833129f9e2", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx908-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx90a", + "sha256": "b2b1870229adb19bee0854c65f02f4b1925a39f9a92a56c8085fc625410a3476", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx90a-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx942", + "sha256": "140227be3261e2690f8f135f6ac683e7425fbb485563a437a97f1896b873a274", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx942-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm7.14-gfx950", + "sha256": "fb59aa756e44fb140bb854954a7e8e4c101f3f16817b59c713d57e425223b0de", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm7.14-gfx950-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-amdsmi": { + "deps": [ + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-amdsmi7.14", + "sha256": "2e4793e100738488b66960137e5136548568240e86e862cb36e24572e66d933b", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-amdsmi7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-blas": { + "deps": [ + "amdrocm-math-common", + "amdrocm-profiler-base", + "amdrocm-runtime" + ], + "components": [ + { + "name": "amdrocm-blas-devel7.14", + "sha256": "8710c5ba2c629f4eb04ca227cb922ad69abb3a836f24854f0be8f9813a9c9774", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas-host7.14", + "sha256": "9ee3dc9c1eebbc2ff9350865efc47b55c2018ad9edf85ef7b6546a4d69af2b95", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas-host7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14", + "sha256": "07f9195bae6c04b68ad3046cd376eb980e38112ee5d908ddbf8312a8fb130b37", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1010", + "sha256": "7a98deb1a7f3bce0739be05f030d82137b283d8140654ac8fb87424a713f97da", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1010-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1011", + "sha256": "06db663f26ea72a93f78236ed2cae4e39162fb01a0fb6888d9592ebb5e62b277", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1011-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1012", + "sha256": "d8e3fa6cc8fdf03c13d402852171a2a6461623e5f75bfa7584db6970beedffeb", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1012-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1030", + "sha256": "e561ced041936df9d0bf52dcd443c0b6f95af4ad379937372544dde262524bdb", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1030-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1031", + "sha256": "01b755cd60fee3fa8cb42bff11719e76aa12136c8cf56bfd12bab551cd165d89", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1031-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1032", + "sha256": "7d4a386c837467fa3261c4f574c75dc1689ab800433bb9c223b0d8160f23071d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1032-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1033", + "sha256": "b7d28a976be537c95cc903bc2019ed227334ffb2a25f5397b8abccc598a7f806", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1033-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1034", + "sha256": "fd7ba671b83ae598352357bbeaf5430820b29981e96d686102a9b1b2c8b53923", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1034-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1035", + "sha256": "5482b9c2383834cef788ef14c1aaca420cc2b561b41a5e3e95b72c800abeae8e", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1035-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1036", + "sha256": "7b608f37dad3c27bda0df0eeb5c839ae958ca0ece7950ad3c16e4f036f55cb4d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1036-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1100", + "sha256": "8d8aabfb17c701967f530dd9b5d4d66ee3274f82d27f8e746ebabea74dea9c28", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1100-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1101", + "sha256": "0795907de275b0686c32548f64ffeec0638aa8e0b082ae89ff920fd035e80ace", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1101-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1102", + "sha256": "24fd87c0740db6baf11fc83d92a42785b3f8e6b4b496303ebdc1427529d8c08b", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1102-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1103", + "sha256": "1bb277398d83ad0b4d17467e3774136a62868fc04b4d0bfb3bd1be354db35d66", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1103-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1150", + "sha256": "ea7f680c444f40e363f960eba5687f0d1d1a9991af5d40a8ea322d657b909c7d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1150-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1151", + "sha256": "122287c8a19a2edc15b65404b66396b1b5c83f4d3099ab3c1dcf73a4730e494d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1151-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1152", + "sha256": "b4a792800c3d63138bee514393edb2a41d83fe27e3d9863545457ced1b919a9a", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1152-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1153", + "sha256": "28105d3b5ec7d7e24c1e71e15b5c704e4fabbd3f4b1c59b19528172ab7d1ca0e", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1153-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1200", + "sha256": "ca06066a22f58ab52413467806d8c6147aae25a72ad4cba6fee2a52740a11fa2", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1200-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1201", + "sha256": "9567d4003a9d0d1f1451cd52eb089cb588aa6cbf8dd671952988f261ecedda17", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1201-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx1250", + "sha256": "5693a56b0609728cf7e33f200105b8a6260f4eb07b238e3c76c5fafe60f7c320", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx1250-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx908", + "sha256": "b6b07dffc6fec337f6050de1f1698973e668630cca1f65da7c8f5606f53c21aa", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx908-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx90a", + "sha256": "d640e179de6fc3eb1fdcdfc2b35839ec025f4b9803eb15af748d5cea72fbfb1d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx90a-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx942", + "sha256": "f2063f025441e743d7eeae0ee5fbac3a34347d937af6e607cb6f63babf17b7d3", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx942-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-blas7.14-gfx950", + "sha256": "08abedc5553d2665915edb1ef06f6bbce087f0da1971d6a84d963c0cd9343188", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-blas7.14-gfx950-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver-devel7.14", + "sha256": "23603ae622e525f2855dd5e63023a4912de087e8bddc7454bc64f8e39c386544", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver-host7.14", + "sha256": "d1c20b68314e350d7f840b57150dcd97fb24cb7bd5a6383393d255988ecc3a02", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver-host7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14", + "sha256": "3b36de49fb575ce722cfe229c46e89ba0e1c21d43844eff4d1f437983027bb16", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1010", + "sha256": "6dc1177e14267f765bd03999ffc20540a9ca901bf5ada8c4f62fa182bc2d5231", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1010-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1011", + "sha256": "a0dc68a4d038fba899106fea4f5160e3426b310f59ccc8b1b48ce1119f06a7bc", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1011-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1012", + "sha256": "8063c67982c65ff32b54f7d48f2cc97abaa7513b85b46e30d05355781f0d72f5", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1012-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1030", + "sha256": "094f503885b91f24049c5121b6e583830d0098605b66c5f0ab1af61bdb94ea6e", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1030-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1031", + "sha256": "cc37831ca84892e21408428f9660886a1a8c748658efbb340b036242fa9e88d8", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1031-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1032", + "sha256": "bcc33b41af84a6df08c618cc30288c3bbdb6c64bf04bd2af37e490c8110ccf31", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1032-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1033", + "sha256": "fd2306460b4cbd50998207cef8d7d776601af0eb5fd454e342a94fe3101936f6", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1033-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1034", + "sha256": "03fb23f2629d1e966697a3fbb04c10730a6fd5c6d79e40fdd0fe92531e274f25", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1034-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1035", + "sha256": "84dd58a44781fa2df177bb72a3aa455314b1c927c71d1540dae6debeb3b69981", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1035-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1036", + "sha256": "b8bb024d3ff95607e2cba3d76a5b43dd357a01bf9f758454d6f31018e4c272c0", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1036-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1100", + "sha256": "d3df6fd5e7060edc0378ecf0a59ecdf8df168519892da2ec80d27f1fe0260e51", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1100-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1101", + "sha256": "c4b366453afa25db22ad694989836c39e0ba6705260a794a2189120bd343b871", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1101-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1102", + "sha256": "ee6fde9961ca9895c8a8e2ecd2d0850c103a8e69a81509fc92811a185e7e9783", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1102-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1103", + "sha256": "7d33582ca3771ce6862c02589e35e1190509db77efe0831a42367aecb79be937", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1103-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1150", + "sha256": "eaf2c0db6230b79b47b8ccb5fca71c63f028181987cad078e64d6eeb528d3c49", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1150-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1151", + "sha256": "48cf6e0811afa6b24b64711aef8cd20fd39f1bb4cbf7df6937873d277530a435", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1151-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1152", + "sha256": "7144bcf604f9d0b990c57d23b9f3823313aa85c24a2668f6b03f8fa689cea050", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1152-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1153", + "sha256": "4771d30c4168bb1f507fc5cd6c1a8a0f5156c4e380ff124f09c6d3fbd1c5d837", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1153-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1200", + "sha256": "0cdb287cfcbf37bc9afa92b64621d1d61a68843328b8ba0eb4bd0eeabcc06b19", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1200-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1201", + "sha256": "be4f600f5356fff73fe80bdb62fb7c8f5f6e47bfaa66696818433360532e6efc", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1201-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx1250", + "sha256": "81e7bca556baf546d6f81afd624a9b7db4bf4bce79a43a709dfce4121fdf6f37", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx1250-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx908", + "sha256": "8ab6e689744831c330c787ef752de5815cb14e813429ff0253a7721978a24b03", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx908-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx90a", + "sha256": "c4121243d287da0370fb02cdcf0686a22fcea97c791144fc714982a7531f10d2", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx90a-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx942", + "sha256": "8e063ec1f021460711cc8ec71a1e11b069d410607042992973c4c1c4f5df649c", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx942-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-solver7.14-gfx950", + "sha256": "8e4912610f7ffdbc8942b5457de6ae12d0bfe6a1d1bb5b780bc89030e8daee31", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-solver7.14-gfx950-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse-devel7.14", + "sha256": "10e9bfb3d1aebf4a5e8f90dd5f9a4f3b99f21905a45720a73a7de484a7a6b448", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse-host7.14", + "sha256": "db69b2c2abbe64107a1c7bb6a75f84673f09012c7a73c9b237a3183ad9d3ca20", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse-host7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14", + "sha256": "70470bd275e6ca23057e24478ad8b30e3b694824ad7d670a1992a1702098dfa6", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1010", + "sha256": "7c24632edfe665d94a8ea3179e8d7f905cf77168ba6903ce7cbab02275bf09ee", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1010-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1011", + "sha256": "2ce9230af091f8acb7f1166142ae6a7fed6ab801be02530a6c330a4f06e0df53", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1011-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1012", + "sha256": "9b83c1e160cb33085708049ae983c7aa7b7a22f396c9047569fdcb584b6a5f2a", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1012-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1030", + "sha256": "262ed847105a1de581e79ee6c33034e90bcfcdb4ec09f31b7c87333ca76a253e", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1030-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1031", + "sha256": "4d2719ce816d4159310b2c5452f8e1716e2228c5418ddffbcb8451ee8c2f6a8c", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1031-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1032", + "sha256": "4192306bac549667a2dbf58f48027f4fd4724970aeea572ba5117ddcdf3cfa21", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1032-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1033", + "sha256": "16207544fe55855489c1ef63672263933ed3576e9cd4f0a4ad931ad3712df1f3", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1033-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1034", + "sha256": "2613c2bea5e3ac90b9f95b105f098e99a5264c8bae8163e560225bfd6997e536", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1034-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1035", + "sha256": "361b9404ef0ea91bba1f3f0f07a88e9748813b3b2b7ee996e6da7bf526e40ad2", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1035-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1036", + "sha256": "3c6f4adc523cd4bd7c20de418020cd8d08e2b0704438ea7693c12e84dae3fb6f", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1036-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1100", + "sha256": "ec08cdb747e4e7f96a4a67dbce55e738830a463d1c9039994e5c8236c574a6ce", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1100-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1101", + "sha256": "5d69de4dd65ac32e7b0930c60207f144c88b6e4f5ee890aedbe9619899747b0b", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1101-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1102", + "sha256": "55485736a21ecddc7dfaf765fe5feba7917498bab4abe6d481de82d383037ec3", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1102-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1103", + "sha256": "193dc8a6040d096bbfaabc367e2b38723e4488f279a5d531c8280a5aa5eb93b0", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1103-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1150", + "sha256": "5c5129e77f43135b1782954cbd269a0835652c2215ff1268dde6f87f9f37c26f", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1150-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1151", + "sha256": "49aa91b32a7d25e1f6aa66711d2cdf0f1bb956f78d52e73c04cbf79526768eb3", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1151-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1152", + "sha256": "3bbe6043a2eaa63601399158f8a828de5d1cdc1e53c4b01c4d578180567a6656", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1152-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1153", + "sha256": "a7f11da8ee1810440e2d4e38eed82c729accfd8a12022d96cd18ca0716aabd76", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1153-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1200", + "sha256": "d11eaae859464a1a20b1b7b1425482e7c86b982e38b3c59a986a5737a313a54f", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1200-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1201", + "sha256": "511b79c7408082717e78a098d6212cc6deae5401405fc3efe1c9b26b2a9d367d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1201-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx1250", + "sha256": "8648e596ad6776a1e6ae1e3b8e0b50cd5938f8020f276bbab4db801ba41f1a08", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx1250-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx908", + "sha256": "c961e75784511f4f96d6180ccb73b9b450d39b11a97b37c95b35704062f320fe", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx908-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx90a", + "sha256": "b88b5ea3f4fe757473cb8b2d527f4bf8289be256e05119a8f8cc0062f3da37ed", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx90a-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx942", + "sha256": "57c5f0d6a0d37cf442e272a6d25ed9f1f26d4d5b41cf95e7aefe29174a105174", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx942-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-sparse7.14-gfx950", + "sha256": "4ee58bced67acf582701c6ef84cbf73eaa3e25585f74fbf40cb04b69d74578e0", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sparse7.14-gfx950-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-ccl-devel": { + "deps": [], + "components": [ + { + "name": "amdrocm-ccl-devel7.14", + "sha256": "4268fdc1f0ff9fe53c8bf2e8a392e86868d8255d7e77c396928805f0ca751c71", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-ccl-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-ck": { + "deps": [], + "components": [ + { + "name": "amdrocm-ck7.14", + "sha256": "17eb40e61ff1651fd5ccc1da3d96d1c6db4405079021a3541a77884e932c3fd6", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-ck7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-debugger": { + "deps": [ + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-debugger7.14", + "sha256": "97bc2026f9cf57dae483e17224c9a3f8993c5817c9fa41171442b17475216c74", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-debugger7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-decode": { + "deps": [ + "amdrocm-runtime", + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-decode-devel7.14", + "sha256": "482c5785fd9b76aa12da6a7a1ec2048529390514620d3f7eb211a42dd71fe574", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-decode-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-decode7.14", + "sha256": "5f1ec58448d8b96051ddeb54ac18ef5d0092f5ee9b02c0802872c8a5d868ee4d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-decode7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-developer-tools": { + "deps": [ + "amdrocm-amdsmi", + "amdrocm-emulation", + "amdrocm-profiler", + "amdrocm-profiler-base", + "amdrocm-runtime" + ], + "components": [ + { + "name": "amdrocm-developer-tools7.14", + "sha256": "05086f26d9331c54e46f6ec66f36eaa2d81520e36dafb2c7773d36e9f44c3587", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-developer-tools7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-dnn": { + "deps": [ + "amdrocm-blas", + "amdrocm-profiler-base", + "amdrocm-runtime", + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-dnn-devel7.14", + "sha256": "be6f1cddb00fab529ff0bdda34ec206fe72fbc5a075188d48f170ec284876a69", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn-host7.14", + "sha256": "2603c1c9f710a0cf7f628db8087005a7bc39b88e4ee2554aab7e0bb9532b1934", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn-host7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14", + "sha256": "3a7612d8b404e97fa6e6b5acecd4f2e90550a0553638030c2eb846cba6c71e5a", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1010", + "sha256": "bf6a57709c779c30d3b35b035eae6e81a0dcb2687c79cd816ce4858bbd81ac81", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1010-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1011", + "sha256": "82464a54a69c6b634ce599f5b23b7254829fdd22d9a51c88b874dc542753b967", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1011-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1012", + "sha256": "3dd38fa0e6d8634bd424b45678797c945be53fec973e0751813408e7d675a9ba", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1012-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1030", + "sha256": "e1b8267324ae6412db5f6755654c2416f09e75edce61fc5cd8495f9b80a3b751", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1030-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1031", + "sha256": "fa3fa3e6cfba429b8ab1a61f48faa9f2c7f28a403d80b38e045424245e5e8c4d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1031-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1032", + "sha256": "8b1feabc957bd76f0eebc2d153695b7009198f52c3b581b0e73f1a55dfdd6665", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1032-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1033", + "sha256": "8fae11a0a247328f4d94174e1a2a87bc4f8b13910ab7ee38879e26adf4731c86", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1033-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1034", + "sha256": "8b049bfcc2b349acd69da4aea2fdf684f9c041fa36c9fd9d9a5d00c8afd8a15b", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1034-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1035", + "sha256": "218238e3891c603cc5c1b09ce29fc7a23d2d804709d8fa7b9aa8796b4d7d43f7", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1035-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1036", + "sha256": "ce51510dda13af039098776e568bfd1a3e6473126957b56918f439c573cd4dc7", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1036-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1100", + "sha256": "bc5602912520d4060b2dc9ce0643866f93c82a4eb9789c56d78680908d781021", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1100-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1101", + "sha256": "c5f659fad8d961a9dd14a20dbe181eff85b600e7c81cd86664784e9529da87f6", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1101-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1102", + "sha256": "58fe5ef7b121348fb02f4a897ef61009ab04ff2e18d975a4be7138deafa1ccde", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1102-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1103", + "sha256": "c4cbfd357a10395d83cf7293480d574323cf4e9e185fac2dc0467e513e6e474c", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1103-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1150", + "sha256": "a1863365cbcf85f71ac59204d9e7f57d0fe3f346f141bd9a2c73fca48094ef96", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1150-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1151", + "sha256": "88a09222b0e1f326de7b5e0edb28fab9d4eceb4fc84a9d569f90de4dda55c38e", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1151-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1152", + "sha256": "f52528cd0dc6918b68c0965404e2d59bfc05add4996f7c00077fb7da2c674643", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1152-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1153", + "sha256": "3d6ca1507adb6bc9438d6f50b7fdd913d41e0cf8221abdf69000d6f54de1414a", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1153-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1200", + "sha256": "bee0b8e78945623465c23b536583c4b0db010fd0ede8534289761a2b231bc40a", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1200-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1201", + "sha256": "7b4c4dd5b03d491710fe53d000cc57888cffe10494cf4d5e3d7aa72cd8f01412", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1201-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx1250", + "sha256": "83fc3ed7207c765e4351c3d5ba66c853e9f0a68aff31ace0e2b9465b5b9cf9ba", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx1250-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx908", + "sha256": "1edce086ffc0b1121ddaf2f877ecfcbc9845c610c88abc89758d51a919806fdf", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx908-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx90a", + "sha256": "92c95421d03d71f957f37323f32fb3f859b7ef1bf2d11a508e240305508e5b52", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx90a-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx942", + "sha256": "a58ab450942bca594ede5d6875683d1fa3660a1e8347a96452688dd780cd4719", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx942-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-dnn7.14-gfx950", + "sha256": "0f94eeea51a5353176373fdb8c85afc0702aac1ae5117c578de500c97efad017", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-dnn7.14-gfx950-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-emulation": { + "deps": [ + "amdrocm-runtime", + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-emulation7.14", + "sha256": "22284a6286127219179d2a17dd5a8dda438d2fe92bcc635b6ef1ed7d87d93508", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-emulation7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-fft": { + "deps": [ + "amdrocm-runtime", + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-fft-devel7.14", + "sha256": "84d7bca350cea80f8e973af9422fd366d2f78d161d363552771cb4e82decb937", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft-host7.14", + "sha256": "d809eae0a38d735ebf4cf443c497f74801bdbfe6d57accd9a7e2dd40457f00cc", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft-host7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14", + "sha256": "119f86e67720f7e96eee413d048f70beaec34014805e3f8224e8252744b01b1f", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1010", + "sha256": "7ace6a2c74ebb15d1724a3af7fc58a5f5dd3c08fc9c61a3d100f993fd7bb2bce", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1010-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1011", + "sha256": "fbb955164f943c0de4b1bf4152746b9a6120b02375a99cb2c0098dd4d53b0b03", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1011-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1012", + "sha256": "4767ab43ec85dfe9607a49ef2832bc4e87d2c3085f997b89453d1e669075e3d1", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1012-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1030", + "sha256": "f0cb2c9a67affcd76b24c5f947705ce9075aadfa847f9fb1375d8298226150ba", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1030-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1031", + "sha256": "4f511f4b4040318b0d7543b44bd95eb7cf26222cf742208c38c93ca138ae4b11", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1031-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1032", + "sha256": "5047f9515677f1de7c1b63bc561dbabebc44a84d828ca674584cf78609ca86a7", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1032-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1033", + "sha256": "28e5dc08356a722e05b224008d3011197f6102bf2f1c154f5f735f74b4ac47f4", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1033-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1034", + "sha256": "df17238b0850ea4a783a3d7626c97280554e3eaf8d85423619bb4fc17888b95d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1034-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1035", + "sha256": "091b9face467e738d8492f049f9317dabc886a9bead9e773cdde62612d5d9b15", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1035-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1036", + "sha256": "8f39a281ce7708319bf407fd44de98d95f84141b0c76ac22b9f183ebcbb50499", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1036-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1100", + "sha256": "38cdeba72abe1f6db17c6608a2a05e623bb1d2e79b7d87a4548e7b0594a03644", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1100-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1101", + "sha256": "245b80be32336c0c53ec2147af1fbde7e4f73b1894d527c8a9d34067b594e116", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1101-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1102", + "sha256": "3ddbae875b7f83da361f7dc23219bb8f14649f71994d1ce8c4704c8e28493a34", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1102-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1103", + "sha256": "d6ff6595e42ea4a34d21b8d3e0a820ca2bebf268dfe5a116eb9e9f0aeb85067d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1103-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1150", + "sha256": "8848eccfe0d684995b5d3a90d0290330773094c2e9321a37690b8dc2385f44b5", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1150-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1151", + "sha256": "b241fa645e00933128e06cda3508eebaaba55a6b6fd4f2d04cd28c4e09598c81", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1151-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1152", + "sha256": "061443c2885a806a6d3384b252297c14f7d8a22cc5a8e937efa9d5bf33399a2b", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1152-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1153", + "sha256": "8103847db93d0d7b454d67f6939e7df7f0e1c85fd48a5b74ce7e41bbaf531ea2", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1153-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1200", + "sha256": "b212809271c46daf8cb69d05ba23ddfa0eaafaf75f9b5d8f20c6f92599ba95dc", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1200-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1201", + "sha256": "eab3ef1c13b6bf71f2ab7524028a7a78bf3eab344aceba3f47a5263177d67a37", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1201-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx1250", + "sha256": "d9cc576a1b7d38cb5c2c996583a0a09e5f103f866b4ae6f481f1fafc48750c63", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx1250-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx908", + "sha256": "07f106e596d59146dd0c9ed3eeb39225c3297d119c1dc888bae96235df8185a0", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx908-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx90a", + "sha256": "57aeb270b79350a198e1775d9866a2241d83b5b792d91d0725d0c501074f1935", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx90a-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx942", + "sha256": "150bf29b59b633d34de086123665915747ee1ebbb84d17899cff89448dd6ca4d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx942-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-fft7.14-gfx950", + "sha256": "0cecc6a8d4b63ee00da2490a7d8b4716013d0370f25b051edecc22ba1d8b0d19", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-fft7.14-gfx950-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-hipblas-common-devel": { + "deps": [], + "components": [ + { + "name": "amdrocm-hipblas-common-devel7.14", + "sha256": "4047cd473534150b19cd8c583287d1c11921e68e205f3eb625031485658a72c2", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hipblas-common-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-hipfile": { + "deps": [ + "amdrocm-runtime", + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-hipfile-devel7.14", + "sha256": "3fc80fb75985006c98e51e1151356c6807cbea48f19d15fb413b43d209af7d86", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hipfile-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hipfile7.14", + "sha256": "d8ec6e80fbe26081657849f84bd62be1302384ebca2b2ca5fa547499e8e4db5f", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hipfile7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-hipify": { + "deps": [], + "components": [ + { + "name": "amdrocm-hipify7.14", + "sha256": "c65ecef6279927032a0a9b7c76aa6a043421521dbc8b0edc98618385fdb31050", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hipify7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-hiptensor": { + "deps": [ + "amdrocm-runtime" + ], + "components": [ + { + "name": "amdrocm-hiptensor-devel7.14", + "sha256": "d8a2ab5e6d63398dfdb7df11e560c271d713fd0dca92718259313492b6640c59", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor-host7.14", + "sha256": "74fdc635e50b767056404097db044ddea0abbcc0272e83000971531eac289297", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor-host7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14", + "sha256": "aa99652a3df4288468bffbfa9d842492d57a1e1043bd7c60e884bfe71b919306", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1010", + "sha256": "da51f164b690ea6303e96cf84e8d04e67c490b76e80551f5ab091061deb1f625", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1010-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1011", + "sha256": "ca92b1f400ca718202f7ae6d3e76ff84fd039a6fc2ca8b19de5fe84ffbec710e", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1011-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1012", + "sha256": "6a9204a5daa4d2de56d709d6f776160c66f43cbee4a418ea4553a5beb248e3e8", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1012-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1030", + "sha256": "0bca33c9840909f5a70d4e1a3c052468e0b05ad174b91ad1c988ca5af90c2720", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1030-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1031", + "sha256": "501c72c29230da3a8f50780aa5b780808d507540ba819ea2c3519778a7e405d5", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1031-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1032", + "sha256": "91cf621e1a94048f5eaeb8376a5c46f10833a538f56430ace1ebc434029cdb8c", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1032-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1033", + "sha256": "352af53a31d505f152bd00dac162362f5250a8f7f1cc8dc108515b26593c3186", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1033-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1034", + "sha256": "b796fe9dbc033c381a63804b5031fe2a912fbf0a6bb11ed67790001cf6b7060e", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1034-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1035", + "sha256": "e2c6b70c24315e34153cc3b677c792708af44780acc1c417ec62f2416c204abe", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1035-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1036", + "sha256": "9251f8f77ebf7946d42d0b69698777531e3a4bc4cf68918ccbd8fc5035a515b1", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1036-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1100", + "sha256": "5ee9705794d17f394f87f591eee737118b9cf154878137cc6804d0e4cf128c31", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1100-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1101", + "sha256": "b696217f9b6bc7a6828df270e7ccc53a897b1d746f0e1c9685eea9e29b830961", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1101-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1102", + "sha256": "de977f56fe0e05f5d54ae44e9484c866bc4cd93848c40f84062e32955547ffa5", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1102-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1103", + "sha256": "4c262ad92585c700a0f6841ee820a7d7a4fd707d4846cd40e6ad5220f74a0133", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1103-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1150", + "sha256": "b5d423ffd5e5553cd16b086e02be3fc51ba037f96e0b182ec10d7c3bf6bb73d8", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1150-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1151", + "sha256": "8bcf37440d304909fe74f329d14e075977d469b0114538e5d901d1d35952a1cf", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1151-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1152", + "sha256": "194e67cddd6157c183b568dbd1e8895e9c1de8d24e1486706a5bf9e173b40af4", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1152-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1153", + "sha256": "61d93b8530a8f54dbcc42c5bafede3373adcdcc19ebd9622b4188b262bd26744", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1153-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1200", + "sha256": "c79e6b4df75b24373d6f066e9fe65a99e70f80cb6fe0ad82ea23a7caa7d14725", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1200-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1201", + "sha256": "da322747059703a522dc3c2f278476d124165536cca92ea3d8690856bce1ff97", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1201-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx1250", + "sha256": "ed22a5ebdc99b39de0bfd7faa52cd2a08ddcc7ae8a8ad6d271c1ae967706ecde", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx1250-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx908", + "sha256": "3ad19e33dd42026cc898a8f8c26f4d6e88a87bad37f2f332ffe504ec541c382e", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx908-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx90a", + "sha256": "51a984cf124c3b9f2da4a663b930ecac5aac290fcdf927c0fc4cd2fee7dfb0f8", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx90a-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx942", + "sha256": "2d42795c6473bbc7325430baca482f767fbbbf3acfacff905c0db77c871468ee", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx942-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-hiptensor7.14-gfx950", + "sha256": "640b41e3983588ebeb5643280120181a8d8562010776baa0e9e73b3e9d69d9e2", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-hiptensor7.14-gfx950-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-jpeg": { + "deps": [ + "amdrocm-runtime", + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-jpeg-devel7.14", + "sha256": "26b59bcfe04763e7c67fce91f7de4ae2ed4f33c342ad14d0636690faad424980", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-jpeg-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-jpeg7.14", + "sha256": "7b3424900a9d591490a2ee5ba6f76cc367db8d48ede90c1369ee1225d12f1edc", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-jpeg7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-math-common": { + "deps": [], + "components": [ + { + "name": "amdrocm-math-common7.14", + "sha256": "d3bdbd3132d82fddb5b9a4d379f6ded905ae6f3d81c17f8da0da641ebe440dbb", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-math-common7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-opencl": { + "deps": [ + "amdrocm-runtime", + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-opencl-devel7.14", + "sha256": "722168087c1449edee349eb31190f2de9e08abca5ad5f655fde87aaba950a693", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-opencl-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-opencl7.14", + "sha256": "b7c3fc56cea3c6b240b6e646f761537c22261c6eab11592d6721d1a73022029c", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-opencl7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-profiler": { + "deps": [ + "amdrocm-amdsmi", + "amdrocm-profiler-base", + "amdrocm-runtime", + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-profiler7.14", + "sha256": "da04641d201ceb1258703347a12f0a17c25a7ec5fe999a4b0f00f3c3bb9b211a", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-profiler7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-profiler-base": { + "deps": [ + "amdrocm-runtime", + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-profiler-base7.14", + "sha256": "d1f83df763e5676c8210a1ab3df64cf0dae110cc769a72a17a5d9bfa80190fb7", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-profiler-base7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-rand": { + "deps": [ + "amdrocm-runtime" + ], + "components": [ + { + "name": "amdrocm-rand-devel7.14", + "sha256": "0c4e33e0bf3532a6fe5a823bfd12216b75efa81bd2b90e36c5bad968e408919b", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand-host7.14", + "sha256": "7970d593ede318dfe5f17072ad5cfa2a809b47b2059263780e646cb5ee5ea715", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand-host7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14", + "sha256": "5f2643fac1eb489710833aeec514ce3e2f31d9a6b1e3d3cc6c4765c48d8e4bec", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1010", + "sha256": "0f6fbcc922e47956e2a22ebba56b5597c69b42ebe59be9352774c2bd85e3bf37", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1010-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1011", + "sha256": "d9e7d38e8a9f04e398cc32e93fa7e68a23598fd48e380981faf54e086c4a6f3f", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1011-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1012", + "sha256": "2bd8be964cb54249f7f0b236ba929696a33802f6e0a2a6af0d60e9b3fdd5b756", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1012-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1030", + "sha256": "4ea57280d31e8d2302d8c1e543bb18928e3b63cef68d014663a34b26ac21a535", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1030-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1031", + "sha256": "8ada5a65754376d43e6c1d5574cd03481206c30651338125b030bcad4d4c36b4", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1031-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1032", + "sha256": "5879d58bf581a09c7f306236d64438f90fea390d45e6a1f5e76185924751e195", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1032-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1033", + "sha256": "59e9d41fd4c5aefbdb0f6383aa39681f81cd8d547072adc96a079474d722c90d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1033-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1034", + "sha256": "4510d85420d0db25535807672e50f02ecaba70aa6b736416f10f2378603a36ca", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1034-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1035", + "sha256": "578f5cbcaff39359895739144f47e14d81dc45d84626231b492e3aa703e9ed51", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1035-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1036", + "sha256": "29ef2dc0796e577f4003a60ac0912b4a782db4d5d9f059edf2d071bcd3696b4d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1036-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1100", + "sha256": "b8e10ad246c3f14c838a908bd2cef207e2a9321643d1df512d3b409d633a097a", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1100-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1101", + "sha256": "2e36b7342c342f1c11e316c870e147ad135e4cee76ab9dd1cc0364fd36fa511f", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1101-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1102", + "sha256": "889f2db084a1367a36873524c3bdc3434eb5ccf0d8f5b89b9d35effd10c1c71f", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1102-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1103", + "sha256": "9073c722cbabd617c6899e1b49e2282ed75732ff0d691a9194e3208b068e9f1f", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1103-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1150", + "sha256": "1fa53404d9910960fd1172e594cd0915cf9d8b52127c6cadebe31cc6caeb1995", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1150-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1151", + "sha256": "75526588b07181bf36e4eaa8df61bb1d01d2db93e1987890b4f4f158cc9446f1", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1151-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1152", + "sha256": "c8a380823e688e11a0ca5aa374286bf1ca23c9a69581470fdd7ec415d8a86e9c", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1152-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1153", + "sha256": "3278f52b0a2129cb4ad8234b73497eded645f8b8ff6fa9c173c08fe6606b6519", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1153-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1200", + "sha256": "c46ddcc27bcfd68f0533a59ebaae4c62134c752a3cd39561de58503365263b11", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1200-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1201", + "sha256": "5ea91771de9cabe35092c286a587d0a0e19e75c853e9349d1ee1b1efd6ef82c8", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1201-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx1250", + "sha256": "fe033ad7a1798e0de493bd08aba05936e51e738ad6773959316ed9ba57f6ed21", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx1250-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx908", + "sha256": "a46326451238315b61a1c4c9ebdd5e5d9b77eea3a70fcb2a6bdf1b820f3d353d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx908-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx90a", + "sha256": "8e04d5a3a3603e8f2f77e74360cb44f36c22d54786e806b4733e6f90db84c869", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx90a-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx942", + "sha256": "aed5adb66e4a72d5be8e1ee41737cf0bc07f3fe6d92f5c5955b1a58fe1f4e852", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx942-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rand7.14-gfx950", + "sha256": "b3dbb77b6d4682599f51205d0fdc56bcedfa01afc37dd80b53775809dd5245c0", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rand7.14-gfx950-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-rccl": { + "deps": [ + "amdrocm-amdsmi", + "amdrocm-profiler-base", + "amdrocm-runtime" + ], + "components": [ + { + "name": "amdrocm-rccl-devel7.14", + "sha256": "4c79a40c09f45ce7c5e45de12e21150e6c86102093d2590269ead277dabc86fb", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl-host7.14", + "sha256": "c33843bff32ce422a151c41af94b5549007cdfcb1b08cbb391678efc11c01d84", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl-host7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14", + "sha256": "4ce36a4ba16956302510c908e02809d66f8d9692ae74615d53078d00c414466b", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1010", + "sha256": "2091c420671883cebe0a59df4af56d622cf2caaba41e57a551d8ca0e4b2025b0", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1010-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1011", + "sha256": "d1ce48d55ed1e4da9e57d2ae43113a4ebb341c560622429e97a0852574987d6a", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1011-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1012", + "sha256": "615096b8fe760c7e46c1c74c6cfaaae28364dc34d073baf1946382cdedee0beb", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1012-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1030", + "sha256": "d13024336359e49f6b8c82a53b72d4cc61d7045438913012d28595b135042e74", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1030-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1031", + "sha256": "6de4611ce132b89008123a6452c23c14670c5a9f1117e0c88a4fcb65152cf032", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1031-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1032", + "sha256": "47d973670dbde4ffd5658ea06f0310e9284cd6b3cccf98a644804a153d99fc8a", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1032-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1033", + "sha256": "6327d3218c0459a6f14b4b350c76924323e78cb32bb922558a8dffc9337b5846", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1033-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1034", + "sha256": "748ae37a6e1d9e414330f83509735f43a5ad473e1b132b00d846e66de7d86436", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1034-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1035", + "sha256": "c798eb8498c1073154025a2823eae66c5afdb3c2fe668193aa049f93568ba8b9", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1035-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1036", + "sha256": "80ffc670fe5feefc3764e067831edd6a9b073aaa9b0d44f603eeb75a8a9a144d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1036-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1100", + "sha256": "35e9df288bc3964302c053adc87acb63d20cbb11cdf5f24e99a2bd823ac0c1cd", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1100-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1101", + "sha256": "48f899dab7ce1fd5e3061e0c44ca4c863f2fb3e93b4a673548ec3c086d17ee82", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1101-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1102", + "sha256": "83a288eb74870c6c9fa0c1ec248b454bdefa11141893b90e99bc1b1ed5209433", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1102-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1103", + "sha256": "6b84431ab3e87f73c9bdec2f6b461ab90d120227a76d7833f976aa328cb95dcd", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1103-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1150", + "sha256": "627a9fc93ed1469f24fdfd54f6fc0a21b4bc77abdad13080e5c9db8a033a37f8", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1150-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1151", + "sha256": "d0b67c9a4c03792ed1a30b48554f6059ba8ebba600e090c29c94392397a7822a", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1151-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1152", + "sha256": "d5adc654f8195e941e74fce91839f48bf1233af920466f2caf2735c269dc444e", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1152-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1153", + "sha256": "011e561fb799dc77da95cbd507c7fa3c010dbaa0798b2f060811d38af5467a11", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1153-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1200", + "sha256": "2d0ee884af056e15ed7b565cd30b4926871e962967a83186c7d30cc66ae6eb1b", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1200-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1201", + "sha256": "7b5bd58ec71b8f8ff3491b6111e7ed3e86874f9f4caae153acc601b77c20a313", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1201-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx1250", + "sha256": "85af48432bd9b80945b2c255222e9d4330a50e43ec2a9d79daa432b628e78573", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx1250-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx908", + "sha256": "899d8f83e1bbac06f0f685286ec4a0cd581c508423c7bec3ed32f653ec841218", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx908-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx90a", + "sha256": "fce90da5032f28cd76861f4203116e2787cf7360fd929d7315e0fd8b7811283c", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx90a-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx942", + "sha256": "c03512fa70681c27d3e007fb8d50e0f1730a6692b878be36969006cb4a30c15e", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx942-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rccl7.14-gfx950", + "sha256": "23e81964f338be3bb65baf8c9cb9c01ae711f8a1adfeb33ba02419097c4ec0e5", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rccl7.14-gfx950-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-rdc": { + "deps": [ + "amdrocm-amdsmi", + "amdrocm-profiler-base", + "amdrocm-runtime", + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-rdc7.14", + "sha256": "b0b75cdcc7fa1c7d7243970dd37b6e6e7c679e8ebeb2d51ffc869afacb8684b1", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rdc7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-rocalution": { + "deps": [ + "amdrocm-blas", + "amdrocm-rand", + "amdrocm-runtime" + ], + "components": [ + { + "name": "amdrocm-rocalution-devel7.14", + "sha256": "40bccb4afc6c556ab693d058d9bbbe84251ed67580159fff717a2e322c34b5e0", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution-host7.14", + "sha256": "6ab1606075dca13f2aa3b67675838673b944b4c7f401142ccbf99171042920e9", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution-host7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14", + "sha256": "7d96b527a5dbdb6266054afc89a05bc6bb5719bdac17ea6fc40d1ba9f5b0e162", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1010", + "sha256": "03fc92720879c80103d535e376aebe0259a5270c0aa2cdfbbe6aa8c5cb1b951d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1010-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1011", + "sha256": "b8e52b336e1309613fbb3a280f63f12f9aa81c11683a313917a04c76dcc95b33", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1011-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1012", + "sha256": "3ca423f25d08f334d5c32f8d614b928bab7c69bfc77f9be7582afbebf83f4dd4", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1012-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1030", + "sha256": "5080eb55327eb1c56d71ec683da1d2596216348bd21a355ded55fb7adf7ac05d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1030-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1031", + "sha256": "bbcdd9f1f3ec55ea6d85653ce39cdd3e853f4984e8767b4a30a05d185b53db40", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1031-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1032", + "sha256": "42cb84bb88ca38ae40a4d6925ca90304777eb16f161a261451744ed0c16f878f", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1032-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1033", + "sha256": "9bce5b46f780eb89b628aa5c8dc6f7210d34dd45529f6c6a9df554eb270986bd", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1033-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1034", + "sha256": "7d703ff5c91acb928ad5bacdf242bcef3c5138848ff9d9fd52ff6815a358c5cf", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1034-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1035", + "sha256": "fe7ccb3f6898b356a5ad1af91af4f0a2da25743a0a422b9cc040be4e1d9a7718", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1035-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1036", + "sha256": "1386c393ea472ddb01b13af9c35a5c6367e92539f5f68e0e7ab95a35000075eb", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1036-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1100", + "sha256": "c5678389fddd1431c0086a453408719b0f95ef61ab4198fd6bef1e11ada3ccdd", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1100-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1101", + "sha256": "df00712d45748e533628195cbc49489d6612edadefb03379b2647b0b54952d7e", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1101-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1102", + "sha256": "5a53114db872dfb0a029f45b39bfad0baaaa4beb0d9401869fef8947d678e1fa", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1102-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1103", + "sha256": "912ff94b33318ecf602167a24cc1cb84f5c884cd3d66ac91f8b716f80d224732", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1103-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1150", + "sha256": "d7f6846dbc567a7ba9b0f3325c3c4006c8b5fe1123118192a3d18450c65987bf", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1150-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1151", + "sha256": "5db8bda3395d034eca6ea28a4e9e2c4ae60c05f5b87791375c9f18ea93523494", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1151-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1152", + "sha256": "6b238394c86fa1ede1cc9d1b7088c547d12bfe4b6f44978bd4a0a29f287591f3", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1152-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1153", + "sha256": "46f3f533764d6d9531cf1cb24e7a7024eb3a4fb78b6d252478d284e3f792c8e4", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1153-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1200", + "sha256": "bc39b825cd4475dc82d613e7334e7135c4fd41851c6d9338a9aaf8ab53a8d345", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1200-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1201", + "sha256": "0c8e14be99dbe72ff3991d0d501bbd1121b71705d32e6c87ec11a07982533137", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1201-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx1250", + "sha256": "018d1712a25ebdc42b69ea0e702538180032a9560f81d00db6307bd7ea1180e6", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx1250-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx908", + "sha256": "6cf036137071f56426580da9019140f813fbb0612b2a6cd84e3719cc9c57cc54", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx908-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx90a", + "sha256": "4f709dc19a9d55ee02d1a46ae203b55fff32caabd8378c3b23a62d118f683e36", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx90a-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx942", + "sha256": "4f5928c437aa8bf31f7609bc1060ea4d7efd911083954cb3e0c1dd9c6ee62743", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx942-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocalution7.14-gfx950", + "sha256": "0f38403b7162c3c372bbbedbf1603b0023d61ba1e953312871a5ae9d0721aa52", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocalution7.14-gfx950-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-rocshmem": { + "deps": [ + "amdrocm-runtime" + ], + "components": [ + { + "name": "amdrocm-rocshmem-devel7.14", + "sha256": "400c44b0295f792064376424aaf7b36b2e872985b30a4f33ba31f7818d229587", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocshmem-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-rocshmem7.14", + "sha256": "bce14bc786aa942f23ba88bb8106ba5ce9f1ba8d0efc7ff203162084051924e9", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-rocshmem7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-runtime": { + "deps": [ + "amdrocm-sysdeps" + ], + "components": [ + { + "name": "amdrocm-base7.14", + "sha256": "a76d3a4415d7f5b6d68e87e73e2fccdb1af471011ab39a767bbf49188f09e0cc", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-base7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-llvm-devel7.14", + "sha256": "cc5ab2b6a36f5dd3812a2b7dda537374130dfd87ad6c6f8585d402adda7520cc", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-llvm-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-llvm7.14", + "sha256": "692efce1cab5c235b412ef6eead3baf40bc1f027b8f61179bf11388dc3c5d331", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-llvm7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-runtime-devel7.14", + "sha256": "527a6cb6bb0035fc94437d33af737b07ec101ffa079b3b841cc66ed58b642d1d", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-runtime-devel7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + }, + { + "name": "amdrocm-runtime7.14", + "sha256": "633695e126535029f740a8dbfb6822e3435e380863b6b6e7470f4e22cf238eb8", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-runtime7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + }, + "amdrocm-sysdeps": { + "deps": [], + "components": [ + { + "name": "amdrocm-sysdeps7.14", + "sha256": "6756d5452ce657b484e29216ea21d356b863700097bff53a55d33f374edcd608", + "url": "https://repo.amd.com/rocm/packages-multi-arch/rhel8/x86_64/amdrocm-sysdeps7.14-7.14.1-0.x86_64.rpm", + "version": "7.14.1" + } + ], + "version": "7.14.1" + } +} diff --git a/nix-builder/pkgs/rocm-packages/mk-packages.nix b/nix-builder/pkgs/rocm-packages/mk-packages.nix index c184f7b0..4316ec43 100644 --- a/nix-builder/pkgs/rocm-packages/mk-packages.nix +++ b/nix-builder/pkgs/rocm-packages/mk-packages.nix @@ -15,14 +15,19 @@ let composed = composeManyExtensions [ # Hooks (import ./hooks.nix) + (callPackage ./patchelf.nix { }) # Base package set. (import ./components.nix) # Overrides (adding dependencies, etc.) (import ./overrides.nix) # Compiler toolchain. (callPackage ./llvm.nix { }) - # Packages that are joins of other packages. - (callPackage ./joins.nix { }) + # ROCm compilation toolchain. + (final: prev: { + clr = final.callPackage ./clr.nix { + inherit (final.llvm) clang; + }; + }) # Add aotriton (final: prev: { inherit (final.callPackage ../aotriton { }) @@ -32,6 +37,11 @@ let aotriton_0_13 ; }) + # Remove once the old package set is gone. + (final: prev: { + theRock = true; + version = final.amdrocm.version; + }) ]; in lib.makeScope newScope (extends composed fixedPoint) diff --git a/nix-builder/pkgs/rocm-packages/overrides.nix b/nix-builder/pkgs/rocm-packages/overrides.nix index 16182f4a..e76e591e 100644 --- a/nix-builder/pkgs/rocm-packages/overrides.nix +++ b/nix-builder/pkgs/rocm-packages/overrides.nix @@ -4,255 +4,75 @@ let prev.lib.mapAttrs (name: value: prev.${name}.overrideAttrs (final.callPackage value { })) overrides; in applyOverrides { - comgr = + amdrocm-hipify = { - ncurses, - zlib, - zstd, + amdrocm-runtime, }: prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ - ncurses - zlib - zstd - ]; - }; - - hipblas = - { - lib, - hipblas-common-devel ? null, - }: - prevAttrs: { - propagatedBuildInputs = prevAttrs.buildInputs ++ [ hipblas-common-devel ]; - }; - - hipblaslt = - { hip-runtime-amd }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ hip-runtime-amd ]; - }; - - hipify-clang = - { - ncurses, - zlib, - zstd, - }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ - ncurses - zlib - zstd - ]; - }; - - hiprand = - { hip-runtime-amd, rocrand }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ - hip-runtime-amd - rocrand - ]; - }; - - openmp-extras-devel = - { ncurses, zlib }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ - ncurses - zlib - ]; - }; - - openmp-extras-runtime = - { rocm-llvm }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ - rocm-llvm - ]; - # Can we change rocm-llvm to pick these up? - installPhase = (prevAttrs.installPhase or "") + '' - addAutoPatchelfSearchPath ${rocm-llvm}/lib/llvm/lib - - # Requires Python 3.12. - rm -f $out/lib/llvm/share/gdb/python/ompd/ompdModule.so - ''; - }; - - hipsolver = - { - lib, - suitesparse, - }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ - suitesparse - ]; - }; - - hipsparselt = - { hip-runtime-amd, roctracer }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ - hip-runtime-amd - roctracer - ]; - }; - - hsa-rocr = - { - elfutils, - libdrm, - numactl, - }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ - elfutils - libdrm - numactl - ]; - }; - - rccl = - { roctracer }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ roctracer ]; + buildInputs = prevAttrs.buildInputs ++ [ amdrocm-runtime ]; }; - rocfft = - { hip-runtime-amd }: + amdrocm-sysdeps = + { }: prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ hip-runtime-amd ]; - }; - - rocm-llvm = - { - hsa-rocr, - libxml2, - ncurses, - zlib, - zstd, - }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ - hsa-rocr - libxml2 - ncurses - zlib - zstd - ]; - - installPhase = (prevAttrs.installPhase or "") + '' - # Dead symlink(s). - chmod -R +w $out/lib - rm -f $out/lib/llvm/bin/flang + postInstall = (prevAttrs.postInstall or "") + '' + for f in $out/lib/rocm_sysdeps/lib/*; do + ln -s "$f" "$out/lib/$(basename "$f")" + done ''; }; - rocm-gdb = + amdrocm-debugger = { - expat, + amdrocm-runtime, libxcrypt-legacy, - ncurses, python311, python312, python313, - xz, + python314, }: prevAttrs: { buildInputs = prevAttrs.buildInputs ++ [ - expat + amdrocm-runtime libxcrypt-legacy python311 python312 python313 - ncurses - xz - ]; - }; - - rocm-smi-lib = - { libdrm, valgrind }: - prevAttrs: { - postInstall = (prevAttrs.postInstall or "") + '' - substituteInPlace \ - $out/lib/cmake/rocm_smi/rocm_smiTargets.cmake \ - --replace-fail "/usr/include/libdrm" "${libdrm.dev}/include/libdrm" \ - --replace-fail "/usr/include/valgrind" "${valgrind.dev}/include/valgrind" - ''; - - }; - - rocminfo = - { python3 }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ python3 ]; - }; - - rocprofiler = - { comgr, hsa-amd-aqlprofile }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ - comgr - hsa-amd-aqlprofile + python314 ]; }; - rocprofiler-sdk = + amdrocm-blas = { - comgr, - elfutils, - hsa-amd-aqlprofile, - libdrm, - sqlite, + suitesparse, + fetchFromGitHub, + cmake, }: prevAttrs: { buildInputs = prevAttrs.buildInputs ++ [ - comgr - elfutils - hsa-amd-aqlprofile - libdrm - sqlite + (suitesparse.overrideAttrs (old: { + version = "7.11.0"; + src = fetchFromGitHub { + owner = "DrTimothyAldenDavis"; + repo = "SuiteSparse"; + rev = "v7.11.0"; + hash = "sha256-8CnN2P/W15GpK0nCNoRQongOrzcz5E8l9SgKksqLxd0="; + }; + nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ cmake ]; + preConfigure = null; + makeFlags = null; + buildFlags = null; + cmakeFlags = [ "-DSUITESPARSE_ENABLE_PROJECTS=cholmod" ]; + outputs = [ "out" ]; + })) ]; }; - rocprofiler-sdk-rocpd = + amdrocm-dnn = { - comgr, - elfutils, - hsa-amd-aqlprofile, - libdrm, - sqlite, + amdrocm-rand, }: prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ - comgr - elfutils - hsa-amd-aqlprofile - libdrm - sqlite - ]; - }; - - rocrand = - { hip-runtime-amd }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ hip-runtime-amd ]; - }; - - rocsparse = - { roctracer }: - prevAttrs: { - buildInputs = prevAttrs.buildInputs ++ [ roctracer ]; - }; - - roctracer = - { comgr, hsa-rocr }: - prevAttr: { - buildInputs = prevAttr.buildInputs ++ [ - comgr - hsa-rocr - ]; + buildInputs = prevAttrs.buildInputs ++ [ amdrocm-rand ]; }; } diff --git a/nix-builder/pkgs/rocm-packages/patchelf.nix b/nix-builder/pkgs/rocm-packages/patchelf.nix new file mode 100644 index 00000000..df1a5507 --- /dev/null +++ b/nix-builder/pkgs/rocm-packages/patchelf.nix @@ -0,0 +1,42 @@ +{ + stdenv, + cmake, + fetchFromGitHub, + patchelf, + autoPatchelfHook, +}: + +# patchelf from nixpkgs returns errors on ROCm shared libraries ("section +# content is not naturally aligned") while still writing out a file. The +# resulting file's PHDR segment is no longer covered by a LOAD segment, +# causing segfaults on dlopen. See: +# +# https://github.com/ROCm/TheRock/issues/6712 +# +# The patchelf 0.19.x fixes this corruption, but also added a stricter +# alignment check that hard-errors on the ROCm libraries. So we use +# patchelf 0.18 with a post-release fix for this issue. +final: prev: { + patchelf = stdenv.mkDerivation { + pname = "patchelf"; + version = "0.18.0-d0f70ee"; + + src = fetchFromGitHub { + owner = "NixOS"; + repo = "patchelf"; + # Version pinned by TheRock to fix corruption of dylibs. + rev = "d0f70eea5397606c486857e0a105e53ec123904a"; + hash = "sha256-CWAlYVtcswIpOZj5Qyxswsy1pAnPUTTUDapJO9ar0Mc="; + }; + + nativeBuildInputs = [ cmake ]; + setupHook = patchelf.setupHook; + }; + + # autoPatchelfHook does not take patchelf as an argument. So we override + # autoPatchelfHook to propagate our patchelf so that it ends up in PATH + # before patchelf from stdenv. + autoPatchelfHook = autoPatchelfHook.overrideAttrs (old: { + propagatedBuildInputs = (old.propagatedBuildInputs or [ ]) ++ [ final.patchelf ]; + }); +} diff --git a/nix-builder/pkgs/rocm-packages/rhel2nix.py b/nix-builder/pkgs/rocm-packages/rhel2nix.py index cfd9576f..aa47ff70 100644 --- a/nix-builder/pkgs/rocm-packages/rhel2nix.py +++ b/nix-builder/pkgs/rocm-packages/rhel2nix.py @@ -2,16 +2,18 @@ import argparse import json +import re import sys import gzip import xml.etree.ElementTree as ET -from typing import Set +from typing import Dict, List, Optional, Set from urllib.parse import urljoin from urllib.request import urlopen -BASEURL = "https://repo.radeon.com/rocm/rhel{rhel_version}/{version}/main/" +BASEURL = "https://repo.amd.com/rocm/packages-multi-arch/rhel{rhel_version}/{arch}/" RHEL_VERSIONS = ["8", "9"] +ARCHES = ["x86_64"] # XML namespaces used in RPM repo metadata RPM_NAMESPACES = { @@ -21,17 +23,43 @@ REPOMD_NAMESPACES = {"repo": "http://linux.duke.edu/metadata/repo"} +# Suffix marking per-GPU-target subpackages, e.g. amdrocm-blas7.14-gfx942. +GFX_SUFFIX = re.compile(r"-gfx\d+[a-z0-9]*$") + +# Pure dependency-tier metapackages. Not emitted; their dependencies are +# spliced through to dependents. +TRANSPARENT_BUNDLES = { + "amdrocm-core", + "amdrocm-core-devel", + "amdrocm-core-sdk", + "amdrocm-hpc", + "amdrocm-hpc-sdk", +} + +# Groups of bundles with genuine link-level cyclic dependencies (proven from +# soname requires in primary.xml; see HANDOFF.md "Known problem"). nix +# buildInputs cannot express a cycle, so each group is unioned into a single +# manifest entry, keyed by its first (canonical) member, before dependency +# resolution runs. Internal cross-references between merged members then +# collapse to self-edges and are dropped like any other self-dependency. +MERGE_GROUPS: List[List[str]] = [ + ["amdrocm-runtime", "amdrocm-base", "amdrocm-llvm"], + ["amdrocm-blas", "amdrocm-solver", "amdrocm-sparse"], +] + parser = argparse.ArgumentParser(description="Parse ROCm RHEL repository") -parser.add_argument("version", help="ROCm version") +parser.add_argument("version", help="ROCm version, e.g. 7.14.1") parser.add_argument( "--rhel-version", help="RHEL version", choices=RHEL_VERSIONS, default="8" ) +parser.add_argument( + "--arch", help="Repository architecture", choices=ARCHES, default="x86_64" +) class Package: - def __init__(self, package_elem, rhel_version: str, base_url: str): + def __init__(self, package_elem, base_url: str): self._elem = package_elem - self._rhel_version = rhel_version self._base_url = base_url # Parse package metadata. @@ -56,28 +84,15 @@ def __init__(self, package_elem, rhel_version: str, base_url: str): def __str__(self): return f"{self._name} {self._version}" - def depends(self, version: str) -> Set[str]: - """Extract dependencies, filtering for ROCm packages""" - deps = set() - - # Find requires entries in RPM format + def requires(self) -> List[str]: + """Raw requires entries from the RPM metadata.""" + deps = [] format_elem = self._elem.find("common:format", RPM_NAMESPACES) if format_elem is not None: requires_elem = format_elem.find("rpm:requires", RPM_NAMESPACES) if requires_elem is not None: for entry in requires_elem.findall("rpm:entry", RPM_NAMESPACES): - dep_name = entry.get("name", "") - # Filter out system dependencies and focus on package names - if ( - dep_name - and not dep_name.startswith("/") - and not dep_name.startswith("rpmlib(") - ): - # Remove any version suffix that matches the ROCm version - if dep_name.endswith(version): - dep_name = dep_name[: -len(version)] - deps.add(dep_name) - + deps.append(entry.get("name", "")) return deps @property @@ -90,19 +105,11 @@ def sha256(self) -> str: @property def version(self) -> str: - # Remove RHEL-specific version suffix (e.g., .el8) - version = self._version - if f".el{self._rhel_version}" in version: - version = version.split(f".el{self._rhel_version}")[0] - return version - - @property - def filename(self) -> str: - return f"{self._name}-{self._version}-{self._release}.{self._arch}.rpm" + return self._version @property def url(self) -> str: - return self._location + return urljoin(self._base_url, self._location) def fetch_and_parse_repodata(repo_url: str): @@ -147,9 +154,9 @@ def fetch_and_parse_repodata(repo_url: str): sys.exit(1) -def package_info(*, rhel_version: str, version: str): +def package_info(*, rhel_version: str, arch: str): """Generator that yields Package objects from the RHEL repository""" - repo_url = BASEURL.format(rhel_version=rhel_version, version=version) + repo_url = BASEURL.format(rhel_version=rhel_version, arch=arch) metadata = fetch_and_parse_repodata(repo_url) @@ -157,94 +164,185 @@ def package_info(*, rhel_version: str, version: str): for package_elem in metadata.findall( './/common:package[@type="rpm"]', RPM_NAMESPACES ): - yield Package(package_elem, rhel_version, repo_url) + yield Package(package_elem, repo_url) + + +def major_minor(version: str) -> str: + """'7.14.1' -> '7.14' (the suffix used in versioned package names).""" + return ".".join(version.split(".")[:2]) def __main__(): args = parser.parse_args() - packages = {} + version_mm = major_minor(args.version) print( - f"Fetching ROCm {args.version} packages for RHEL {args.rhel_version}...", + f"Fetching ROCm {args.version} packages for RHEL {args.rhel_version} ({args.arch})...", file=sys.stderr, ) - for pkg in package_info(rhel_version=args.rhel_version, version=args.version): - if "debuginfo" not in pkg.name and "debugsource" not in pkg.name: - packages[pkg.name] = pkg + # Select the packages that belong to the requested ROCm version. The + # multi-arch repo serves several versions from one URL. + packages = {} + available_versions = set() + for pkg in package_info(rhel_version=args.rhel_version, arch=args.arch): + available_versions.add(pkg.version) + if pkg.version != args.version: + continue + if "debuginfo" in pkg.name or "debugsource" in pkg.name: + continue + packages[pkg.name] = pkg + + if not packages: + print( + f"No packages found for version {args.version}. " + f"Available versions: {', '.join(sorted(available_versions))}", + file=sys.stderr, + ) + sys.exit(1) print(f"Found {len(packages)} packages", file=sys.stderr) - filtered_packages = {} - # Filter dupes like hip-devel vs. hip-devel6.4.1 - for name, info in packages.items(): - if name.endswith(args.version): - name_without_version = name[: -len(args.version)] - if name_without_version not in packages: - filtered_packages[name_without_version] = info - else: - filtered_packages[name] = info - packages = filtered_packages - - print(f"After filtering duplicates: {len(packages)} packages", file=sys.stderr) - - # First pass: Find -devel and -rpath packages that should be merged. - dev_to_merge = {} - for name in packages.keys(): - if name.endswith("-devel") and name[:-6] in packages: - dev_to_merge[name] = name[:-6] - elif name.endswith("-devel-rpath") and name[:-12] in packages: - dev_to_merge[name] = name[:-12] - elif name.endswith("-rpath") and name[:-6] in packages: - dev_to_merge[name] = name[:-6] - - print(f"Found {len(dev_to_merge)} packages to merge", file=sys.stderr) - - # Second pass: get ROCm dependencies and merge -devel packages. + def strip_suffixes(name: str) -> str: + """Reduce a package name to its bundle base. + + amdrocm-blas7.14-gfx942 -> amdrocm-blas7.14 -> amdrocm-blas + """ + base = GFX_SUFFIX.sub("", name) + if base.endswith(version_mm): + base = base[: -len(version_mm)] + return base + + # Drop unversioned alias packages (amdrocm-blas -> amdrocm-blas7.14, + # amdrocm-core-gfx942 -> amdrocm-core7.14-gfx942): the unversioned + # names are 1-file aliases; the versioned names are real. + def is_alias(name: str) -> bool: + base = GFX_SUFFIX.sub("", name) + if base.endswith(version_mm): + return False + return f"{base}{version_mm}" in packages + + aliases = [name for name in packages if is_alias(name)] + for name in aliases: + del packages[name] + print(f"Dropped {len(aliases)} unversioned alias packages", file=sys.stderr) + + # Group packages into bundles. + bundles: Dict[str, List[Package]] = {} + for pkg in packages.values(): + bundles.setdefault(strip_suffixes(pkg.name), []).append(pkg) + + # Merge variant bundles into their base bundle: "-host" always (the + # base package is just a meta), "-devel" when the base exists. + for bundle in list(bundles): + target = None + if bundle.endswith("-host"): + target = bundle[: -len("-host")] + elif bundle.endswith("-devel") and bundle[: -len("-devel")] in bundles: + target = bundle[: -len("-devel")] + if target is not None and target in bundles: + bundles[target].extend(bundles.pop(bundle)) + + print(f"Grouped into {len(bundles)} bundles", file=sys.stderr) + + # Merge cyclic bundle groups (see MERGE_GROUPS above) into their + # canonical member, so the cycle never shows up in the manifest. + merge_target: Dict[str, str] = {} + for group in MERGE_GROUPS: + canonical = group[0] + for name in group: + merge_target[name] = canonical + if canonical not in bundles: + continue + for name in group[1:]: + if name in bundles: + bundles[canonical].extend(bundles.pop(name)) + print( + f"Merged cyclic bundle groups, {len(bundles)} bundles remain", + file=sys.stderr, + ) + + def normalize_dep(name: str) -> Optional[str]: + """Normalize a requires entry to a bundle name, or None to drop.""" + if not name or "(" in name or name.startswith("/"): + # System, soname, rpmlib and config() dependencies. + return None + base = strip_suffixes(name) + # Mirror the variant merging above. + if base.endswith("-host") and base[: -len("-host")] in bundles: + base = base[: -len("-host")] + elif base.endswith("-devel") and base[: -len("-devel")] in bundles: + base = base[: -len("-devel")] + # Redirect merged-away cyclic group members to their canonical name. + return merge_target.get(base, base) + + def dep_bundles(bundle: str, seen: Set[str]) -> Set[str]: + """Direct dependency bundles of a bundle, splicing through + transparent metapackage tiers.""" + deps = set() + for pkg in bundles.get(bundle, []): + for raw in pkg.requires(): + dep = normalize_dep(raw) + if not dep or dep == bundle or dep in seen: + continue + if dep in TRANSPARENT_BUNDLES: + deps |= dep_bundles(dep, seen | {bundle}) + elif dep in bundles: + deps.add(dep) + # Otherwise: a system dependency, not part of the repo. + return deps + + # Build the manifest, one entry per bundle. metadata = {} + for bundle in sorted(bundles): + if bundle in TRANSPARENT_BUNDLES: + continue + components = [ + { + "name": pkg.name, + "sha256": pkg.sha256, + "url": pkg.url, + "version": pkg.version, + } + for pkg in sorted(bundles[bundle], key=lambda p: p.name) + ] - # sorted will put -devel after non-devel packages. - for name in sorted(packages.keys()): - info = packages[name] - deps = { - dev_to_merge.get(dep, dep) - for dep in info.depends(args.version) - if dep in packages - } + # dep_bundles already splices through (and drops) transparent tiers. + deps = dep_bundles(bundle, {bundle}) - pkg_metadata = { - "name": name, - "sha256": info.sha256, - "url": urljoin( - BASEURL.format(rhel_version=args.rhel_version, version=args.version), - info.url, - ), - "version": info.version, + metadata[bundle] = { + "deps": deps, + "components": components, + "version": components[0]["version"] if components else args.version, } - if name in dev_to_merge: - target_pkg = dev_to_merge[name] - if target_pkg not in metadata: - metadata[target_pkg] = { - "deps": set(), - "components": [], - "version": info.version, - } - metadata[target_pkg]["components"].append(pkg_metadata) - metadata[target_pkg]["deps"].update(deps) - else: - metadata[name] = { - "deps": deps, - "components": [pkg_metadata], - "version": info.version, - } - - # Remove self-references and convert dependencies to list. - for name, pkg_metadata in metadata.items(): - deps = pkg_metadata["deps"] - deps -= {name, f"{name}-devel"} - deps -= {name, f"{name}-rpath"} - pkg_metadata["deps"] = list(sorted(deps)) + # Resolve dependency cycles (the new repo has them at the + # shared-library level, e.g. amdrocm-base -> amdrocm-runtime -> + # amdrocm-llvm -> amdrocm-runtime); nix buildInputs cannot be + # cyclic. Cyclic edges are dropped with a warning; see HANDOFF.md + # for the follow-up fix. + graph: Dict[str, List[str]] = {key: [] for key in metadata} + + def reaches(src: str, dst: str) -> bool: + stack, visited = [src], set() + while stack: + node = stack.pop() + if node == dst: + return True + if node not in visited: + visited.add(node) + stack.extend(graph.get(node, [])) + return False + + for key in sorted(metadata): + kept = [] + for dep in sorted(metadata[key]["deps"]): + if reaches(dep, key): + print(f"Breaking dependency cycle: {key} -> {dep}", file=sys.stderr) + else: + graph[key].append(dep) + kept.append(dep) + metadata[key]["deps"] = kept print(f"Generated metadata for {len(metadata)} packages", file=sys.stderr) print(json.dumps(metadata, indent=2)) diff --git a/nix-builder/versions.nix b/nix-builder/versions.nix index 9580b4a9..f4dcff92 100644 --- a/nix-builder/versions.nix +++ b/nix-builder/versions.nix @@ -209,17 +209,16 @@ systems = [ "x86_64-linux" ]; bundleBuild = true; } - #{ - # torchVersion = "2.14"; - # rocmVersion = "7.14"; - # systems = [ "x86_64-linux" ]; - # bundleBuild = true; - #} + { + torchVersion = "2.14"; + rocmVersion = "7.14"; + systems = [ "x86_64-linux" ]; + bundleBuild = true; + } { torchVersion = "2.14"; xpuVersion = "2026.1.0"; systems = [ "x86_64-linux" ]; bundleBuild = true; } - ]