Skip to content

{tools}[rocm-compilers/22.0.0-ROCm-7.2.0] HIP v7.2.0, rocm-cmake v0.14.0, rocm-compilers v22.0.0 w/ ROCm 7.2.0#25504

Draft
Thyre wants to merge 3 commits intoeasybuilders:developfrom
Thyre:20260304204444_new_pr_HIP720
Draft

{tools}[rocm-compilers/22.0.0-ROCm-7.2.0] HIP v7.2.0, rocm-cmake v0.14.0, rocm-compilers v22.0.0 w/ ROCm 7.2.0#25504
Thyre wants to merge 3 commits intoeasybuilders:developfrom
Thyre:20260304204444_new_pr_HIP720

Conversation

…cm-cmake-0.14.0-rocm-compilers-22.0.0-ROCm-7.2.0.eb, rocm-compilers-22.0.0-ROCm-7.2.0.eb
@github-actions
Copy link

github-actions bot commented Mar 4, 2026

Updated software glog-0.7.1-rocm-compilers-22.0.0-ROCm-7.2.0.eb

Diff against glog-0.7.1-GCC-13.3.0.eb

easybuild/easyconfigs/g/glog/glog-0.7.1-GCC-13.3.0.eb

diff --git a/easybuild/easyconfigs/g/glog/glog-0.7.1-GCC-13.3.0.eb b/easybuild/easyconfigs/g/glog/glog-0.7.1-rocm-compilers-22.0.0-ROCm-7.2.0.eb
index 3800af207e..1e13f4ca1b 100644
--- a/easybuild/easyconfigs/g/glog/glog-0.7.1-GCC-13.3.0.eb
+++ b/easybuild/easyconfigs/g/glog/glog-0.7.1-rocm-compilers-22.0.0-ROCm-7.2.0.eb
@@ -6,7 +6,7 @@ version = '0.7.1'
 homepage = 'https://github.com/google/glog'
 description = "A C++ implementation of the Google logging module."
 
-toolchain = {'name': 'GCC', 'version': '13.3.0'}
+toolchain = {'name': 'rocm-compilers', 'version': '22.0.0-ROCm-7.2.0'}
 toolchainopts = {'cstd': 'c++14'}
 
 source_urls = ['https://github.com/google/glog/archive/']
@@ -14,15 +14,15 @@ sources = ['v%(version)s.tar.gz']
 checksums = ['00e4a87e87b7e7612f519a41e491f16623b12423620006f59f5688bfd8d13b08']
 
 builddependencies = [
-    ('CMake', '3.29.3'),
+    ('CMake', '4.0.3'),
 ]
 
 dependencies = [
     ('gflags', '2.2.2'),
-    ('libunwind', '1.8.1'),
+    ('libunwind', '1.8.2'),
 ]
 
-configopts = '-DBUILD_SHARED_LIBS=ON'
+configopts = '-DBUILD_SHARED_LIBS=ON '
 
 sanity_check_paths = {
     'files': ['include/glog/logging.h', 'include/glog/raw_logging.h', 'lib/libglog.%s' % SHLIB_EXT],
Diff against glog-0.7.1-GCC-14.3.0.eb

easybuild/easyconfigs/g/glog/glog-0.7.1-GCC-14.3.0.eb

diff --git a/easybuild/easyconfigs/g/glog/glog-0.7.1-GCC-14.3.0.eb b/easybuild/easyconfigs/g/glog/glog-0.7.1-rocm-compilers-22.0.0-ROCm-7.2.0.eb
index cf62eb0848..1e13f4ca1b 100644
--- a/easybuild/easyconfigs/g/glog/glog-0.7.1-GCC-14.3.0.eb
+++ b/easybuild/easyconfigs/g/glog/glog-0.7.1-rocm-compilers-22.0.0-ROCm-7.2.0.eb
@@ -6,7 +6,7 @@ version = '0.7.1'
 homepage = 'https://github.com/google/glog'
 description = "A C++ implementation of the Google logging module."
 
-toolchain = {'name': 'GCC', 'version': '14.3.0'}
+toolchain = {'name': 'rocm-compilers', 'version': '22.0.0-ROCm-7.2.0'}
 toolchainopts = {'cstd': 'c++14'}
 
 source_urls = ['https://github.com/google/glog/archive/']
Diff against glog-0.7.1-GCCcore-14.2.0.eb

easybuild/easyconfigs/g/glog/glog-0.7.1-GCCcore-14.2.0.eb

diff --git a/easybuild/easyconfigs/g/glog/glog-0.7.1-GCCcore-14.2.0.eb b/easybuild/easyconfigs/g/glog/glog-0.7.1-rocm-compilers-22.0.0-ROCm-7.2.0.eb
index 4e50aae36d..1e13f4ca1b 100644
--- a/easybuild/easyconfigs/g/glog/glog-0.7.1-GCCcore-14.2.0.eb
+++ b/easybuild/easyconfigs/g/glog/glog-0.7.1-rocm-compilers-22.0.0-ROCm-7.2.0.eb
@@ -6,7 +6,7 @@ version = '0.7.1'
 homepage = 'https://github.com/google/glog'
 description = "A C++ implementation of the Google logging module."
 
-toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
+toolchain = {'name': 'rocm-compilers', 'version': '22.0.0-ROCm-7.2.0'}
 toolchainopts = {'cstd': 'c++14'}
 
 source_urls = ['https://github.com/google/glog/archive/']
@@ -14,13 +14,12 @@ sources = ['v%(version)s.tar.gz']
 checksums = ['00e4a87e87b7e7612f519a41e491f16623b12423620006f59f5688bfd8d13b08']
 
 builddependencies = [
-    ('binutils', '2.42'),
-    ('CMake', '3.31.3'),
+    ('CMake', '4.0.3'),
 ]
 
 dependencies = [
     ('gflags', '2.2.2'),
-    ('libunwind', '1.8.1'),
+    ('libunwind', '1.8.2'),
 ]
 
 configopts = '-DBUILD_SHARED_LIBS=ON '

Updated software HIP-7.2.0-rocm-compilers-22.0.0-ROCm-7.2.0.eb

Diff against HIP-4.5.0-GCCcore-11.2.0-amd.eb

easybuild/easyconfigs/h/HIP/HIP-4.5.0-GCCcore-11.2.0-amd.eb

diff --git a/easybuild/easyconfigs/h/HIP/HIP-4.5.0-GCCcore-11.2.0-amd.eb b/easybuild/easyconfigs/h/HIP/HIP-7.2.0-rocm-compilers-22.0.0-ROCm-7.2.0.eb
index a68941f8a4..3e88af97cd 100644
--- a/easybuild/easyconfigs/h/HIP/HIP-4.5.0-GCCcore-11.2.0-amd.eb
+++ b/easybuild/easyconfigs/h/HIP/HIP-7.2.0-rocm-compilers-22.0.0-ROCm-7.2.0.eb
@@ -1,88 +1,93 @@
-easyblock = 'CMakeMake'
+easyblock = 'Bundle'
 
 name = 'HIP'
-version = '4.5.0'
-versionsuffix = '-amd'
+_rocm_version = '7.2.0'
+version = _rocm_version
 
-homepage = 'https://github.com/ROCm-Developer-Tools/HIP'
+homepage = 'https://github.com/ROCm/HIP'
 description = """HIP is a C++ Runtime API and Kernel Language that allows
 developers to create portable applications for AMD and NVIDIA GPUs from single
 source code."""
-docurls = ['https://rocmdocs.amd.com']
+docurls = ['https://rocmdocs.amd.com/projects/HIP/']
 
-toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
-
-sources = [
-    {
-        'source_urls': ['https://github.com/ROCm-Developer-Tools/hipamd/archive/'],
-        'download_filename': 'rocm-%(version)s.tar.gz',
-        'filename': 'hipamd-rocm-%(version)s.tar.gz',
-    },
-    {
-        'source_urls': ['https://github.com/ROCm-Developer-Tools/ROCclr/archive/'],
-        'download_filename': 'rocm-%(version)s.tar.gz',
-        'filename': 'ROCclr-rocm-%(version)s.tar.gz',
-    },
-    {
-        'source_urls': ['https://github.com/ROCm-Developer-Tools/HIP/archive/'],
-        'download_filename': 'rocm-%(version)s.tar.gz',
-        'filename': 'HIP-rocm-%(version)s.tar.gz',
-    },
-    {
-        'source_urls': ['https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive/'],
-        'download_filename': 'rocm-%(version)s.tar.gz',
-        'filename': 'ROCm-OpenCL-Runtime-rocm-%(version)s.tar.gz',
-    },
-]
-
-patches = ['hipamd-rocm-%(version)s-remove-testing.patch']
-
-checksums = [
-    '7b93ab64d6894ff9b5ba0be35e3ed8501d6b18a2a14223d6311d72ab8a9cdba6',  # hipamd-rocm-4.5.0.tar.gz
-    'ca8d6305ff0e620d9cb69ff7ac3898917db9e9b6996a7320244b48ab6511dd8e',  # ROCclr-rocm-4.5.0.tar.gz
-    '4026f31fb4f8050e9aa9d4294f29c3410bfb38422dbbae4236ccd65fed4d55b2',  # HIP-rocm-4.5.0.tar.gz
-    '3a163aed24619b3faf5e8ba17325bdcedd1667a904ea20914ac6bdd33fcdbca8',  # ROCm-OpenCL-Runtime-rocm-4.5.0.tar.gz
-    'bd7651bdb4c38622c7a3ea4fd1be91118917bdf1e1125686c7fc2ecd0ea9db14',  # hipamd-4.5.0-remove-testing.patch
-]
+toolchain = {'name': 'rocm-compilers', 'version': '22.0.0-ROCm-7.2.0'}
 
 builddependencies = [
-    ('binutils', '2.37'),
-    ('CMake', '3.21.1'),
+    ('binutils', '2.44'),
+    ('CMake', '4.0.3'),
+    ('CppHeaderParser', '2.7.4'),
 ]
+
 dependencies = [
-    ('Clang-AOMP', '%(version)s'),
-    ('Perl', '5.34.0'),
-    ('ROCR-Runtime', '%(version)s'),
-    ('ROCm-CompilerSupport', '%(version)s'),
-    ('libglvnd', '1.3.3'),
-    ('libxml2', '2.9.10'),
-    ('numactl', '2.0.14'),
-    ('rocm-cmake', '%(version)s'),
-    ('rocminfo', '%(version)s'),
-    ('zlib', '1.2.11'),
+    ('OpenGL', '2025.09'),
+    ('rocm-cmake', '0.14.0'),
+    ('numactl', '2.0.19'),
+    ('Perl', '5.40.2'),
+    ('rocprofiler-register', '0.6.0', f'-ROCm-{_rocm_version}'),
+    ('Python', '3.13.5'),
+    ('glog', '0.7.1'),
 ]
 
-# AMD uses 'gfx' to identify the GPU, the first number identifies the generation, according to
-# https://www.x.org/wiki/RadeonFeature/#index5h2 while the rest identifies the specific GPU.
-# In the context of EasyBuild this identifier can be thought of as equivalent to the 'sm_<xx>'
-# nomenclature of Nvidia.
-local_default_gfx = 'gfx900'
-
-configopts = "-DAMD_OPENCL_PATH=%(builddir)s/ROCm-OpenCL-Runtime-rocm-%(version)s/"
-configopts += " -DHIP_COMMON_DIR=%(builddir)s/HIP-rocm-%(version)s/"
-configopts += " -DHIP_PLATFORM=amd"
-configopts += " -DOFFLOAD_ARCH_STR='%s'" % local_default_gfx
-configopts += " -DROCCLR_PATH=%(builddir)s/ROCclr-rocm-%(version)s/"
+default_easyblock = 'CMakeMake'
 
-postinstallcmds = [
-    'sed -i "s|HIP_CLANG_INCLUDE_PATH = .*|'
-    'HIP_CLANG_INCLUDE_PATH = \\$ENV{\"HIP_CLANG_INCLUDE_PATH\"};|g" %(installdir)s/bin/hipcc',
-    'sed -i "s|ROCM_AGENT_ENUM = .*|ROCM_AGENT_ENUM = \"rocm_agent_enumerator\";|g" %(installdir)s/bin/hipcc',
+components = [
+    ('rocminfo', '1.0.0', {
+        'sources': [
+            {
+                'source_urls': ['https://github.com/ROCm/rocminfo/archive/'],
+                'download_filename': f'rocm-{_rocm_version}.tar.gz',
+                'filename': 'rocminfo-%(version)s.tar.gz',
+            },
+        ],
+        'checksums': ['99fb0bfb8691edd25d06cb20d5a0c325ef3d485c4cf833a75f50d7141eaf0010'],
+        'srcdir': 'rocminfo-rocm-%s' % _rocm_version,
+        'configopts': ' '.join([
+            "-DCMAKE_EXE_LINKER_FLAGS='-Wl,--disable-new-dtags'",
+            "-DROCRTST_BLD_TYPE=Release",
+            "-DROCM_DIR=%(installdir)s",
+        ]),
+    }),
+    ('HIPCC', '%s' % _rocm_version, {
+        'sources': [
+            {
+                'source_urls': ['https://github.com/ROCm/llvm-project/archive/'],
+                'download_filename': 'rocm-%s.tar.gz' % _rocm_version,
+                'filename': 'llvm-project-rocm-%(version)s.tar.gz',
+                'alt_location': 'ROCm-LLVM',
+            }
+        ],
+        'checksums': [
+            'e86138d2a63fbcbdf64668d55573b26ae944d0f0ae5a3f5bb59bf7bdb3124d3f',  # llvm-project-rocm-7.2.0.tar.gz
+        ],
+        'srcdir': 'llvm-project-rocm-%s/amd/hipcc' % _rocm_version,
+    }),
+    ('HIP', '%s' % _rocm_version, {
+        'sources': [
+            {
+                'source_urls': ['https://github.com/ROCm/clr/archive/'],
+                'download_filename': 'rocm-%(version)s.tar.gz',
+                'filename': 'clr-%(version)s.tar.gz',
+            },
+            {
+                'source_urls': ['https://github.com/ROCm/HIP/archive/'],
+                'download_filename': 'rocm-%(version)s.tar.gz',
+                'filename': 'HIP-%(version)s.tar.gz',
+            },
+        ],
+        'checksums': [
+            'fc79e674a5c6da0192437e11d3d41cc593fcc7344194f2d02fa47b965ddd1a5f',  # clr-rocm-7.2.0.tar.gz
+            '4a22fcd0baf8df47d2e234f887f5bc03d522ce78928f82d1b0669a55897c4205',  # HIP-rocm-7.2.0.tar.gz
+        ],
+        'srcdir': 'clr-rocm-%s' % _rocm_version,
+        'configopts': '-DHIP_COMMON_DIR=%(builddir)s/hip-rocm-%(version)s/ -DHIP_PLATFORM=amd ' +
+                      '-DHIPCC_BIN_DIR=%(installdir)s/bin -DCLR_BUILD_HIP=ON -DCLR_BUILD_OCL=OFF'
+    }),
 ]
 
 sanity_check_paths = {
-    'files': ['bin/hipcc', 'bin/hipconfig', 'include/hip/hip_common.h', 'include/hip/hip_runtime.h',
-              'lib/libamdhip64.%s' % SHLIB_EXT],
+    'files': ['bin/%s' % x for x in ['hipcc', 'hipconfig']] +
+             ['bin/%s' % x for x in ['roc-obj', 'roc-obj-extract', 'roc-obj-ls']] +
+             ['include/hip/hip_common.h', 'include/hip/hip_runtime.h', 'lib/libamdhip64.%s' % SHLIB_EXT],
     'dirs': [],
 }
 sanity_check_commands = [
@@ -91,16 +96,27 @@ sanity_check_commands = [
 ]
 
 modextravars = {
-    'HIP_COMPILER': 'clang',
+    'HIP_COMPILER': 'amdclang',
     'HIP_INCLUDE_PATH': '%(installdir)s/include',
     'HIP_LIB_PATH': '%(installdir)s/lib',
     'HIP_PATH': '%(installdir)s',
     'HIP_RUNTIME': 'rocclr',
+    'HIPCC_PATH': '%(installdir)s',
     'ROCM_PATH': '%(installdir)s',
-    'DEVICE_LIB_PATH': '$EBROOTCLANGMINAOMP/amdgcn/bitcode',
-    'HIP_CLANG_INCLUDE_PATH': '$EBROOTCLANGMINAOMP/include',
-    'HIP_CLANG_PATH': '$EBROOTCLANGMINAOMP/bin',
-    'HSA_PATH': '$EBROOTROCRMINRUNTIME',
 }
 
+modluafooter = """
+setenv("DEVICE_LIB_PATH", os.getenv("EBROOTROCMMINLLVM") .. "/amdgcn/bitcode")
+setenv("HIP_CLANG_INCLUDE_PATH", os.getenv("EBROOTROCMMINLLVM") .. "/include")
+setenv("HIP_CLANG_PATH", os.getenv("EBROOTROCMMINLLVM") .. "/bin")
+setenv("HSA_PATH", os.getenv("EBROOTROCMMINLLVM"))
+"""
+
+modtclfooter = """
+setenv DEVICE_LIB_PATH $::env(EBROOTROCMMINLLVM)/amdgcn/bitcode
+setenv HIP_CLANG_INCLUDE_PATH $::env(EBROOTROCMMINLLVM)/include
+setenv HIP_CLANG_PATH $::env(EBROOTROCMMINLLVM)/bin
+setenv HSA_PATH $::env(EBROOTROCMMINLLVM)
+"""
+
 moduleclass = 'tools'

Updated software rocm-cmake-0.14.0-rocm-compilers-22.0.0-ROCm-7.2.0.eb

Diff against rocm-cmake-4.5.0-GCCcore-11.2.0.eb

easybuild/easyconfigs/r/rocm-cmake/rocm-cmake-4.5.0-GCCcore-11.2.0.eb

diff --git a/easybuild/easyconfigs/r/rocm-cmake/rocm-cmake-4.5.0-GCCcore-11.2.0.eb b/easybuild/easyconfigs/r/rocm-cmake/rocm-cmake-0.14.0-rocm-compilers-22.0.0-ROCm-7.2.0.eb
index cd8f5cea65..f819b2f318 100644
--- a/easybuild/easyconfigs/r/rocm-cmake/rocm-cmake-4.5.0-GCCcore-11.2.0.eb
+++ b/easybuild/easyconfigs/r/rocm-cmake/rocm-cmake-0.14.0-rocm-compilers-22.0.0-ROCm-7.2.0.eb
@@ -1,36 +1,35 @@
-easyblock = 'CMakeMake'
+easyblock = 'ROCmComponent'
 
 name = 'rocm-cmake'
-version = '4.5.0'
+version = '0.14.0'
+_rocm_version = '7.2.0'
 
-homepage = 'https://github.com/RadeonOpenCompute/rocm-cmake'
+homepage = 'https://github.com/ROCm/rocm-cmake'
 description = """ROCM cmake modules provides cmake modules for common build
 tasks needed for the ROCM software stack"""
-docurls = ['https://rocmdocs.amd.com']
+docurls = ['https://rocm.docs.amd.com/projects/ROCmCMakeBuildTools/']
 
-toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+toolchain = {'name': 'rocm-compilers', 'version': '22.0.0-ROCm-7.2.0'}
 
-source_urls = ["https://github.com/RadeonOpenCompute/rocm-cmake/archive/refs/tags/"]
-sources = ["rocm-%(version)s.tar.gz"]
-checksums = ['c77b71454010adbeea5357773aa98dd0725f655f51a411815807cabf29258395']
+github_account = 'ROCm'
+source_urls = [GITHUB_SOURCE]
+sources = [f'rocm-{_rocm_version}.tar.gz']
+checksums = ['3f3899e84d78a0fecab62a35eed0014bb503c04d2cf76d263b29daf17f178636']
 
 builddependencies = [
-    ('binutils', '2.37'),
-    ('CMake', '3.21.1'),
-]
-dependencies = [
-    ('Clang-AOMP', '%(version)s'),
+    ('binutils', '2.44'),
+    ('CMake', '4.0.3'),
 ]
 
-configopts = '-DCMAKE_C_COMPILER=$EBROOTCLANGMINAOMP/bin/clang'
-configopts += ' -DCMAKE_CXX_COMPILER=$EBROOTCLANGMINAOMP/bin/clang++'
-configopts += ' -DLLVM_INSTALL_PREFIX=$EBROOTCLANGMINAOMP'
-configopts += ' -DLLVM_DIR=$EBROOTCLANGMINAOMP'
+configopts = ' -DLLVM_INSTALL_PREFIX=$EBROOTROCMMINLLVM'
+configopts += ' -DLLVM_DIR=$EBROOTROCMMINLLVM'
 
 sanity_check_paths = {
-    'files': ['share/rocm/cmake/ROCMChecks.cmake', 'share/rocm/cmake/ROCMConfig.cmake',
-              'share/rocm/cmake/ROCMCppCheck.cmake', 'share/rocm/cmake/ROCMCreatePackage.cmake',
-              'share/rocm/cmake/ROCMSetupVersion.cmake'],
+    'files': ['share/rocm/cmake/ROCMConfig.cmake', 'share/rocm/cmake/ROCMConfigVersion.cmake',
+              'share/rocmcmakebuildtools/cmake/ROCMChecks.cmake',
+              'share/rocmcmakebuildtools/cmake/ROCMCppCheck.cmake',
+              'share/rocmcmakebuildtools/cmake/ROCMCreatePackage.cmake',
+              'share/rocmcmakebuildtools/cmake/ROCMSetupVersion.cmake'],
     'dirs': ['share/rocm/cmake'],
 }
 

@Thyre Thyre marked this pull request as draft March 4, 2026 19:46
@Thyre

This comment was marked as outdated.

@Thyre
Copy link
Collaborator Author

Thyre commented Mar 4, 2026

Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3861
SUCCESS
Build succeeded for 4 out of 4 (total: 1 min 49 secs) (4 easyconfigs in total)
Linux - Linux Arch Linux UNKNOWN, x86_64, AMD Ryzen 7 7800X3D 8-Core Processor (zen4), 1 x AMD Navi 48 [Radeon RX 9070/9070 XT/9070 GRE] (device id: 0x7550, gfx: gfx1201, driver: Linuxversion6.18.13-arch1-1(linux@archlinux)(gcc(GCC)15.2.120260209,GNUld(GNUBinutils)2.46)#1SMPPREEMPT_DYNAMICWed,25Feb202623:12:35+0000), 1 x AMD Raphael (device id: 0x164e, gfx: gfx1036, driver: Linuxversion6.18.13-arch1-1(linux@archlinux)(gcc(GCC)15.2.120260209,GNUld(GNUBinutils)2.46)#1SMPPREEMPT_DYNAMICWed,25Feb202623:12:35+0000), Python 3.14.3
See https://gist.github.com/Thyre/a2f5a1902158bb83763b2385e41a5f6b for a full test report.

@Thyre
Copy link
Collaborator Author

Thyre commented Mar 5, 2026

Test report by @Thyre
Using easyblocks from PR(s) easybuilders/easybuild-easyblocks#3861
SUCCESS
Build succeeded for 7 out of 7 (total: 7 hours 9 mins 14 secs) (4 easyconfigs in total)
jrc0850.jureca - Linux Rocky Linux 9.7 (Blue Onyx), x86_64, AMD EPYC 7443 24-Core Processor (zen3), 8 x AMD AMD INSTINCT MI250 (MCM) OAM AC MBA (device id: 0x740c, gfx: gfx90a, driver: 6.16.6), Python 3.9.25
See https://gist.github.com/Thyre/81bafe226e4aaf57f6efb9c476cd7909 for a full test report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant