Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
48ed59b
rocmPackages.hipfft: remove unneeded git dependency
LunNova Sep 21, 2025
61e4694
rocmPackages.rocdbgapi: remove unneeded git dependency
LunNova Sep 21, 2025
584aa42
rocmPackages.rocsparse: remove unneeded git dependency
LunNova Sep 21, 2025
5108240
rocmPackages.rocprofiler: remove unneeded git, systemd deps
LunNova Sep 21, 2025
5aad540
rocmPackages.rocmlir: remove unneeded git dependency
LunNova Sep 21, 2025
64d0f05
rocmPackages.rocblas: swap git for gitMinimal
LunNova Sep 21, 2025
e551468
rocmPackages.rocr-debug-agent: remove unneeded git dependency
LunNova Sep 21, 2025
e4020e3
rocmPackages.hipsparse: remove unneeded git dependency
LunNova Sep 21, 2025
f633166
rocmPackages.llvm: rename rocmcxx to rocm-toolchain
LunNova Sep 30, 2025
d481667
rocmPackages.rocalution: remove unneeded git dependency
LunNova Sep 21, 2025
645a298
rocmPackages.hipcc: don't depend on rocm-merged-llvm
LunNova Sep 24, 2025
766dabe
rocmPackages.ck4inductor: don't depend on rocm-merged-llvm
LunNova Sep 24, 2025
ded510a
rocmPackages.hipify: don't depend on rocm-merged-llvm
LunNova Sep 24, 2025
71f53a3
rocmPackages.rocm-device-libs: don't use rocm-merged-llvm, cleanup
LunNova Sep 24, 2025
d0194e2
rocmPackages.miopen: don't depend on rocm-merged-llvm
LunNova Sep 24, 2025
f08fc58
rocmPackages.clr: don't use rocm-merged-llvm
LunNova Sep 24, 2025
899fe31
rocmPackages.rocm-comgr: don't use rocm-merged-llvm
LunNova Sep 24, 2025
ed53bb6
rocmPackages.hipblaslt,rocblas: remove unused writableTmpDirAsHomeHook
LunNova Sep 24, 2025
92cd9fc
rocmPackages.composable_kernel: don't depend on rocm-merged-llvm
LunNova Sep 24, 2025
4e0bc1c
rocmPackages.rocm-runtime: prefer sysrooted clang over clang target
LunNova Sep 26, 2025
1d07058
rocmPackages.rocm-runtime: remove unneeded dependencies
LunNova Sep 24, 2025
00ec558
rocmPackages.rocm-merged-llvm: obliterate
LunNova Sep 24, 2025
209e382
rocmPackages.hipblaslt: provide llvm for find_package(LLVM)
LunNova Sep 24, 2025
a1fb89f
rocmPackages.rocprofiler: add llvm build input
LunNova Sep 24, 2025
bd0292c
magma: don't assume clr has a compiler linked
LunNova Sep 25, 2025
6fb5f7a
rocmPackages.llvm: reduce closure size by moving clang static libs to…
LunNova Sep 26, 2025
c1cfcf3
rocmPackages.rocm-path: drop
LunNova Sep 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions pkgs/by-name/ma/magma/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -203,8 +203,8 @@ stdenv.mkDerivation (finalAttrs: {
# Can't easily apply the PR as a patch because we rely on the tarball with pregenerated
# hipified files ∴ fetchpatch of the PR will apply cleanly but fail to build
(strings.cmakeFeature "ROCM_CORE" "${rocmPackages.clr}")
(strings.cmakeFeature "CMAKE_C_COMPILER" "${rocmPackages.clr}/bin/clang")
(strings.cmakeFeature "CMAKE_CXX_COMPILER" "${rocmPackages.clr}/bin/clang++")
(strings.cmakeFeature "CMAKE_C_COMPILER" "${rocmPackages.clang}/bin/clang")
(strings.cmakeFeature "CMAKE_CXX_COMPILER" "${rocmPackages.clang}/bin/clang++")
];

# Magma doesn't have a test suite we can easily run, just loose executables, all of which require a GPU.
Expand Down
25 changes: 21 additions & 4 deletions pkgs/development/rocm-modules/6/clr/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@
rocm-device-libs,
rocm-comgr,
rocm-runtime,
rocm-toolchain,
rocm-core,
roctracer,
rocminfo,
rocm-smi,
symlinkJoin,
numactl,
libffi,
zstd,
Expand All @@ -25,7 +27,7 @@
libxml2,
libX11,
python3Packages,
rocm-merged-llvm,
llvm,
khronos-ocl-icd-loader,
gcc-unwrapped,
writeShellScriptBin,
Expand All @@ -34,7 +36,20 @@

let
inherit (rocm-core) ROCM_LIBPATCH_VERSION;
hipClang = rocm-merged-llvm;
# HIP_CLANG_PATH or ROCM_PATH/llvm
# Note: relying on ROCM_PATH/llvm is bad for cross
hipClang = symlinkJoin {
name = "hipClang";
paths = [
# FIXME: if we don't put this first aotriton build fails with ld.lld: -flavor gnu
# Probably wrapper jank
llvm.bintools.bintools
llvm.rocm-toolchain
];
postBuild = ''
rm -rf $out/{include,lib,share,etc,nix-support,usr}
'';
};
hipClangPath = "${hipClang}/bin";
wrapperArgs = [
"--prefix PATH : $out/bin"
Expand Down Expand Up @@ -83,6 +98,7 @@ stdenv.mkDerivation (finalAttrs: {
];

buildInputs = [
llvm.llvm
numactl
libGL
libxml2
Expand All @@ -100,6 +116,7 @@ stdenv.mkDerivation (finalAttrs: {
rocm-comgr
rocm-runtime
rocminfo
hipClangPath
];

cmakeBuildType = "RelWithDebInfo";
Expand Down Expand Up @@ -162,7 +179,8 @@ stdenv.mkDerivation (finalAttrs: {
--replace-fail "install(PROGRAMS \''${HIPCC_BIN_DIR}/hipconfig.bat DESTINATION bin)" ""

substituteInPlace hipamd/src/hip_embed_pch.sh \
--replace-fail "\''$LLVM_DIR/bin/clang" "${hipClangPath}/clang"
--replace-fail "\''$LLVM_DIR/bin/clang" "${hipClangPath}/clang" \
--replace-fail "\''$LLVM_DIR/bin/llvm-mc" "${lib.getExe' llvm.bintools.bintools "llvm-mc"}"

substituteInPlace opencl/khronos/icd/loader/icd_platform.h \
--replace-fail '#define ICD_VENDOR_PATH "/etc/OpenCL/vendors/";' \
Expand Down Expand Up @@ -206,7 +224,6 @@ stdenv.mkDerivation (finalAttrs: {
ln -s ${rocm-core}/.info/ $out/.info

ln -s ${hipClang} $out/llvm
ln -s ${hipClang}/bin/{ld.lld,lld,clang-offload-bundler,llvm-objcopy,clang,clang++} $out/bin/
'';

disallowedRequisites = [
Expand Down
3 changes: 1 addition & 2 deletions pkgs/development/rocm-modules/6/composable_kernel/base.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
rocmUpdateScript,
cmake,
rocm-cmake,
rocm-merged-llvm,
llvm,
clr,
rocminfo,
python3,
Expand Down Expand Up @@ -85,7 +85,6 @@ stdenv.mkDerivation (finalAttrs: {
strictDeps = true;
enableParallelBuilding = true;
env.ROCM_PATH = clr;
env.HIP_CLANG_PATH = "${rocm-merged-llvm}/bin";

cmakeFlags = [
"-DCMAKE_MODULE_PATH=${clr}/hip/cmake"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
python,
composable_kernel,
lib,
rocm-toolchain,
setuptools,
setuptools-scm,
rocm-merged-llvm,
}:
buildPythonPackage {
pyproject = true;
Expand All @@ -25,7 +25,7 @@ buildPythonPackage {
propagatedBuildInputs = [
# At runtime will fail to compile anything with ck4inductor without this
# can't easily use in checks phase because most of the compiler machinery is in torch
rocm-merged-llvm
rocm-toolchain
];
checkPhase = ''
if [ ! -d "$out/${python.sitePackages}/ck4inductor" ]; then
Expand Down
43 changes: 22 additions & 21 deletions pkgs/development/rocm-modules/6/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@ let
buildTests = false;
buildBenchmarks = false;

rocmPath = self.callPackage ./rocm-path { };
rocmUpdateScript = self.callPackage ./update.nix { };

## ROCm ##
Expand All @@ -41,26 +40,19 @@ let
inherit (self) rocm-device-libs;
}
);
inherit (self.llvm) rocm-merged-llvm clang openmp;
inherit (self.llvm) rocm-toolchain clang openmp;

rocm-core = self.callPackage ./rocm-core { stdenv = origStdenv; };

rocm-cmake = self.callPackage ./rocm-cmake { stdenv = origStdenv; };

rocm-device-libs = self.callPackage ./rocm-device-libs {
stdenv = origStdenv;
inherit (llvm) rocm-merged-llvm;
};
rocm-device-libs = self.callPackage ./rocm-device-libs { };

rocm-runtime = self.callPackage ./rocm-runtime {
stdenv = origStdenv;
inherit (llvm) rocm-merged-llvm;
};

rocm-comgr = self.callPackage ./rocm-comgr {
stdenv = origStdenv;
inherit (llvm) rocm-merged-llvm;
};
rocm-comgr = self.callPackage ./rocm-comgr { };

rocminfo = self.callPackage ./rocminfo { stdenv = origStdenv; };

Expand All @@ -80,10 +72,7 @@ let

hip-common = self.callPackage ./hip-common { };

hipcc = self.callPackage ./hipcc {
stdenv = origStdenv;
inherit (llvm) rocm-merged-llvm;
};
hipcc = self.callPackage ./hipcc { stdenv = origStdenv; };

# Replaces hip, opencl-runtime, and rocclr
clr = self.callPackage ./clr { };
Expand All @@ -92,10 +81,6 @@ let

hipify = self.callPackage ./hipify {
stdenv = origStdenv;
inherit (llvm)
clang
rocm-merged-llvm
;
};

# hsakmt was merged into rocm-runtime
Expand Down Expand Up @@ -179,8 +164,7 @@ let
composable_kernel = self.callPackage ./composable_kernel { };

ck4inductor = pyPackages.callPackage ./composable_kernel/ck4inductor.nix {
inherit (self) composable_kernel;
inherit (llvm) rocm-merged-llvm;
inherit (self) composable_kernel rocm-toolchain;
};

half = self.callPackage ./half { };
Expand Down Expand Up @@ -432,6 +416,23 @@ let
};
}
// lib.optionalAttrs config.allowAliases {
rocmPath = throw ''
'rocm-path' has been removed. If a ROCM_PATH value is required in nixpkgs please
construct one with the minimal set of required deps.
For convenience use outside of nixpkgs consider one of the entries in
'rocmPackages.meta'.
''; # Added 2025-09-30

rocm-merged-llvm = throw ''
'rocm-merged-llvm' has been removed.
For 'libllvm' or 'libclang' use 'rocmPackages.llvm.libllvm/clang'.
For a ROCm compiler toolchain use 'rocmPackages.rocm-toolchain'.
If a package uses '$<TARGET_FILE:clang>' in CMake from 'libclang'
it may be necessary to convince it to use 'rocm-toolchain' instead.
'rocm-merged-llvm' avoided this at the cost of significantly bloating closure
size.
''; # Added 2025-09-30

hsa-amd-aqlprofile-bin = lib.warn ''
'hsa-amd-aqlprofile-bin' has been replaced by 'aqlprofile'.
'' self.aqlprofile; # Added 2025-08-27
Expand Down
3 changes: 2 additions & 1 deletion pkgs/development/rocm-modules/6/hipblaslt/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
lib,
stdenv,
fetchFromGitHub,
writableTmpDirAsHomeHook,
cmake,
rocm-cmake,
rocm-smi,
Expand All @@ -11,6 +10,7 @@
gfortran,
gtest,
boost,
llvm,
msgpack-cxx,
amd-blis,
libxml2,
Expand Down Expand Up @@ -136,6 +136,7 @@ stdenv.mkDerivation (finalAttrs: {
];

buildInputs = [
llvm.llvm
clr
rocm-cmake
hipblas-common
Expand Down
16 changes: 11 additions & 5 deletions pkgs/development/rocm-modules/6/hipcc/default.nix
Original file line number Diff line number Diff line change
@@ -1,21 +1,27 @@
{
lib,
stdenv,
rocm-merged-llvm,
llvm,
cmake,
lsb-release,
}:

stdenv.mkDerivation (finalAttrs: {
pname = "hipcc";
# In-tree with ROCm LLVM
inherit (rocm-merged-llvm) version;
src = rocm-merged-llvm.llvm-src;
inherit (llvm.llvm) version;
src = llvm.llvm.monorepoSrc;
sourceRoot = "${finalAttrs.src.name}/amd/hipcc";
strictDeps = true;

nativeBuildInputs = [ cmake ];
nativeBuildInputs = [
llvm.rocm-toolchain
cmake
];

buildInputs = [ rocm-merged-llvm ];
buildInputs = [
llvm.clang-unwrapped
];

patches = [
# https://github.com/ROCm/llvm-project/pull/183
Expand Down
2 changes: 0 additions & 2 deletions pkgs/development/rocm-modules/6/hipfft/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
cmake,
rocm-cmake,
clr,
git,
rocfft,
gtest,
boost,
Expand Down Expand Up @@ -47,7 +46,6 @@ stdenv.mkDerivation (finalAttrs: {

nativeBuildInputs = [
clr
git
cmake
rocm-cmake
];
Expand Down
18 changes: 11 additions & 7 deletions pkgs/development/rocm-modules/6/hipify/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@
fetchFromGitHub,
rocmUpdateScript,
cmake,
clang,
libxml2,
rocm-merged-llvm,
llvm,
zlib,
zstd,
perl,
Expand All @@ -23,21 +21,27 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-uj25WmGCpwouS1yzW9Oil5Vyrbyj5yRITvWF9WaGozM=";
};

strictDeps = true;

nativeBuildInputs = [
cmake
perl
llvm.rocm-toolchain
];

buildInputs = [
libxml2
rocm-merged-llvm
llvm.llvm
llvm.clang-unwrapped
perl
zlib
zstd
perl
];

env.CXXFLAGS = "-I${lib.getInclude llvm.llvm}/include -I${lib.getInclude llvm.clang-unwrapped}/include";

postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "\''${LLVM_TOOLS_BINARY_DIR}/clang" "${clang}/bin/clang"
--replace-fail "\''${LLVM_TOOLS_BINARY_DIR}/clang" "${llvm.rocm-toolchain}/bin/clang"
chmod +x bin/*
'';

Expand Down
2 changes: 0 additions & 2 deletions pkgs/development/rocm-modules/6/hipsparse/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
rocsparse,
clr,
gfortran,
git,
gtest,
openmp,
buildTests ? false,
Expand Down Expand Up @@ -48,7 +47,6 @@ stdenv.mkDerivation (finalAttrs: {

buildInputs = [
rocsparse
git
]
++ lib.optionals (buildTests || buildBenchmarks) [
gtest
Expand Down
Loading
Loading