rocm/6.2.2 (rocm-6.2.2.eb)
To access module help and find out for which stacks and partitions the module is
installed, use module spider rocm/6.2.2
.
EasyConfig:
easyblock = 'EB_rocmrpms'
name = 'rocm'
version = '6.2.2'
homepage = 'https://www.amd.com/en/developer/resources/rocm-hub.html'
whatis = [
"Description: AMD ROCm is the first open-source software development platform for "
"HPC/Hyperscale-class GPU computing"
]
description = """
AMD ROCm is the first open-source software development platform for
HPC/Hyperscale-class GPU computing. AMD ROCm brings the UNIX philosophy of
choice, minimalism and modular software development to GPU computing.
"""
description = """
AMD ROCm is the first open-source software development platform for
HPC/Hyperscale-class GPU computing. AMD ROCm brings the UNIX philosophy of
choice, minimalism and modular software development to GPU computing.
ROCm provides the tools required for the development of code using HIP, OpenCL
and OpenMP programming models including tools for profiling and debugging.
This is an experimental module provided for the convenience of the users.
This is ROCm installed in a way it is not meant to be installed so we cannot
offer any guarantee that this module will work properly with HPE Cray PE modules
nor can we offer any support. Some parts are almost certain to be broken, at
least in a way that can lead to reduced performance, as ROCm tends to contain
hidden hard-coded links to the regular installation directories. As the inner
workings of the HPE Cray PE are not public and as the PE (at least the versions
up to 23.09 on the system) has even never been tested with this version of ROCm
by HPE there is absolutely no guarantee that this module will play nice with,
e.g., Cray MPICH.
"""
docurls = [
'Web-based documentation on https://rocm.docs.amd.com/en/docs-%(version)s/',
'PDF documentation in $EBROOTROCM/share/doc/rocgdb',
'PDF documentation in $EBROOTROCM/share/doc/roctracer',
'PDF documentation in $EBROOTROCM/share/doc/rocm_smi',
'PDF documentation in $EBROOTROCM/share/doc/amd-dbgapi',
]
toolchain = SYSTEM
import os;
local_lumi_stack_version = os.getenv('LUMI_STACK_VERSION', default='24.03')
builddependencies = [
# For patchelf
('buildtools', local_lumi_stack_version, '', True),
]
index_url = 'https://repo.radeon.com/rocm/zyp/%(version)s/main/'
gpu_archs = ['gfx90a']
# Exclude MIVisionX and rocAL because of the OpenCV dependency
# Exclude rocDecode because of the libva dependency
exclude_packages = [
'mivisionx',
'mivisionx-devel',
'rocal',
'rocal-devel',
'rocdecode',
'rocdecode-devel',
'rocm-khronos-cts',
]
component_checksums = {
'amd-smi-lib' : 'a7d6b8fe2fdcb7b14182ba30e55e5bf48580a7109e5af17d8a1b126d4d537f06',
'comgr' : 'b656d9eec5e7a1b16322e82cebe341e2697806b2c1d830196730639a56270dcf',
'composablekernel-ckprofiler_gfx90' : '6fd4c5f112cb4cf99813b205bc964d1686be0ebfebe5825a98272a63d03f13a8',
'composablekernel-devel' : 'e64b364a7303bf0e10d808e0563025e4a9af5d07f4a36a5d23e76f13277b8a11',
'half' : 'ce64da6d9dfd56b0e37b6d09949955ae15680ded27653e98c03eb4f9d9900d68',
'hip-devel' : '68cddbdd131b1287843bc1e27dcb4c7296fc974a5e5b02a720af8e6311391f55',
'hip-doc' : 'c8b5d7750b12b751cff1db63ea7bde23c063c59891f73fcd8f714c956c8f1c9e',
'hip-runtime-amd' : '0505865638b142ac4c74b1214f448c03e29d98951145885a7d2dc674cba90ccd',
'hip-samples' : '36d21653a812a8dc77e9691c9bf528062dfa97f6f3f27bed19d913477de4ee7e',
'hipblas' : '4816ae6a8fa23dfaa4987b6a2b1e886a8db46911a74f1a1fb58ce9d538941470',
'hipblas-devel' : '558a0bbf9cb55e5ef02145f1a591575960fd92db3769dcfa609271fafbf3a0e0',
'hipblaslt' : 'f47d9fcaef7060e85dd8b1122a2392fecf8f4ee1a1c369441bdcf39509df3f0d',
'hipblaslt-devel' : 'a068c5b5580e9b7f2413ef502472e9072c8d56878dc7b2d87b802d9ab147f72b',
'hipcc' : 'c3932575e62458a93e7b6ed0b8fcf7125449a4eaa63292600cdcea308960aaa8',
'hipcub-devel' : '5f52c6113c146d6b03c146a0d22cc56bec12373fe138bac3f5fda6d9357d34a6',
'hipfft' : 'e464b57e66d4aa31125fc5bafa6bf779deb5dadeff74e6c7af4c46ec03d31d9b',
'hipfft-devel' : 'd33e466a14112148e27091f87254280337c54aa515f1a8c17a2756d4716fc2b6',
'hipfort-devel' : 'e129623a9e38a1024fe90ce33933738d06fbeb41675ff74bc5d4e29384416d20',
'hipify-clang' : '81a2b511c0abf94afc1bf05774f1a6cbba32203edfc2415a0b71947ee237e3c6',
'hiprand' : '419df889ff9c65e6df8042215d3d1bbbe5ebcc58a40d29eb83a2caf460184e36',
'hiprand-devel' : 'bf04e87443c0b3e848c4204651ab1dbac57f268a2273397766b76b88982d0663',
'hipsolver' : 'f4ef99cc75a55d2bd5906530f93705bccf02d3461239b50434530287729a7455',
'hipsolver-devel' : '972eb65edcc28eb60fd19ca654621864f8e80f5c31380f7f8ce207081fa26998',
'hipsparse' : '78848620d53729416096e8350d2d5135b137c547977f2835c29629b0522afcf3',
'hipsparse-devel' : '266d3fe4882ab64f1663156997932fcd3e35a8ec7825aa56b56d502b21ef9fb4',
'hipsparselt' : 'bbd6664e7824a2489383c177a22c59d769b0c172802964a53400e83eb0230ae0',
'hipsparselt-devel' : 'b97fe8a7231a26cf0c0b1cb05ceb3ac6af23834a6c6bf10d374c10034c83236f',
'hiptensor' : 'e28735fad1560a875be00b1f33852986422b3e54c914d52fd4e948be4d0daaf5',
'hiptensor-devel' : '0dea54b4ee9284c65e929a2babb43c3728aa918818f055663e0bc273634d3224',
'hsa-amd-aqlprofile' : 'ddbaf4a4359d34298115fc36436a4a9b7fac9ff209458e8e0df9c5789e512e16',
'hsa-rocr' : 'efe9e56450571def7ecdfa0f8ec71d8db79ab8afe3922e12175141b5ea0d1ad5',
'hsa-rocr-devel' : '2416a993f672b86b00193267bd843d2378edd52f99170330992b93bb7c552946',
'hsakmt-roct-devel' : 'a009ba747765699489162f8efdcef482a5296dc1df989e60a65677e458fe051e',
'migraphx' : 'fce21df4e56c046be386479e90fe33dc95f7dc6f70d2d49a2607f8be31394331',
'migraphx-devel' : 'f899885cb7f62875cfdc0655a15adf34e8e3c9095d6d556e0081c2083484c7dd',
'miopen-hip' : 'd9c27351fdffa83b3bbcdbeea34ab1fd228c1f9288fcafa627cc641867510d44',
'miopen-hip-client' : '4e3e08518227adac5b70a3d30525723018a72f5ffec467ef8f664e168e659792',
'miopen-hip-devel' : '2dc09fb8f31a368ac91ac8f623d244275e247f39df09ad08b32658a2d22bcdd2',
'miopen-hip-gfx90akdb' : 'c9bac2d6295923588fa426231d496dd0b22e86af4366998b36160dbc2569d57b',
'mivisionx' : '9fd0d367d8a460872a211786ea8b02525c7da9251f05f7b029ffe3d3026048be',
'mivisionx-devel' : '24b1da6df9ddec4f9cd12f01c6268c824cfd9e137beb0e33dc345118e48f380e',
'omniperf' : 'af4e12c76ac7adb798b6d614ea329604842ef907e360e5f4e365f19902909101',
'omnitrace' : '8f6035c4f6bbb033a307af202b1d4b85a3db21014ac2fdd9b5fe2d640f66fc28',
'openmp-extras-devel' : '9c3106e0e351a7ce93b2ef235e40b9e91017c77e748f94af166b2792ae7ee7c7',
'openmp-extras-runtime' : '2e1779d0716ce7c209a58bee777291f754543a293c62970f39ef228db0e92c13',
'rccl' : 'ff1db297666d55bc234c02e777997a35ad0ecdc697740173ee11d16b3a8a9637',
'rccl-devel' : '438eaa338bd1bad0e0bc0cc8cbd7331332857977aab566975e62637ae2347c4f',
'rocal' : '69b56f360874ea34c8efa63d3efb16d9ac99178eb409f390763745a882fc5c4e',
'rocal-devel' : '8a4b69176dd82fd51a9e2d02ad62718d7e5187beb382bd34e34f8c614189fbea',
'rocalution' : 'ea8a1c103a277f9c7e149c1896ca2c46cd4bef2dddff328fa41bcda56da77a0c',
'rocalution-devel' : '14b8efb3c6e61aa0e91240d30e8e2aafa891fb4116282b6dbf4dd3f8a22e7ab3',
'rocblas' : '5492d2b6c93923e22aebfe68754ad00270abb2d761135cd4d15216b30dd1eb11',
'rocblas-devel' : 'e1f80b8bd453115e8c7dbd04a4a69a8cd038a878eeb19f11e8ad5b071f9244d3',
'rocdecode' : 'f0c08b98e16e5649a4434e91b760b7b3be3f7a74768e6a48fddebdbebb56a437',
'rocdecode-devel' : '71e32424a6f54d841215f85247a16ccbc85362464f039f4bf15c17053dd41bf4',
'rocfft' : 'f0d089a8218b9982023946f6d59b3309c8a592eab3b11f69316f959ad0ba98db',
'rocfft-devel' : '49e6b778c2feb7e6aef39a414af22837e9336a9642447d9b8dc6c1f11b8a0bf7',
'rocm' : 'd3064eee541ebf90ee332d5a00d39e320c2a6efd7e89ad448ffdda6857156eeb',
'rocm-bandwidth-test' : '4af948fa083d44a9fdcb240745b574c321db8988af802e88f32fe5887b2d917e',
'rocm-cmake' : '009656e8de1c0cf4614124e44a38dc05d1f362aa854d4faff010e00f5b346aef',
'rocm-core' : 'e37a6ae678506418b265db325d2bdbd88c5f01962165aebeec016c2289573583',
'rocm-dbgapi' : 'ace748606275d2697289461eed230f627d5cfb1583c0d1072937d583d1af70c3',
'rocm-debug-agent' : 'e012e228365a300d23f8e389d3978077313d4a2a72f19dc85325070ea146fa3f',
'rocm-dev' : '3ab3d4c427d4fc22803af9250e3d0043e2d9ded46c25a2f41ff13ed40a1c4139',
'rocm-developer-tools' : 'b63d1c4acfbd91a1aa0aab6ded02df0d294bed17ffc9799dfe33c01fb501868a',
'rocm-device-libs' : 'a7ca8b8b4ee02c51d0d32e570fbcceb5190444a8d22d9039388c49ddcf2f4e0b',
'rocm-gdb' : 'e2173726c1792cf0452ea3126b096e70fe43418d3b725ea9f9039fd2a7cfa111',
'rocm-hip-libraries' : '877634c76cb15f8e4ce71f1cbc01aa584f9d74801c6f5cd51e228eff6a09059b',
'rocm-hip-runtime' : '0b977fa7d26b3c702505019fbedcfe9df11990f45d5f9d3a57939e49feaf2917',
'rocm-hip-runtime-devel' : '0457879da07b687408fcc64fc92cd21951ebd381f8ab9c20b1a026b5c7b72949',
'rocm-hip-sdk' : '068e205e6f3d524e8771487e9ba569d8fd8319db216b8d394bce96889a26e3a3',
'rocm-khronos-cts' : 'e66dbded9dac1a0b24a2d1991cd2779e725e29ac4de1ec8dea6278fdd930272c',
'rocm-language-runtime' : '491ff1562512a947ed603d505f1713f29834f96d7d1eb2402d0217c577d5a8d4',
'rocm-libs' : 'cb77bc9091e0c2d4e8670b38c21f9d426f15d6094dd5d72b2f48319969c236cf',
'rocm-llvm' : '64bdeb1e29036a2ebf65926b54ae8333fcdb39b20b613c3df683f0a548655009',
'rocm-llvm-devel' : 'af49a452e30896f34b018148e8ef84f78d06b2af2414131c8af5648ddf51acf7',
'rocm-llvm-docs' : '0f1bd38796b9114048f164a0a87f3d1c829c59aeb17db1c9f3c538a447076db8',
'rocm-ml-libraries' : '8c5f57d649e20ada75154c963711946e0f5d886f94817138fb97821e30f1fe4a',
'rocm-ml-sdk' : 'a8f0d73125e0b10d2f9de272a75af481e9529891b520c83a00e5a95727008f3c',
'rocm-ocltst' : 'f2ddc0e884c71b32792f817aa6d2ea6ba2fe00421026f1f02611831b4160e6df',
'rocm-opencl' : '5c0e8c3b7ae9b10246efbafb86369a36ed8a344a0db60ce2a228951d9dfa8bf6',
'rocm-opencl-devel' : 'eabbaa9b805e4d18ae2788b800417a84c7de743fec548e61705b6e72574b0545',
'rocm-opencl-icd-loader' : 'fb8daf7e52f003efca0d67b9aa7ff77ab70e21a181e2b06b35f5ca74435a736b',
'rocm-opencl-runtime' : 'f14a3ec08ca60a6eafb43479f5b22d414cfe4734c32b588bd4ae2493a17ede48',
'rocm-opencl-sdk' : 'f46eef1081d626bcdbb58eb7ded622b74d273e0d8563850a023ca4a11a05b76a',
'rocm-openmp-sdk' : 'a8a726b35dd32deac5c6c0f22b936038442f49f63e6e1130f7958a1fa969d303',
'rocm-smi-lib' : 'bcf9b405cb93e3c03f094db30a94c8ae983abb139c8c4de3dba3edc2bf498220',
'rocm-utils' : '173fba45f47401d70d14d5bf4fa64c6535585b349b48a1f481a43595e86e19d0',
'rocm-validation-suite' : '67ff7ec31f86ec1f685da3be5462afa8faef963ec81eb9e99ab52a379808767f',
'rocminfo' : '5f4f17ab64d5a7040e4578b401dc27494d92932e8054334d633f5cb3e039781b',
'rocprim-devel' : '4041accdc3ee8e12e4503de1880168f1787289bbb505ae04873011a50f9780c4',
'rocprofiler' : '30f0511896a0ebe92ee0a70e66ada8fe992113604043bd560f78b620f6e9d5ad',
'rocprofiler-devel' : '69eb14e30fe18cee4ae63bd0566b4e7ec29f36f6c70f26c5fa8479dd506fc8b9',
'rocprofiler-docs' : '1bb12388ff168d0460a3217e1dcfa90c6a58ae24d9f907bb97d43afcc08fe02c',
'rocprofiler-plugins' : '658062e4b59bd0373d09917386509c6d1e8a1dfae194284d719e8f7de2142231',
'rocprofiler-register' : '3b6496ec0e93080bfcfdfa12829c1e5ce525c77d06f0f6b418277dcb8b9971ef',
'rocprofiler-sdk' : '1fa160159799661248a3db698e572d4301758c31c0e56e3826c4601648fe5bf5',
'rocprofiler-sdk-roctx' : 'a62c3b3b1e8ac6fe014909f661c2b6b6ddda6599b5bb764bfac562f0b79d6798',
'rocrand' : '57e023000a77b054245779c6a71327f6aead23b1ebfed50d1e204edfd289665d',
'rocrand-devel' : '6da3a05587c14f4e05ad36ccb55f00ca444c25926ef7f5ca62d7a9d7c8d0f5b8',
'rocsolver' : '84744a30d676e7ec1b0a679b4b62e97c506271e82874788fd77e240d0d107a3c',
'rocsolver-devel' : 'af923cff34d922611cd7d6dc866e87d60beda0dd35e76dad7e99b24bed019b17',
'rocsparse' : 'd139483b08d5b256202988d79bd2f49edd523f3cd3015e72f5153d77a05fdd50',
'rocsparse-devel' : '3672b72d7239b9265ed8c4e3c8d40ac75a039484f50f430a958b57ca1e04225a',
'rocthrust-devel' : 'f80a2086fc748590742d504ce9460cc4528c2e918b29a04f37f4ce8d41efa3dc',
'roctracer' : 'e944290f221d0c712b6ed931cc2d3a895cf18b2892690c733d9beeb071dff653',
'roctracer-devel' : '5729983bc6224b6d9ba49a87c17c8d657290816f83baa77a34dfa4b5e0164517',
'rocwmma-devel' : '63db1c80c896442b0eb2cedaa7e171f1edaa18671bf49badb55a2de048cb9364',
'rpp' : '7f8440e750970d199ef44ff62657d6e2d269c9dbffd0135f70fa777d304da55c',
'rpp-devel' : '6e00d4cdf7b3c5586b1795e9f77ae72430159c4063c6c704c4aec83ec9c57b86',
}
postinstall_script = """
echo "gfx90a" > %(installdir)s/bin/target.lst
pushd %(installdir)s/lib
find . -maxdepth 1 -type f -name "*.so*" -exec sh -c '
if file $0 | grep -q "dynamically"; then
patchelf --force-rpath --set-rpath "\$ORIGIN:\$ORIGIN/llvm/lib" $0
fi' {} \;
for subdir in roctracer omnitrace migraphx; do
pushd $subdir
find . -maxdepth 1 -type f -name "*.so*" -exec sh -c '
if file $0 | grep -q "dynamically"; then
patchelf --force-rpath --set-rpath "\$ORIGIN:\$ORIGIN/../:\$ORIGIN/../llvm/lib" $0
fi' {} \;
popd
done
for lib in "*migraphx*.so*"; do
if file $lib | grep -q "dynamically"; then
patchelf --force-rpath --set-rpath "\$ORIGIN:\$ORIGIN/llvm/lib:\$ORIGIN/migraphx/lib" $lib
fi
done
for lib in "*omnitrace*.so*"; do
if file $lib | grep -q "dynamically"; then
patchelf --force-rpath --set-rpath "\$ORIGIN:\$ORIGIN/llvm/lib:\$ORIGIN/omnitrace" $lib
fi
done
for compiler in clang++ clang-cpp clang; do
echo "-Wl,-rpath=$PWD" >> ./llvm/bin/$compiler.cfg
echo "-Wl,-rpath=$PWD/llvm/lib" >> ./llvm/bin/$compiler.cfg
done
sed -i "s/enable-new-dtags/disable-new-dtags/" ./llvm/bin/rocm.cfg
popd
omniperfdir=%(installdir)s/libexec/omniperf
mkdir -p $omniperfdir/deps
sed -i '34i sys.path.insert(0, f"'$omniperfdir'/deps/lib/python3.{sys.version_info[1]}/site-packages")' $omniperfdir/omniperf
unset PYTHONPATH
for pythonmod in $(module --terse av cray-python 2>&1 | grep ^cray-python); do
module load $pythonmod
python_minmaj=$(python -c 'import sys; print(f"{sys.version_info[0]}.{sys.version_info[1]}")')
if [[ ! -d $omniperfdir/deps/lib/python$python_minmaj ]]; then
pip install --ignore-installed --no-cache-dir --prefix=$omniperfdir/deps -r $omniperfdir/requirements.txt
fi
done
"""
pkg_config = """
Name: rocm-%(version)s
Version: %(version)s
Description: ROCm Toolkit
rocm_prefix=%(installdir)s
includedir=${rocm_prefix}/include
libdir=${rocm_prefix}/lib
profiler_includedir=${rocm_prefix}/include/rocprofiler
profiler_libdir=${rocm_prefix}/lib/rocprofiler
tracer_includedir=${rocm_prefix}/include/roctracer
tracer_libdir=${rocm_prefix}/lib/roctracer
Cflags: -I${includedir} -I${profiler_includedir} -I${tracer_includedir} -D__HIP_PLATFORM_AMD__
Libs: -L${libdir} -L${profiler_libdir} -L${tracer_libdir} -lamdhip64
"""
modextravars = {
'CRAY_ROCM_VERSION' : '%(version)s',
'CRAY_ROCM_DIR' : '%(installdir)s',
'CRAY_ROCM_PREFIX' : '%(installdir)s',
'CRAY_AMD_COMPILER_PREFIX' : '%(installdir)s',
'CRAY_AMD_COMPILER_VERSION' : '%(version)s',
}
modluafooter = """
append_path("PE_PRODUCT_LIST", "CRAY_ROCM")
prepend_path("PE_PKGCONFIG_LIBS", "rocm-%(version_major_minor)s")
"""
moduleclass = 'devel'