diff --git a/Custom_EasyBlocks/llvm_amdgpu.py b/Custom_EasyBlocks/llvm_amdgpu.py
new file mode 100644
index 0000000000000000000000000000000000000000..ff902a178d36bcd7f7917d67b3496284de740260
--- /dev/null
+++ b/Custom_EasyBlocks/llvm_amdgpu.py
@@ -0,0 +1,101 @@
+##
+# Copyright 2020-2022 Ghent University
+#
+# This file is part of EasyBuild,
+# originally created by the HPC team of Ghent University (http://ugent.be/hpc/en),
+# with support of Ghent University (http://ugent.be/hpc),
+# the Flemish Supercomputer Centre (VSC) (https://www.vscentrum.be),
+# Flemish Research Foundation (FWO) (http://www.fwo.be/en)
+# and the Department of Economy, Science and Innovation (EWI) (http://www.ewi-vlaanderen.be/en).
+#
+# https://github.com/easybuilders/easybuild
+#
+# EasyBuild is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation v2.
+#
+# EasyBuild is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with EasyBuild.  If not, see <http://www.gnu.org/licenses/>.
+##
+"""
+EasyBuild support for building and installing LLVM, implemented as an easyblock
+
+@author: Simon Branford (University of Birmingham)
+"""
+from easybuild.easyblocks.clang import CLANG_TARGETS, DEFAULT_TARGETS_MAP
+from easybuild.easyblocks.generic.cmakemake import CMakeMake
+from easybuild.framework.easyconfig import CUSTOM
+from easybuild.tools.build_log import EasyBuildError
+from easybuild.tools.modules import get_software_root
+from easybuild.tools.systemtools import get_cpu_architecture
+from distutils.version import LooseVersion
+
+
+class EB_LLVM_AMDGPU(CMakeMake):
+    """
+    Support for building and installing LLVM
+    """
+
+    @staticmethod
+    def extra_options():
+        extra_vars = CMakeMake.extra_options()
+        extra_vars.update({
+            'build_targets': [None, "Build targets for LLVM (host architecture if None). Possible values: " +
+                                    ', '.join(CLANG_TARGETS), CUSTOM],
+            'enable_rtti': [True, "Enable RTTI", CUSTOM],
+        })
+
+        return extra_vars
+
+    def __init__(self, *args, **kwargs):
+        """Initialize LLVM-specific variables."""
+        super(EB_LLVM_AMDGPU, self).__init__(*args, **kwargs)
+
+        self.build_shared = self.cfg.get('build_shared_libs', False)
+        if LooseVersion(self.version) >= LooseVersion('14'):
+            self.cfg['start_dir'] = '%s-%s.src' % (self.name.lower(), self.version)
+            # avoid using -DBUILD_SHARED_LIBS directly, use -DLLVM_{BUILD,LINK}_LLVM_DYLIB flags instead
+            if self.build_shared:
+                self.cfg['build_shared_libs'] = None
+
+    def configure_step(self):
+        """
+        Install extra tools in bin/; enable zlib if it is a dep; optionally enable rtti; and set the build target
+        """
+        if LooseVersion(self.version) >= LooseVersion('14'):
+            self.cfg.update('configopts', '-DLLVM_INCLUDE_BENCHMARKS=OFF')
+            if self.build_shared:
+                self.cfg.update('configopts', '-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON')
+
+        self.cfg.update('configopts', '-DLLVM_INSTALL_UTILS=ON')
+
+        if get_software_root('zlib'):
+            self.cfg.update('configopts', '-DLLVM_ENABLE_ZLIB=ON')
+
+        if self.cfg["enable_rtti"]:
+            self.cfg.update('configopts', '-DLLVM_ENABLE_RTTI=ON')
+
+        build_targets = self.cfg['build_targets']
+        if build_targets is None:
+            arch = get_cpu_architecture()
+            try:
+                default_targets = DEFAULT_TARGETS_MAP[arch][:]
+                self.cfg['build_targets'] = build_targets = default_targets
+                self.log.debug("Using %s as default build targets for CPU architecture %s.", default_targets, arch)
+            except KeyError:
+                raise EasyBuildError("No default build targets defined for CPU architecture %s.", arch)
+
+        unknown_targets = [target for target in build_targets if target not in CLANG_TARGETS+['AMDGPU']]
+
+        if unknown_targets:
+            raise EasyBuildError("Some of the chosen build targets (%s) are not in %s.",
+                                 ', '.join(unknown_targets), ', '.join(CLANG_TARGETS+['AMDGPU']))
+
+        self.cfg.update('configopts', '-DLLVM_TARGETS_TO_BUILD="%s"' % ';'.join(build_targets))
+
+        super(EB_LLVM_AMDGPU, self).configure_step()
diff --git a/Golden_Repo/f/fmt/fmt-8.1.1-GCCcore-11.2.0.eb b/Golden_Repo/f/fmt/fmt-8.1.1-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..188c4dbbb689b93bfd0a6409a022c85146523052
--- /dev/null
+++ b/Golden_Repo/f/fmt/fmt-8.1.1-GCCcore-11.2.0.eb
@@ -0,0 +1,30 @@
+easyblock = 'CMakeMake'
+
+name = 'fmt'
+version = '8.1.1'
+
+homepage = 'http://fmtlib.net/'
+description = "fmt (formerly cppformat) is an open-source formatting library."
+
+site_contacts = 's.nassyr@fz-juelich.de'
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+toolchainopts = {'pic': True}
+
+source_urls = ['https://github.com/fmtlib/fmt/releases/download/%(version)s/']
+sources = ['fmt-%(version)s.zip']
+checksums = ['23778bad8edba12d76e4075da06db591f3b0e3c6c04928ced4a7282ca3400e5d']
+
+builddependencies = [
+    ('CMake', '3.21.1', '', SYSTEM),
+    ('binutils', '2.37')
+]
+
+separate_build_dir = True
+
+sanity_check_paths = {
+    'files': ['lib/libfmt.a'],
+    'dirs': ['include/fmt', 'lib/cmake'],
+}
+
+moduleclass = 'lib'
diff --git a/Overlays/jureca_mi200_overlay/b/Blaze/Blaze-3.8.1-gomkl-2021b.eb b/Overlays/jureca_mi200_overlay/b/Blaze/Blaze-3.8.1-gomkl-2021b.eb
new file mode 100644
index 0000000000000000000000000000000000000000..3d093603a0310243406a6e3e9f01434c289369f7
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/b/Blaze/Blaze-3.8.1-gomkl-2021b.eb
@@ -0,0 +1,39 @@
+# Stepan Nassyr, JSC/Forschungszentrum Juelich GmbH, s.nassyr@fz-juelich.de, 2022/06
+easyblock = 'CMakeNinja'
+
+name = 'Blaze'
+version = '3.8.1'
+
+homepage = 'https://bitbucket.org/blaze-lib/blaze'
+description = """Blaze is an open-source, high-performance C++ math library for dense and sparse arithmetic."""
+
+toolchain = {'name': 'gomkl', 'version': '2021b'}
+
+source_urls = ['https://bitbucket.org/blaze-lib/blaze/get']
+sources = ['v%(version)s.tar.gz']
+checksums = ['4ad32a786c45285a66a1375b39e65908e604d10596f5863c63b7ef9a13808187']
+
+builddependencies = [
+    ('CMake', '3.23.1'),
+    ('Ninja', '1.10.2'),
+    ('binutils', '2.37'),
+]
+# dependencies = [
+#     ('imkl', '2021.4.0', '', 'gompi-2021b'),
+# ]
+
+# BLAZE_CACHE_SIZE is calculated from /sys/devices/system/cpu/cpu0/cache/index3/size
+configopts = (" -DBLAZE_CACHE_SIZE=33554432 "
+              " -DBLAZE_BLAS_MODE=ON "
+              " -DBLAZE_BLAS_IS_64BIT=1 "
+              " -DBLAZE_BLAS_IS_PARALLEL=1 "
+              " -DBLAZE_BLAS_INCLUDE_FILE=\"<mkl_cblas.h>\" ")
+
+sanity_check_paths = {
+    'files': [
+        ['include/blaze/Blaze.h']
+    ],
+    'dirs': ['share/blaze/cmake', 'include/blaze'],
+}
+
+moduleclass = 'lib'
diff --git a/Overlays/jureca_mi200_overlay/b/babeltrace/babeltrace-1.5.8-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/b/babeltrace/babeltrace-1.5.8-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..006b04ed1a0826c681db55853fb5356efab42543
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/b/babeltrace/babeltrace-1.5.8-GCCcore-11.2.0.eb
@@ -0,0 +1,52 @@
+easyblock = 'ConfigureMake'
+
+name = 'babeltrace'
+version = '1.5.8'
+
+homepage = 'https://babeltrace.org/'
+description = "Babeltrace /ˈbæbəltreɪs/ is an open-source trace manipulation toolkit. "
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+toolchainopts = {'optarch': True, 'pic': True}
+
+github_account = 'efficios'
+source_urls = [GITHUB_SOURCE]
+sources = [{
+    'download_filename': 'v%(version)s.tar.gz',
+    'filename':          SOURCELOWER_TAR_GZ
+}]
+checksums = ['e76fcc4a4fd1001281ee90532a078e9ccc2f71673966d28dbebb05eca8a0febe']
+
+builddependencies = [
+    ('flex', '2.6.4'),
+    ('Bison', '3.7.6'),
+    ('Autotools', '20210726'),
+    ('pkg-config', '0.29.2'),
+]
+
+dependencies = [
+    ('popt', '1.18', '', SYSTEM),
+    ('Python', '3.9.6'),
+    ('elfutils', '0.185'),
+    ('GLib', '2.69.1'),
+    ('SWIG', '4.0.2'),
+]
+
+preconfigopts = "autoreconf --install; PYTHON=$EBROOTPYTHON/bin/python3 PYTHON_CONFIG=$EBROOTPYTHON/bin/python3-config "
+configopts = "--enable-python-bindings --disable-man-pages"
+
+local_libs = ["libbabeltrace", "libbabeltrace-ctf", "libbabeltrace-ctf-metadata",
+              "libbabeltrace-ctf-text", "libbabeltrace-dummy", "libbabeltrace-lttng-live"]
+sanity_check_paths = {
+    'files': ["bin/babeltrace"] +
+             ["lib/%s.a" % library for library in local_libs] +
+             ["lib/%s.%s" % (library, SHLIB_EXT) for library in local_libs] +
+             ["include/babeltrace/babeltrace.h"],
+    'dirs': ["lib/pkgconfig"],
+}
+
+modextrapaths = {
+    'PYTHONPATH': ['lib/python%(pyshortver)s/site-packages']
+}
+
+moduleclass = 'tools'
diff --git a/Overlays/jureca_mi200_overlay/c/CppHeaderParser/CppHeaderParser-2.7.4-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/c/CppHeaderParser/CppHeaderParser-2.7.4-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..b590bc839c48d8894ada3c27d857492fb1f6b899
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/c/CppHeaderParser/CppHeaderParser-2.7.4-GCCcore-11.2.0.eb
@@ -0,0 +1,33 @@
+easyblock = 'PythonPackage'
+
+name = 'CppHeaderParser'
+version = '2.7.4'
+
+homepage = 'http://senexcanis.com/open-source/cppheaderparser/'
+description = """CppHeaderParser is a pure python C++ header parser that parses C++ headers 
+                 and creates a data structure that you can use to do many types of things."""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+source_urls = [PYPI_SOURCE]
+sources = [SOURCE_TAR_GZ]
+checksums = [
+    # CppHeaderParser-2.7.4.tar.gz
+    '382b30416d95b0a5e8502b214810dcac2a56432917e2651447d3abe253e3cc42',
+]
+
+builddependencies = [('binutils', '2.37')]
+dependencies = [('Python', '3.9.6')]
+
+download_dep_fail = True
+use_pip = True
+sanity_pip_check = True
+
+options = {'modulename': 'CppHeaderParser'}
+
+sanity_check_paths = {
+    'files': [],
+    'dirs': ['lib/python%(pyshortver)s/site-packages'],
+}
+
+moduleclass = 'tools'
diff --git a/Overlays/jureca_mi200_overlay/g/gfxreconstruct/gfxreconstruct-1.3.213-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/g/gfxreconstruct/gfxreconstruct-1.3.213-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..f8577c86a320864bb760e3a144636dafad2e3dce
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/g/gfxreconstruct/gfxreconstruct-1.3.213-GCCcore-11.2.0.eb
@@ -0,0 +1,53 @@
+easyblock = 'CMakeNinja'
+
+name = 'gfxreconstruct'
+version = '1.3.213'
+
+homepage = 'https://www.khronos.org/registry/SPIR-V/'
+description = """Graphics API Capture and Replay Tools for Reconstructing Graphics Application Behavior """
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+github_account = 'LunarG'
+
+source_urls = [GITHUB_SOURCE]
+sources = [{
+    'filename': SOURCELOWER_TAR_GZ,
+    # 'download_filename': 'sdk-%(version)s.tar.gz'
+    'download_filename': '365757b47e32cf8346c00300fc82deb47969b76f.tar.gz'
+}]
+checksums = ['1a72841d57cb81efea0a47797c6d4d64be449ba304e471341137d3a90a94917a']
+
+builddependencies = [
+    ('CMake', '3.21.1'),
+    ('Ninja', '1.10.2'),
+]
+
+dependencies = [
+    ('Vulkan-Headers', version),
+    ('Vulkan-Loader', version),
+]
+
+configopts = '-DVULKAN_HEADER=$EBROOTVULKANMINHEADERS/include/vulkan/vulkan_core.h'
+
+modextrapaths = {
+    'VK_LAYER_PATH': ['share/vulkan/explicit_layer.d/']
+}
+
+
+sanity_check_paths = {
+    'files': [
+        'bin/gfxrecon-info',
+        'bin/gfxrecon-compress',
+        'bin/gfxrecon-capture.py',
+        'bin/gfxrecon.py',
+        'bin/gfxrecon-extract',
+        'bin/gfxrecon-optimize',
+        'bin/gfxrecon-replay',
+        'share/vulkan/explicit_layer.d/VkLayer_gfxreconstruct.json',
+        'lib64/libVkLayer_gfxreconstruct.so',
+    ],
+    'dirs': [],
+}
+
+moduleclass = 'devel'
diff --git a/Overlays/jureca_mi200_overlay/g/glslang/glslang-1.3.213-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/g/glslang/glslang-1.3.213-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..6ae18fbca8cb76df1ba57ee47070476fb7be9815
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/g/glslang/glslang-1.3.213-GCCcore-11.2.0.eb
@@ -0,0 +1,41 @@
+easyblock = 'CMakeNinja'
+
+name = 'glslang'
+version = '1.3.213'
+
+homepage = 'https://github.com/KhronosGroup/glslang'
+description = """Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator."""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+github_account = 'KhronosGroup'
+
+source_urls = [GITHUB_SOURCE]
+sources = [{
+    'filename':          SOURCELOWER_TAR_GZ,
+    'download_filename': '2439e6d56dff55d1c9e0fc2dbfe70a0f44c26832.tar.gz'
+}]
+checksums = ['f2fffa32a2e7744123b5d7a50df354854c2a5d6ca779a1525dbb35e12a74abcb']
+
+builddependencies = [
+    ('CMake', '3.21.1'),
+    ('Python', '3.9.6'),
+    ('Ninja', '1.10.2'),
+]
+
+sanity_check_paths = {
+    'files': [
+        'include/glslang/Include/glslang_c_interface.h',
+        'bin/glslangValidator',
+        'bin/spirv-remap',
+        'lib/libSPVRemapper.a',
+        'lib/libglslang-default-resource-limits.a',
+        'lib/libOSDependent.a',
+        'lib/libHLSL.a',
+        'lib/libglslang.a',
+        'lib/libSPIRV.a',
+    ],
+    'dirs': ['lib/cmake'],
+}
+
+moduleclass = 'devel'
diff --git a/Overlays/jureca_mi200_overlay/l/LLVM/LLVM-14.0.3-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/l/LLVM/LLVM-14.0.3-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..cdc91ac09d06b3abd51d2f2a45d78d5937730655
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/l/LLVM/LLVM-14.0.3-GCCcore-11.2.0.eb
@@ -0,0 +1,44 @@
+name = 'LLVM'
+easyblock = 'EB_LLVM_AMDGPU'
+version = '14.0.3'
+
+homepage = "https://llvm.org/"
+description = """The LLVM Core libraries provide a modern source- and target-independent
+optimizer, along with code generation support for many popular CPUs
+(as well as some less common ones!) These libraries are built around a well
+specified code representation known as the LLVM intermediate representation
+("LLVM IR"). The LLVM Core libraries are well documented, and it is
+particularly easy to invent your own language (or port an existing compiler)
+to use LLVM as an optimizer and code generator."""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+toolchainopts = {'cstd': 'gnu++11', 'pic': 'True'}
+
+source_urls = [
+    'https://github.com/llvm/llvm-project/releases/download/llvmorg-%(version)s/']
+sources = ['llvm-%(version)s.src.tar.xz']
+checksums = ['1e09e8c26e1b67bc94a128b62e9b9c24b70c697a2436a479c9e5eedc4ae29654']
+
+builddependencies = [
+    ('binutils', '2.37'),
+    ('CMake', '3.21.1', '', SYSTEM),
+    ('Python', '3.9.6'),
+]
+
+dependencies = [
+    ('ncurses', '6.2'),
+    ('zlib', '1.2.11'),
+]
+
+build_shared_libs = True
+
+build_targets = ["AMDGPU", "X86"]
+
+sanity_check_paths = {
+    'files': ['bin/llvm-ar', 'bin/FileCheck'],
+    'dirs': ['include/llvm', 'include/llvm-c'],
+}
+
+sanity_check_commands = ["llvm-ar --help"]
+
+moduleclass = 'compiler'
diff --git a/Overlays/jureca_mi200_overlay/l/libdrm/libdrm-2.4.107-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/l/libdrm/libdrm-2.4.107-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..842abee08703a443339a995a6959e1dba6762ffe
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/l/libdrm/libdrm-2.4.107-GCCcore-11.2.0.eb
@@ -0,0 +1,32 @@
+easyblock = 'MesonNinja'
+
+name = 'libdrm'
+version = '2.4.107'
+
+homepage = 'https://dri.freedesktop.org'
+description = """Direct Rendering Manager runtime library."""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+source_urls = ['https://dri.freedesktop.org/libdrm/']
+sources = [SOURCELOWER_TAR_XZ]
+checksums = ['c554cef03b033636a975543eab363cc19081cb464595d3da1ec129f87370f888']
+
+builddependencies = [
+    ('binutils', '2.37'),
+    ('pkg-config', '0.29.2'),
+    ('Meson', '0.58.2'),
+    ('Ninja', '1.10.2'),
+]
+dependencies = [('X11', '20210802')]
+
+# installing manpages requires an extra build dependency (docbook xsl)
+configopts = '-Dman-pages=false'
+
+sanity_check_paths = {
+    'files': ['lib/libdrm.%s' % SHLIB_EXT, 'include/libdrm/drm.h'],
+    'dirs': ['include', 'lib'],
+}
+
+
+moduleclass = 'lib'
diff --git a/Overlays/jureca_mi200_overlay/l/libdrm/libdrm-2.4.108-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/l/libdrm/libdrm-2.4.108-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..6ecd87421d3828bae8fd495d516649e25f4dd60d
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/l/libdrm/libdrm-2.4.108-GCCcore-11.2.0.eb
@@ -0,0 +1,34 @@
+easyblock = 'MesonNinja'
+
+name = 'libdrm'
+version = '2.4.108'
+
+homepage = 'https://dri.freedesktop.org'
+description = """Direct Rendering Manager runtime library."""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+source_urls = ['https://dri.freedesktop.org/libdrm/']
+sources = [SOURCELOWER_TAR_XZ]
+checksums = ['a1d7948cbc536763fde14b4beb5e4da7867607966d4cf46301087e8b8fe3d6a0']
+
+# checksums = ['92d8ac54429b171e087e61c2894dc5399fe6a549b1fbba09fa6a3cb9d4e57bd4']
+
+builddependencies = [
+    ('binutils', '2.37'),
+    ('pkg-config', '0.29.2'),
+    ('Meson', '0.58.2'),
+    ('Ninja', '1.10.2'),
+]
+dependencies = [('X11', '20210802')]
+
+# installing manpages requires an extra build dependency (docbook xsl)
+configopts = '-Dman-pages=false'
+
+sanity_check_paths = {
+    'files': ['lib/libdrm.%s' % SHLIB_EXT, 'include/libdrm/drm.h'],
+    'dirs': ['include', 'lib'],
+}
+
+
+moduleclass = 'lib'
diff --git a/Overlays/jureca_mi200_overlay/l/libdrm/libdrm-2.4.110-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/l/libdrm/libdrm-2.4.110-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..528f057686a7d3fcc37de802669496c5dab367b6
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/l/libdrm/libdrm-2.4.110-GCCcore-11.2.0.eb
@@ -0,0 +1,34 @@
+easyblock = 'MesonNinja'
+
+name = 'libdrm'
+version = '2.4.110'
+
+homepage = 'https://dri.freedesktop.org'
+description = """Direct Rendering Manager runtime library."""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+source_urls = ['https://dri.freedesktop.org/libdrm/']
+sources = [SOURCELOWER_TAR_XZ]
+checksums = ['eecee4c4b47ed6d6ce1a9be3d6d92102548ea35e442282216d47d05293cf9737']
+
+# checksums = ['92d8ac54429b171e087e61c2894dc5399fe6a549b1fbba09fa6a3cb9d4e57bd4']
+
+builddependencies = [
+    ('binutils', '2.37'),
+    ('pkg-config', '0.29.2'),
+    ('Meson', '0.58.2'),
+    ('Ninja', '1.10.2'),
+]
+dependencies = [('X11', '20210802')]
+
+# installing manpages requires an extra build dependency (docbook xsl)
+configopts = '-Dman-pages=false'
+
+sanity_check_paths = {
+    'files': ['lib/libdrm.%s' % SHLIB_EXT, 'include/libdrm/drm.h'],
+    'dirs': ['include', 'lib'],
+}
+
+
+moduleclass = 'lib'
diff --git a/Overlays/jureca_mi200_overlay/m/msgpack-c/msgpack-c-4.0.0-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/m/msgpack-c/msgpack-c-4.0.0-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..48810f4559f5e3a6067b82872fd3da2351580029
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/m/msgpack-c/msgpack-c-4.0.0-GCCcore-11.2.0.eb
@@ -0,0 +1,34 @@
+# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2021/04
+# Stepan Nassyr, JSC/Forschungszentrum Juelich GmbH, s.nassyr@fz-juelich.de, 2022/05
+easyblock = 'CMakeNinja'
+
+name = 'msgpack-c'
+version = '4.0.0'
+
+homepage = 'http://msgpack.org/'
+description = """MessagePack is an efficient binary serialization format, which lets you exchange
+data among multiple languages like JSON, except that it's faster and smaller.   
+Small integers are encoded into a single byte while typical short strings       
+require only one extra byte in addition to the strings themselves."""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+source_urls = ['https://github.com/msgpack/msgpack-c/archive']
+sources = ['c-%(version)s.tar.gz']
+checksums = ['656ebe4566845e7bda9c097b625ba59ac72ddfd45df6017172d46d9ac7365aa3']
+
+builddependencies = [
+    ('CMake', '3.23.1'),
+    ('Ninja', '1.10.2'),
+    ('binutils', '2.37'),
+]
+
+sanity_check_paths = {
+    'files': [
+        ['lib/libmsgpackc.%s' % x for x in ['a', '%s' % SHLIB_EXT]],
+        ['include/msgpack.%s' % x for x in ['h', 'hpp']]  # check for both, C and C++ headers
+    ],
+    'dirs': ['lib/pkgconfig', 'include/msgpack'],
+}
+
+moduleclass = 'lib'
diff --git a/Overlays/jureca_mi200_overlay/m/msgpack-cpp/msgpack-cpp-4.1.1-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/m/msgpack-cpp/msgpack-cpp-4.1.1-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..ada77bc8143cc3926523066a99ef0faf89a6b39c
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/m/msgpack-cpp/msgpack-cpp-4.1.1-GCCcore-11.2.0.eb
@@ -0,0 +1,44 @@
+# Thomas Hoffmann, EMBL Heidelberg, structures-it@embl.de, 2021/04
+# Stepan Nassyr, JSC/Forschungszentrum Juelich GmbH, s.nassyr@fz-juelich.de, 2022/05
+easyblock = 'CMakeNinja'
+
+name = 'msgpack-cpp'
+version = '4.1.1'
+
+homepage = 'http://msgpack.org/'
+description = """MessagePack is an efficient binary serialization format, which lets you exchange
+data among multiple languages like JSON, except that it's faster and smaller.   
+Small integers are encoded into a single byte while typical short strings       
+require only one extra byte in addition to the strings themselves."""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+source_urls = ['https://github.com/msgpack/msgpack-c/archive']
+sources = ['cpp-%(version)s.tar.gz']
+checksums = ['221cc539e77f5ca02f4f0bbb1edafa9ca8c08de7ba8072d7baf2139930d99182']
+
+builddependencies = [
+    ('CMake', '3.23.1'),
+    ('Ninja', '1.10.2'),
+    ('binutils', '2.37'),
+]
+
+dependencies = [
+    ('Boost', '1.78.0')
+]
+
+configopts = (
+    "-DBUILD_SHARED_LIBS=ON "
+    "-DMSGPACK_CXX17=ON "
+    "-DMSGPACK_BUILD_EXAMPLES=OFF "
+    "-DMSGPACK_BUILD_TESTS=ON "
+)
+
+sanity_check_paths = {
+    'files': [
+        ['include/msgpack.%s' % x for x in ['h', 'hpp']]  # check for both, C and C++ headers
+    ],
+    'dirs': ['lib/cmake', 'include/msgpack'],
+}
+
+moduleclass = 'lib'
diff --git a/Overlays/jureca_mi200_overlay/o/OpenCL-Headers/OpenCL-Headers-2022.05.18-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/o/OpenCL-Headers/OpenCL-Headers-2022.05.18-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..a28b5f3159574937a9b6bc3a7427627f67ee8e9e
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/o/OpenCL-Headers/OpenCL-Headers-2022.05.18-GCCcore-11.2.0.eb
@@ -0,0 +1,31 @@
+easyblock = 'CMakeNinja'
+
+name = 'OpenCL-Headers'
+version = '2022.05.18'
+
+homepage = 'https://github.com/KhronosGroup/OpenCL-Headers'
+description = "Headers for Khronos' OpenCL API"
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+toolchainopts = {'pic': True}
+
+github_account = 'KhronosGroup'
+
+source_urls = [GITHUB_SOURCE]
+sources = ['v%(version)s.tar.gz']
+checksums = ['88a1177853b279eaf574e2aafad26a84be1a6f615ab1b00c20d5af2ace95c42e']
+
+builddependencies = [
+    ('CMake', '3.23.1'),
+    ('Ninja', '1.10.2'),
+    ('binutils', '2.37')
+]
+
+separate_build_dir = True
+
+sanity_check_paths = {
+    'files': ['include/CL/cl.h'],
+    'dirs': ['include/CL', 'share/cmake'],
+}
+
+moduleclass = 'lib'
diff --git a/Overlays/jureca_mi200_overlay/o/OpenCL-ICD-Loader/OpenCL-ICD-Loader-2022.05.18-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/o/OpenCL-ICD-Loader/OpenCL-ICD-Loader-2022.05.18-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..5c9bb793b6659af3c3c4e8abc2f747e3741fd14a
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/o/OpenCL-ICD-Loader/OpenCL-ICD-Loader-2022.05.18-GCCcore-11.2.0.eb
@@ -0,0 +1,37 @@
+easyblock = 'CMakeNinja'
+
+name = 'OpenCL-ICD-Loader'
+version = '2022.05.18'
+
+homepage = 'https://github.com/KhronosGroup/OpenCL-ICD-Loader'
+description = """ OpenCL defines an Installable Client Driver (ICD) mechanism to allow developers to build 
+                  applications against an Installable Client Driver loader (ICD loader) rather than linking their 
+                  applications against a specific OpenCL implementation."""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+toolchainopts = {'pic': True}
+
+github_account = 'KhronosGroup'
+
+source_urls = [GITHUB_SOURCE]
+sources = ['v%(version)s.tar.gz']
+checksums = ['71f70bba797a501b13b6b0905dc852f3fd6e264d74ce294f2df98d29914c4303']
+
+builddependencies = [
+    ('CMake', '3.23.1'),
+    ('Ninja', '1.10.2'),
+    ('binutils', '2.37')
+]
+
+dependencies = [
+    ('OpenCL-Headers', version)
+]
+
+separate_build_dir = True
+
+sanity_check_paths = {
+    'files': ['lib/libOpenCL.%s' % SHLIB_EXT],
+    'dirs': [],
+}
+
+moduleclass = 'lib'
diff --git a/Overlays/jureca_mi200_overlay/o/OpenGL/OpenGL-2021b-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/o/OpenGL/OpenGL-2021b-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..3cbf88df80207f5fb75f4c5ceca03775c81de456
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/o/OpenGL/OpenGL-2021b-GCCcore-11.2.0.eb
@@ -0,0 +1,210 @@
+easyblock = 'Bundle'
+
+name = 'OpenGL'
+version = '2021b'
+
+homepage = 'http://www.opengl.org/'
+description = """
+Open Graphics Library (OpenGL) is a cross-language, cross-platform application programming interface (API) for rendering
+2D and 3D vector graphics. Mesa is an open-source implementation of the OpenGL specification - a system for rendering
+interactive 3D graphics. NVIDIA supports OpenGL and a complete set of OpenGL extensions, designed to give a maximum
+performance on NVIDIA GPUs.
+
+This is a GL vendor neutral dispatch (GLVND) installation with Mesa and NVIDIA in the same lib-directory. Mesa or NVIDIA
+OpenGL is set individually for each XScreen.
+"""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+# swr detects and builds parts specific for AVX and AVX2. If we use
+# -xHost, this always gets overwritten and will fail.
+toolchainopts = {'optarch': False}
+
+builddependencies = [
+    ('Python', '3.9.6'),
+    ('binutils', '2.37'),
+    ('flex', '2.6.4'),
+    ('Bison', '3.7.6'),
+    ('Autotools', '20210726'),
+    ('pkg-config', '0.29.2'),
+    ('expat', '2.4.1'),
+    ('libxml2', '2.9.10'),
+    ('Meson', '0.58.2'),
+    ('Ninja', '1.10.2'),
+    ('CMake', '3.21.1', '', SYSTEM),
+]
+
+dependencies = [
+    ('zlib', '1.2.11'),
+    ('nettle', '3.7.3'),
+    ('libdrm', '2.4.110'),
+    ('LLVM', '14.0.3'),
+    ('X11', '20210802'),
+    ('libunwind', '1.5.0'),
+    ('Vulkan-Headers', '1.3.213'),
+    ('Vulkan-Loader', '1.3.213'),
+]
+
+default_easyblock = 'ConfigureMake'
+
+default_component_specs = {
+    'sources': [SOURCE_TAR_GZ],
+    'start_dir': '%(name)s-%(version)s',
+}
+
+local_pkg_config = ('export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:%(installdir)s/lib/pkgconfig && '
+                    'export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:%(installdir)s/lib64/pkgconfig && ')
+
+components = [
+    # A vendor neutral dispatch layer
+    ('libglvnd', '1.3.4', {
+        'source_urls': [
+            'https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v%(version)s/'
+        ],
+        'sources':   ['%(name)s-v%(version)s.tar.gz'],
+        'start_dir':  '%(name)s-v%(version)s',
+        'checksums': ['c42061da999f75234f9bca501c21144d9a5768c5911d674eceb8650ce3fb94bb'],
+        'preconfigopts': './autogen.sh && '
+    }),
+    # Mesa for software rendering, not hardware rendering.
+    ('Mesa', '22.1.0', {
+        # We build:
+        # - llvmpipe: the high-performance Gallium LLVM driver (only possible with glx=gallium-xlib)
+        # - swr: Intel's OpenSWR
+        'easyblock': 'MesonNinja',
+        'source_urls': [
+            'https://mesa.freedesktop.org/archive/',
+            'https://mesa.freedesktop.org/archive/%(version)s',
+            'ftp://ftp.freedesktop.org/pub/mesa/%(version)s',
+            'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x/%(version)s',
+            'ftp://ftp.freedesktop.org/pub/mesa/older-versions/%(version_major)s.x',
+        ],
+        'sources': [SOURCELOWER_TAR_XZ],
+        'checksums': [
+            'df6270c1371eaa2aa6eb65b95cbbb2a98b14fa4b7ba0ed45e4ca2fd32df60477',
+        ],
+        'start_dir': '%(namelower)s-%(version)s',
+        'separate_build_dir': True,
+        'preconfigopts': local_pkg_config,
+        # https://gitlab.freedesktop.org/mesa/mesa/-/blob/master/meson_options.txt
+        'configopts': (' -D libdir=%(installdir)s/lib'
+                       ' -D gbm=enabled'
+                       ' -D glx=auto'
+                       ' -D osmesa=true'
+                       ' -D llvm=enabled'
+                       ' -D shared-llvm=enabled'
+                       ' -D dri-drivers=""'
+                       ' -D vulkan-drivers="amd,swrast"'
+                       ' -D gallium-drivers="radeonsi,zink,swrast"'
+                       ' -D platforms=x11'  # surfaceless taken automatically, see logs
+                       ' -D glvnd=true'
+                       ' -D libunwind=disabled'
+                       ' -D valgrind=disabled'
+                       ' -D egl=enabled'
+                       ' -D gles1=enabled -Dgles2=enabled'
+                       ' -D shared-glapi=enabled'
+                       ' -D gallium-vdpau=disabled'  # only for r300, r600, radeonsi, nouveau
+                       ' -D buildtype=release'),
+    }),
+    # OpenGL Utility Library - offers higher level GL-graphics functions
+    ('glu', '9.0.2', {
+        'preconfigopts': local_pkg_config,
+        'source_urls': [
+            'ftp://ftp.freedesktop.org/pub/mesa/glu/'
+        ],
+        'sources': [
+            'glu-%(version)s.tar.gz'
+        ],
+        'checksums': [
+            '24effdfb952453cc00e275e1c82ca9787506aba0282145fff054498e60e19a65',
+        ],
+    }),
+    # OpenGL Extension Wrangler Library - determines which OpenGL extensions are supported at run-time
+    # This is just GLEW for GLX (which requires DISPLAY to be set) and not GLEW for EGL as GLEW selects GLX/EGL at
+    # compile-time and not run-time (https://github.com/nigels-com/glew/issues/172#issuecomment-357400019)
+    # Compile+Load GLEW-EGL on top to enable GLEW for EGL
+    ('glew', '2.2.0', {
+        'source_urls': [
+            'https://sourceforge.net/projects/glew/files/glew/snapshots/',
+        ],
+        'sources': [
+            'glew-20200115.tgz',
+        ],
+        'checksums': [
+            '314219ba1db50d49b99705e8eb00e83b230ee7e2135289a00b5b570e4a4db43a',
+        ],
+        'skipsteps': ['configure'],
+        'buildopts': ('GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s LIBDIR=%(installdir)s/lib '
+                      'LDFLAGS.EXTRA="-L${EBROOTX11}/lib/ -lX11" LDFLAGS.GL="-L%(installdir)s/lib -lGL"'),
+        'installopts': 'GLEW_PREFIX=%(installdir)s GLEW_DEST=%(installdir)s LIBDIR=%(installdir)s/lib ',
+        'install_cmd': 'make install.all ',
+    }),
+    # MESA demos - offers the important command 'eglinfo'
+    ('demos', '95c1a57cfdd1ef2852c828cba4659a72575c5c5d', {
+        'source_urls': [
+            'https://gitlab.freedesktop.org/mesa/demos/-/archive/%(version)s/',
+        ],
+        'sources': [SOURCELOWER_TAR_GZ],
+        'checksums': [
+            '7738beca8f6f6981ba04c8a22fde24d69d6b2aaab1758ac695c9475bf704249c',
+        ],
+        'preconfigopts': ('./autogen.sh && ' +
+                          local_pkg_config +
+                          'GLEW_CFLAGS="-I%(installdir)s/include/" GLEW_LIBS="-L%(installdir)s/lib/ -lGLEW -lGL" '
+                          'EGL_CFLAGS="-I%(installdir)s/include/" EGL_LIBS="-L%(installdir)s/lib/ -lEGL" '),
+        'configopts': '--disable-osmesa ',
+    }),
+]
+
+postinstallcmds = [
+    'cd %(installdir)s/lib && ln -sf libGL.so.1.7.0 libGL.so.1',
+    'rm %(installdir)s/lib/*.la',
+    'cd %(installdir)s/lib && ln -sf libGLX_mesa.so.0 libGLX_indirect.so.0',
+    # EGL vendor ICDs
+    (
+        '{ cat > %(installdir)s/share/glvnd/egl_vendor.d/50_mesa.json; } << \'EOF\'\n'
+        '{\n'
+        '  \"file_format_version\" : \"1.0.0\",\n'
+        '  \"ICD\" : {\n'
+        '     \"library_path\" : \"libEGL_mesa.so.0\"\n'
+        '  }\n'
+        '}\n'
+        'EOF'
+    ),
+    # correct pkg-config of GLEW
+    'sed -i "/^libdir=/c\\libdir=\\${exec_prefix}\\/lib" %(installdir)s/lib/pkgconfig/glew.pc',
+    'sed -i "/^prefix=/c\\prefix=%(installdir)s"       %(installdir)s/lib/pkgconfig/glew.pc',
+]
+
+modextravars = {
+    # '__GLX_VENDOR_LIBRARY_NAME': 'mesa'
+    '__EGL_VENDOR_LIBRARY_FILENAMES': ('%(installdir)s/share/glvnd/egl_vendor.d/50_mesa.json'),
+    'EGL_PLATFORM': 'surfaceless',
+    'EGL_DRIVER': 'radeonsi',
+    'EGL_LOG_LEVEL': 'fatal',
+    'GALLIUM_DRIVER': 'radeonsi',
+    'KNOB_MAX_WORKER_THREADS': '65535',
+}
+
+modluafooter = '''
+add_property("arch","gpu")
+
+conflict("Mesa")
+conflict("libGLU")
+'''
+
+sanity_check_paths = {
+    'files': [
+        'lib/libEGL_mesa.%s' % SHLIB_EXT, 'lib/libOSMesa.%s' % SHLIB_EXT,
+        'lib/libGLESv1_CM.%s' % SHLIB_EXT, 'lib/libGLESv2.%s' % SHLIB_EXT,
+        'include/GL/glext.h', 'include/GL/glx.h',
+        'include/GL/osmesa.h', 'include/GL/gl.h', 'include/GL/glxext.h',
+        'include/GLES/gl.h', 'include/GLES2/gl2.h', 'include/GLES3/gl3.h',
+        'lib/libOpenGL.%s' % SHLIB_EXT,
+        'lib/libGLEW.a', 'lib/libGLEW.%s' % SHLIB_EXT,
+        'bin/glewinfo', 'bin/visualinfo',
+        'include/GL/glew.h', 'include/GL/glxew.h', 'include/GL/wglew.h',
+    ],
+    'dirs': []
+}
+
+moduleclass = 'vis'
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/MIOpen-disable-pch-until-5.3.patch b/Overlays/jureca_mi200_overlay/r/ROCm/MIOpen-disable-pch-until-5.3.patch
new file mode 100644
index 0000000000000000000000000000000000000000..1c404693472d95cb4d896a34bf075ce7c4eb010a
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/MIOpen-disable-pch-until-5.3.patch
@@ -0,0 +1,13 @@
+diff --git a/src/comgr.cpp b/src/comgr.cpp
+index cf108f247..0a1d3791f 100644
+--- a/src/comgr.cpp
++++ b/src/comgr.cpp
+@@ -119,7 +119,7 @@ MIOPEN_DECLARE_ENV_VAR(MIOPEN_DEBUG_OPENCL_WAVE64_NOWGP)
+ 
+ // '__hipGetPCH' is not available in [4.4, 5.0). See SWDEV-308265.
+ #if HIP_SUPPORTS_PCH && (HIP_PACKAGE_VERSION_FLAT >= 4004000000ULL) && \
+-    (HIP_PACKAGE_VERSION_FLAT < 5000000000ULL)
++    (HIP_PACKAGE_VERSION_FLAT < 5003000000ULL)
+ #undef HIP_SUPPORTS_PCH
+ #define HIP_SUPPORTS_PCH 0
+ #endif
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/ROCm-5.1.3-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/r/ROCm/ROCm-5.1.3-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..17e9a0cb3fa9d455a8abacf65df54b96f19776d0
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/ROCm-5.1.3-GCCcore-11.2.0.eb
@@ -0,0 +1,1070 @@
+# Bundle containing ROCm framework and libraries
+#
+# The Arch Linux AUR recipes are the reference: https://github.com/rocm-arch/rocm-arch
+#
+# TODO: hipify-clang needs CUDA (headers?), right now CUDA is excluded in the mi200 partition. Maybe hidden CUDA or
+#       allow installation or make a custom package?
+# TODO: missing: hipify-clang (see above)
+#                miopen-opencl (I think it's either miopen-hip or miopen-opencl but not both)
+#                mivisionx (started writing component, but it needs Qt5,OpenCV,FFmpeg and would pull in
+#                           CUDA which is disallowed)
+#                rocm-validation-suite (started writing component, but need to install pciutils-devel rpm)
+#                gpufort (github.com/RocmSoftwarePlatform/openacc-fortran-interfaces.git is required but
+#                         is private, ask AMD for access? )
+#                        NOTE: This might actually be outdated, but gpufort seems like just a python script?
+#
+# TODO: missing pkgs that just provide some version numbers:
+#       rocm-core
+#       rocm-hip-libraries
+#       rocm-hip-runtime
+#       rocm-hip-sdk
+#       rocm-language-runtime
+#       rocm-opencl-sdk
+# TODO: sanity-check existence of all the libraries
+# TODO: some modextrapaths, modextravars might need to be set?
+# TODO: Some components are a bit hacked together, writing an easyblock might be better (hipamd, openmp-extras, ...)
+# TODO: check if any package is unusable when not compiled on a system with a GPU (code auto-detects GPU).
+#       There are some tricks wrt rocm_agent_enumerator (ROCM_TARGET_LST env. var. or target.lst in the same dir)
+#
+# Other notes:
+#  - MIOpen __hipGetPCH missing might be due to some flag in hipamd, for now the patch disables PCH until v5.3
+#  - AMDMIGraphX is made to link explicitly against mkl through configopts - this should be handled by cmake
+#    either in Blaze or AMDMIGraphX. maybe a patch?
+
+easyblock = 'Bundle'
+name = 'ROCm'
+version = '5.1.3'
+
+homepage = 'https://github.com/RadeonOpenCompute/ROCm'
+description = """AMD ROCm - Open Source Platform for HPC and Ultrascale GPU Computing."""
+
+site_contacts = 's.nassyr@fz-juelich.de'
+
+# toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+# rocALUTION asks for mpi (I think it can build without it though)
+# OpenMPI needs ROCm at compile time to support it, so this might be problematic ("ROCm-Bare" package containing only
+# what OpenMPI needs?)
+toolchain = {'name': 'gompi', 'version': '2021b'}
+
+
+builddependencies = [
+    ("binutils", "2.37"),
+    ("CMake",    "3.23.1"),
+    ("Ninja",    "1.10.2"),
+    ("makeinfo", "6.8"),           # ROCgdb complains about it missing
+    # roctracer breaks without this (also the newer robotpy-cppheaderparser doesn't seem to work)
+    ("CppHeaderParser", "2.7.4"),
+]
+
+dependencies = [
+    ("libdrm", "2.4.110"),  # ROCT complains about libdrm not being found
+    ("OpenGL", "2021b"),    # hip needs mesa
+    ("Python", "3.9.6"),    # rocFFT asks for python headers
+    ("guile",  "2.0.14"),   # ROCgdb wants guile-2.0
+    ("MPFR",   "4.1.0"),    # also ROCgdb
+    ("source-highlight",  "3.1.9"),      # also ROCgdb
+    ("babeltrace",        "1.5.8"),      # also ROCgdb
+    ("fmt",               "8.1.1"),      # rocSOLVER uses fmt for something
+    ("protobuf",          "3.17.3"),     # AMDMIGraphX and some others
+    ("nlohmann-json",     "3.10.4"),     # AMDMIGraphX
+    ("msgpack-c",         "4.0.0"),      # AMDMIGraphX
+    ("msgpack-cpp",       "4.1.1"),      # AMDMIGraphX
+    ("pybind11",          "2.7.1"),      # AMDMIGraphX
+    ("Blaze",             "3.8.1",
+     '', ('gomkl', '2021b')),            # AMDMIGraphX
+    # AMDMIGraphX, probably getting it from Blaze, but better to put explicit
+    ("imkl",              "2021.4.0"),
+    # dependency
+    # ("FFmpeg",            "4.4.1"),                              # MIVisionX
+    # ("OpenCV",            "4.5.4", '', ('gcccoremkl','2021b')),  # MIVisionX
+    # ("Qt5",               "5.15.2"),                             # MIVisionX
+    ("OpenCL-Headers",    "2022.05.18"),  # OpenCL runtime and miopengemm
+    ("OpenCL-ICD-Loader", "2022.05.18"),  # OpenCL runtime and miopengemm
+]
+
+default_easyblock = 'CMakeNinja'
+github_account = "RadeonOpenCompute"
+
+local_amdgpu_targets = "gfx90a"
+
+components = [
+    ('ROCT-Thunk-Interface', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':  ['3c66b1aa7451571ce8bee10e601d34b93c9416b9be476610ee5685dbad81034a'],
+         'srcdir':     '%(name)s-rocm-%(version)s'
+     }),
+    ('rocm-cmake', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': ['19b2da0d56300aab454655b57435ab3ed9e101ecb96561336ea8865bbd993c23'],
+         'srcdir':    '%(name)s-rocm-%(version)s'
+     }),
+    ('llvm-project', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocm-llvm-%(version)s.tar.gz',
+         }],
+         'checksums': ['d236a2064363c0278f7ba1bb2ff1545ee4c52278c50640e8bb2b9cfef8a2f128'],
+         'srcdir':    '%(name)s-rocm-%(version)s/llvm',
+         'install_target_subdir': 'llvm',
+         'configopts': (" -DLLVM_HOST_TRIPLE=x86_64-linux-gnu "
+                        " -DLLVM_BUILD_UTILS=ON "
+                        " -DLLVM_ENABLE_BINDINGS=OFF "
+                        " -DOCAMLFIND=NO "
+                        " -DLLVM_ENABLE_OCAMLDOC=OFF "
+                        " -DLLVM_INCLUDE_BENCHMARKS=OFF "
+                        " -DLLVM_BUILD_TESTS=OFF "
+                        " -DLLVM_ENABLE_PROJECTS='llvm;clang;compiler-rt;lld' "
+                        " -DLLVM_TARGETS_TO_BUILD='AMDGPU;X86' "
+                        " -DLLVM_BINUTILS_INCDIR=$EBROOTBINUTILS/include ")
+     }),
+    ('ROCm-Device-Libs', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':  ['c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e'],
+         'srcdir':     '%(name)s-rocm-%(version)s',
+         'configopts': " -DLLVM_DIR=%(installdir)s/llvm/lib/cmake/llvm "
+     }),
+    ('ROCm-CompilerSupport', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':  ['3078c10e9a852fe8357712a263ad775b15944e083f93a879935c877511066ac9'],
+         'srcdir':     '%(name)s-rocm-%(version)s/lib/comgr',
+         'configopts': " -DCMAKE_PREFIX_PATH=\"%(installdir)s/llvm;%(installdir)s\" "
+     }),
+    ('hsa-amd-aqlprofile', version,
+     {
+         'easyblock':   "Binary",
+         'source_urls': ['http://repo.radeon.com/rocm/apt/%(version)s/pool/main/h/hsa-amd-aqlprofile/'],
+         'sources':     [{
+             'download_filename': 'hsa-amd-aqlprofile_1.0.0.50103-66_amd64.deb',
+             'filename':          '%(name)s-%(version)s.deb',
+             'extract_cmd':       'ar x %s'
+         }],
+         'checksums':   ['ba76a30f078cfd2d4927fd43840f22265ebc0dfd1c03ac3bc36f637b67ec4119'],
+         'install_cmd': """
+             mkdir -p %(builddir)s/%(name)s
+             tar -C "%(builddir)s/%(name)s" -xf data.tar.gz;
+             cp -r %(builddir)s/%(name)s/opt/rocm-%(version)s/%(name)s/ %(installdir)s/hsa
+             cp -r %(builddir)s/%(name)s/opt/rocm-%(version)s/lib/ %(installdir)s/lib
+             cp -r %(builddir)s/%(name)s/opt/rocm-%(version)s/share/ %(installdir)s/share
+             ln -sf %(installdir)s/hsa/lib/lib%(name)s64.so %(installdir)s/lib/lib%(name)s64.so
+         """
+     }),
+    ('ROCR-Runtime', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':  ['479340ec34cdffbbdb1002c85a47d1fccd23e8394631a1f001ef6130be08287d'],
+         'srcdir':     '%(name)s-rocm-%(version)s/src',
+         'configopts': (" -DCMAKE_PREFIX_PATH=\"%(installdir)s/llvm;%(installdir)s\" "
+                        " -DCMAKE_CXX_FLAGS='-DNDEBUG' ")
+     }),
+    ('rocminfo', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('https://patch-diff.githubusercontent.com/raw/RadeonOpenCompute/rocminfo/pull/53.patch',
+              '%(name)s-rocm-%(version)s')],
+         'checksums': [
+             '7aecd7b189e129b77c8f2af70be2926a0f3a5ee89814879bc8477924a7e6f2ae',
+             '95d6f679a7ad45ee663222c85dd5e7d456c9cf5da3cd43455c3c2fe2ee36f0a0',
+         ],
+         'srcdir':     '%(name)s-rocm-%(version)s',
+         'configopts': (" -DCMAKE_PREFIX_PATH=\"%(installdir)s/llvm;%(installdir)s\" "
+                        " -DROCRTST_BLD_TYPE=Release "
+                        " -DCMAKE_INSTALL_LIBDIR=lib ")
+     }),
+    ('hipamd', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/HIP/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'hip-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocm-opencl-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/ROCclr/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocclr-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/hipamd/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'hipamd-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('https://github.com/ROCm-Developer-Tools/HIP/commit/d221fb6ebbe24d66855af8160687aa01b0112dec.patch',
+              'HIP-rocm-%(version)s'),
+             ('hipamd-5.1.3-git-hash.patch', 'hipamd-rocm-%(version)s')
+         ],
+         'checksums': [
+             'ce755ee6e407904eba3f6b3c9efcdd48eb4f58a26b06e1892166d05f19a75973',
+             '44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31',
+             'ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48',
+             '707f2217f0e7aeb62d7b76830a271056d665542bf5f7a54e40adf4d5f299ca93',
+             'a7991885288152633f2d058c874278fd4e61eafa1992771b8d122c3a3ad9da35',
+             'bf5429dfb95e11844c14fe4d2aced3a023ff4bcc7dd5ded78d81ce3df1f08249',
+         ],
+         'srcdir':                'hipamd-rocm-%(version)s/',
+         'install_target_subdir': 'hip',
+         'configopts': (" -DCMAKE_PREFIX_PATH=\"%(installdir)s/llvm;%(installdir)s\" "
+                        " -DHIP_COMMON_DIR=%(builddir)s/HIP-rocm-%(version)s/ "
+                        " -DAMD_OPENCL_PATH=%(builddir)s/ROCm-OpenCL-Runtime-rocm-%(version)s/ "
+                        " -DROCCLR_PATH=%(builddir)s/ROCclr-rocm-%(version)s/ "
+                        " -DROCCLR_INCLUDE_PATH=%(builddir)s/ROCclr-rocm-%(version)s "
+                        " -DHIP_PLATFORM=amd "
+                        " -DCMAKE_INSTALL_LIBDIR=lib "),
+         'installopts': "install && " + "\n".join([
+             "sed -i '/__noinline__/d' %(installdir)s/hip/include/hip/amd_detail/host_defines.h",
+             "install -d %(installdir)s/bin",
+             "install -d %(installdir)s/include",
+             "install -d %(installdir)s/lib/cmake",
+             ("for binary in hipcc hipconfig hipcc.pl hipconfig.pl; "
+              "  do ln -s %(installdir)s/hip/bin/$binary %(installdir)s/bin/$binary; "
+              "done"),
+             "ln -s %(installdir)s/hip/lib/libamdhip64.so %(installdir)s/lib/libamdhip64.so",
+             "ln -s %(installdir)s/hip/include/hip %(installdir)s/include/hip",
+             "ln -s %(installdir)s/hip/lib/cmake/hip %(installdir)s/lib/cmake/hip",
+             "ln -s %(installdir)s/hip/lib/cmake/hip-lang %(installdir)s/lib/cmake/hip-lang",
+         ]) + "\n echo "
+     }),
+    ('llvm-project-mlir', version,
+     {
+         'source_urls': ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         # fix stray ";" in linker flags
+         'patches':   [('llvm-project-mlir-fix-rpath-flags.patch', '%(name)s-rocm-%(version)s')],
+         'checksums': [
+             '936f92707ffe9a1973728503db6365bb7f14e5aeccfaef9f0924e54d25080c69',
+             '53c05fab666019860a60e8a32fdc99046177a1f0dd76a4a5ec9fc3dab7b5bba5',
+         ],
+         'srcdir':         '%(name)s-rocm-%(version)s',
+         'preconfigopts':  'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'prebuildopts':   'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'preinstallopts': 'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'configopts': (
+             " -DMLIR_MIOPEN_SQLITE_ENABLED=On "
+             " -DBUILD_FAT_LIBMLIRMIOPEN=1 "
+             " -DROCM_PATH=%(installdir)s "
+             " -DLLVM_TARGETS_TO_BUILD='AMDGPU;X86' ")
+     }),
+    ('rocm_smi_lib', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('https://patch-diff.githubusercontent.com/raw/RadeonOpenCompute/rocm_smi_lib/pull/107.patch',
+              '%(name)s-rocm-%(version)s')],
+         'checksums': [
+             '8a19ce60dc9221545aa50e83e88d8c4be9bf7cde2425cefb13710131dc1d7b1b',
+             'f1d66af131833a55bcfcac63e9af7194cc38cb1bb583fb74427e4f0f89719910',
+         ],
+         'srcdir':     '%(name)s-rocm-%(version)s',
+         'configopts': (" -DCMAKE_SHARED_LINKER_FLAGS=\"-fuse-ld=bfd\" "
+                        " -DCMAKE_MODULE_LINKER_FLAGS=\"-fuse-ld=bfd\" "
+                        " -DCMAKE_EXE_LINKER_FLAGS=\"-fuse-ld=bfd\" ")
+     }),
+    ('atmi', version,
+     {
+         'easyblock': 'CMakeMake',  # Uses cmake in a crappy way breaking ninja
+         'sources':   [{
+             'source_urls':       [GITHUB_SOURCE],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'a43448d77705b2b07e1758ffe8035aa6ba146abc2167984e8cb0f1615797b341',
+         ],
+         'srcdir':                '%(name)s-rocm-%(version)s/src',
+         'install_target_subdir': 'atmi',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DROCM_VERSION=\"%(version)s\" " +\
+                          " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets,
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; "
+     }),
+    ('ROCdbgapi', version,
+     {
+         'source_urls': ['https://github.com/ROCm-Developer-Tools/%(name)s/archive'],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('https://patch-diff.githubusercontent.com/raw/ROCm-Developer-Tools/ROCdbgapi/pull/4.patch',
+              '%(name)s-rocm-%(version)s')],
+         'checksums': [
+             '880f80ebf741e3451676837f720551e02cffd0b9346ca4dfa6cf7f7043282f2b',
+             '91b29cafec79441e6c311d50ca5653ec8315c401b1cc0f93ce65bfdfdda2e04e',
+         ],
+         'srcdir': '%(name)s-rocm-%(version)s',
+     }),
+    ('rocr_debug_agent', version,
+     {
+         'source_urls': ['https://github.com/ROCm-Developer-Tools/%(name)s/archive'],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':     ['ef26130829f3348d503669467ab1ea39fb67d943d88d64e7ac04b9617ec6067d'],
+         'srcdir':         '%(name)s-rocm-%(version)s',
+         'preconfigopts':  'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'prebuildopts':   'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'preinstallopts': 'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'configopts':     " -DCMAKE_HIP_ARCHITECTURES=\"%s\" " % local_amdgpu_targets +\
+                           (" -DCMAKE_PREFIX_PATH=\"%(installdir)s;%(installdir)s/hip\" "
+                            " -DCMAKE_MODULE_PATH=\"%(installdir)s/hip/cmake\" ")
+     }),
+    ('ROCgdb', version,
+     {
+         'easyblock':   'ConfigureMake',
+         'source_urls': ['https://github.com/ROCm-Developer-Tools/%(name)s/archive'],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':      ['81f5e368facdcc424a37cb5809f0b436bedb9a6d9af4d17785b3c446ab0a7821'],
+         'preconfigopts':  'cd %(name)s-rocm-%(version)s && ',
+         'prebuildopts':   'cd %(name)s-rocm-%(version)s && ',
+         'preinstallopts': 'cd %(name)s-rocm-%(version)s && ',
+         'configopts': (
+             "  --program-prefix=roc "
+             "  --disable-shared "
+             "  --disable-nls "
+             "  --enable-source-highlight "
+             "  --enable-tui "
+             "  --enable-64-bit-bfd "
+             "  --enable-targets=\"x86_64-linux-gnu,amdgcn-amd-amdhsa\" "
+             "  --with-system-readline "
+             "  --with-python=$EBROOTPYTHON/bin/python3 "
+             "  --with-rocm-dbgapi=%(installdir)s "
+             "  --with-guile=guile-2.0 "
+             "  --with-expat "
+             "  --with-system-zlib "
+             "  --with-babeltrace "
+             "  --with-lzma "
+             "  --disable-gdbtk "
+             "  --disable-ld "
+             "  --disable-gas "
+             "  --disable-gdbserver "
+             "  --disable-sim "
+         )
+     }),
+    ('rocprofiler', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/roctracer/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'roctracer-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'eca7be451c7bf000fd9c75683e7f5dfbed32dbb385b5ac685d2251ee8c3abc96',
+             '45f19875c15eb609b993788b47fd9c773b4216074749d7744f3a671be17ef33c',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': 'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'prebuildopts':  'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'configopts':    " -DPROF_API_HEADER_PATH=%(builddir)s/roctracer-rocm-%(version)s/inc/ext",
+         'installopts':   "install && " + "\n".join([
+             "install -d %(installdir)s/bin",
+             "ln -s %(installdir)s/rocprofiler/bin/rocprof %(installdir)s/bin/rocprof",
+         ]) + "\n echo "
+     }),
+    ('roctracer', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('https://patch-diff.githubusercontent.com/raw/ROCm-Developer-Tools/roctracer/pull/63.patch',
+              '%(name)s-rocm-%(version)s'),
+             ('roctracer-hsa_ostream_ops-include.patch',
+              '%(name)s-rocm-%(version)s'),
+         ],
+         'checksums': [
+             '45f19875c15eb609b993788b47fd9c773b4216074749d7744f3a671be17ef33c',
+             '937e040a045eceddb609f18df1106f17fbe69b0ca479dea43fb794d58cacf7c2',
+             '1a614b3416a50ddcd6fcfa80730a9beb856ca3314b522aef353f0ad7baf593da',
+         ],
+         'preconfigopts': 'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip; ',
+         'prebuildopts':  'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'srcdir':        '%(name)s-rocm-%(version)s',
+     }),
+    ('rccl', version,
+     {
+         'source_urls': ['https://github.com/ROCmSoftwarePlatform/rccl/archive'],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':     ['56491257f27b48bf85f4b91434a2a6e49a448337c889db181b02c8a4a260a4bc'],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc " +\
+                          " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets,
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; "
+     }),
+    ('ROCclr', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocm-opencl-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/ROCclr/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocclr-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31',
+             'ddee63cdc6515c90bab89572b13e1627b145916cb8ede075ef8446cbb83f0a48',
+         ],
+         'srcdir':      '%(name)s-rocm-%(version)s/',
+         'configopts':  (" -DAMD_OPENCL_PATH=%(builddir)s/ROCm-OpenCL-Runtime-rocm-%(version)s/ "),
+         'installopts': ' && echo ',  # install nothing, just build and use for OpenCL later
+     }),
+    ('ROCm-OpenCL-Runtime', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocm-opencl-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '44a7fac721abcd93470e1a7e466bdea0c668c253dee93e4f1ea9a72dbce4ba31',
+         ],
+         'srcdir':     '%(name)s-rocm-%(version)s/',
+         'configopts': (" -DCMAKE_PREFIX_PATH=\"%(builddir)s/ROCclr-rocm-%(version)s/;%(installdir)s\" "
+                        " -DROCCLR_PATH=%(builddir)s/ROCclr-rocm-%(version)s/ "
+                        " -DROCCLR_INCLUDE_PATH=%(builddir)s/ROCclr-rocm-%(version)s "
+                        " -DROCM_PATH=%(installdir)s"
+                        " -DAMD_OPENCL_PATH=%(builddir)s/ROCm-OpenCL-Runtime-rocm-%(version)s/ "),
+     }),
+    ('clang-ocl', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/RadeonOpenCompute/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'e19ee15f26fc03309398ac73cc738508c0e1617deccfd667d369a3948b5d3552',
+         ],
+         'srcdir':     '%(name)s-rocm-%(version)s/',
+         'configopts': (" -DCLANG_BIN=\"%(installdir)s/llvm/bin\" "
+                        " -DBITCODE_DIR=\"%(installdir)s/amdgcn/bitcode\" "),
+     }),
+    ('MIOpenGEMM', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('https://patch-diff.githubusercontent.com/raw/ROCmSoftwarePlatform/MIOpenGEMM/pull/46.patch',
+              '%(name)s-rocm-%(version)s'),
+         ],
+         'checksums': [
+             'c70fc9e2a6d47356a612e24f5757bf16fdf26e671bd53a0975c1a0978da740b6',
+             '4d54249ca45623328721ec0648b7ba18697ad9f7ef0c0bd01c96b9ed5670fa33',
+         ],
+         'srcdir': '%(name)s-rocm-%(version)s/',
+     }),
+    ('openmp-extras', version,
+     # Very hacky, needs easyblock
+     {
+         'easyblock': 'ConfigureMake',
+         'sources':   [{
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/aomp/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'aomp-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/RadeonOpenCompute/llvm-project/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocm-llvm-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocm-device-libs-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/flang/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'flang-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/aomp-extras/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'aomp-extras-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('llvm-project-hostrpc-fprintf-decl.patch',
+              'llvm-project-rocm-%(version)s'),
+             ('aomp-gcc8-only-for-cuda.patch',
+              'aomp-rocm-%(version)s'),
+             ('aomp-openmp-buildpath.patch',
+              'aomp-rocm-%(version)s'),
+             ('aomp-openmp-llvm.patch',
+              'aomp-rocm-%(version)s'),
+             ('aomp-flang-decouple-out-dir-and-rocm-install.patch',
+              'aomp-rocm-%(version)s'),
+             ('aomp-flang-libomp-path.patch',
+              'aomp-rocm-%(version)s'),
+             ('aomp-flang-alarm-signature.patch',
+              'flang-rocm-%(version)s'),
+             ('aomp-extras-compiler-in-rocm-dir.patch',
+              'aomp-extras-rocm-%(version)s'),
+         ],
+         'checksums': [
+             '8bab3d621343f419b29043ac0cb56e062f114991dc3ec1e33e786f771deecc8f',
+             'd236a2064363c0278f7ba1bb2ff1545ee4c52278c50640e8bb2b9cfef8a2f128',
+             'c41958560ec29c8bf91332b9f668793463904a2081c330c0d828bf2f91d4f04e',
+             'd7847b5c6e1344dc0b4723dbe76a859257b4c242644dedb34e425f07738530d4',
+             '2e3151a47d77166d071213af2a1691487691aae0abd5c1718d818a6d7d09cb2d',
+
+             'c846bac17580e939492b843bee092c2e1b2b414a683bdb6be2973ae044642424',
+             '705a7103c3aeff514e5645c130786172961c54673dfdd772caece3b5e7536088',
+             'f7ed1704ffb095bbe8512b1c567a111936685d35f64123c786194e4239277251',
+             '6efb9538e016e1e6e2fb6ce52408bb6317c213ebdd46a60925447d0b43f42ee6',
+             'e82a4f065cc259095bf96778b913b97fe39d7c207e4e25ccf59d8fa264014262',
+             'ff3c3e56bfc11c0c9a6ab5c5392168da06aed3b4a21cdfcf7a149d12a69e2906',
+             '7c796d44952da8f089dc3ee013970dba7be43c60eb90131f86ce7d15c67b4b9b',
+             'f8f57cdcc4ddf535323f4f84a4a4a4fa830fbad72b19c7ea45d74fa5579ee72f',
+         ],
+         'configure_cmd': ("ln -fs %(builddir)s/llvm-project-rocm-%(version)s %(builddir)s/llvm-project;"
+                           "ln -fs %(builddir)s/flang-rocm-%(version)s %(builddir)s/flang;"
+                           "ln -fs %(builddir)s/aomp-extras-rocm-%(version)s %(builddir)s/aomp-extras;"
+                           " echo "),  # echo --prefix=...
+         'build_cmd': ("export OMPEXTRA_DIR=\"%(builddir)s/openmp-extras\";"
+                       "export OUT_DIR=\"$OMPEXTRA_DIR\";"
+                       "export AOMP=\"$OUT_DIR/llvm\";"
+                       "export AOMP_STANDALONE_BUILD=0;"
+                       "export AOMP_REPOS=\"%(builddir)s\";"
+                       "export ROCM_DIR=\"%(installdir)s\";"
+                       "export DEVICELIBS_ROOT=\"%(builddir)s/ROCm-Device-Libs-rocm-%(version)s\";"
+                       "export LLVM_PROJECT_ROOT=\"%(builddir)s/llvm-project\";"
+                       "cd \"%(builddir)s/aomp-rocm-%(version)s/bin\";"
+                       "./build_extras.sh && "
+                       "./build_extras.sh install && "
+                       "./build_openmp.sh && "
+                       "./build_openmp.sh install && "
+                       "./build_pgmath.sh && "
+                       "./build_pgmath.sh install && "
+                       "./build_flang.sh && "
+                       "./build_flang.sh install && "
+                       "./build_flang_runtime.sh && "
+                       "./build_flang_runtime.sh install && echo "),  # echo -j 64 ...
+         # echo install ?
+         'install_cmd': "cp -r %(builddir)s/openmp-extras/* %(installdir)s/; echo "
+     }),
+    ('rocPRIM', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'b5a08d2e76388bd1ffa6c946009928fe95de846ab6b65a6475998070c0cf6dc1',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s/',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    (" -Damd_comgr_DIR=%(installdir)s/lib/cmake/amd_comgr "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -DBUILD_TEST=OFF "
+                           " -DBUILD_BENCHMARK=OFF ") +\
+                          " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets,
+         'prebuildopts': "export ROCM_PATH=%(installdir)s; "
+     }),
+    ('rocFFT', version,
+     {
+         'source_urls': ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('https://github.com/ROCmSoftwarePlatform/rocFFT/commit/31589ce749a7dc27158e98dcbfbb33ab0a288fa5.patch',
+              '%(name)s-rocm-%(version)s')],
+         'checksums': [
+             'b4fcd03c1b07d465bb307ec33cc7fb50036dff688e497c5e52b2dec37f4cb618',
+             '9a8a7eae7d529eab197e3df0c6553d952633ef38ab805857140a7f98e856b030',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc " +\
+                          " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets,
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; "
+     }),
+    ('rocRAND', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/hipRAND/archive'],
+             'download_filename': '20ac3db9d7462c15a3e96a6f0507cd5f2ee089c4.tar.gz',
+             'filename':          'hiprand-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '4a19e1bcb60955a02a73ad64594c23886d6749afe06b0104e2b877dbe02c8d1c',
+             'ee38a68c9e88056b7ecd41553e496e455dbb3fe08871ff3545430d6733070e6b',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': ("export ROCM_PATH=%(installdir)s; "
+                           "rm -rf %(builddir)s/%(name)s-rocm-%(version)s/hipRAND; "
+                           "ln -sf %(builddir)s/hipRAND-20ac3db9d7462c15a3e96a6f0507cd5f2ee089c4 "
+                           " %(builddir)s/%(name)s-rocm-%(version)s/hipRAND && "),
+         'configopts':    " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc " +\
+                          " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                          " -DBUILD_TEST=OFF ",
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; ",
+         'installopts':   "install && " + "\n".join([
+             "install -d %(installdir)s/include",
+             "ln -s %(installdir)s/hiprand/include %(installdir)s/include/hiprand",
+             "ln -s %(installdir)s/rocrand/include %(installdir)s/include/rocrand",
+         ]) + "\n echo "
+     }),
+    ('rocBLAS', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '915374431db8f0cecdc2bf318a0ad33c3a8eceedc461d7a06b92ccb02b07313c',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                          (" -DCMAKE_PREFIX_PATH=%(installdir)s/llvm/lib/cmake/llvm "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -Damd_comgr_DIR=%(installdir)s/lib/cmake/amd_comgr "
+                           " -DBUILD_WITH_TENSILE=ON "
+                           " -DBUILD_WITH_TENSILE_HOST=ON "
+                           " -DTensile_LIBRARY_FORMAT=yaml "
+                           " -DTensile_COMPILER=hipcc "
+                           " -DTensile_LOGIC=asm_full "
+                           " -DTensile_CODE_OBJECT_VERSION=V3 "
+                           " -DBUILD_CLIENTS_TESTS=OFF "
+                           " -DBUILD_CLIENTS_BENCHMARKS=OFF "
+                           " -DBUILD_CLIENTS_SAMPLES=OFF "
+                           " -DBUILD_TESTING=OFF "),
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('MIOpen', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/half/archive'],
+             'download_filename': '1.12.0.tar.gz',
+             'filename':          'half-1.12.0.tar.gz',
+         }],
+         'patches': [
+             ('https://github.com/ROCmSoftwarePlatform/MIOpen/pull/1490.patch',
+              '%(name)s-rocm-%(version)s'),
+             ('https://github.com/ROCmSoftwarePlatform/MIOpen/pull/1469.patch',
+              '%(name)s-rocm-%(version)s'),
+             # This might actually be some missing flag in hipamd, but disable for now
+             ('MIOpen-disable-pch-until-5.3.patch',
+              '%(name)s-rocm-%(version)s'),
+         ],
+         'checksums': [
+             '510461f5c5bdbcf8dc889099d1e5960b9f84bd845a9fc9154588a9898c701c1d',
+             '0a08660b68abb176ebc2a0cdf8de46e3182a7f46c66443bb80dbfaaec98cf969',
+
+             '1d909db4a12832b4024ba3fdd709f6f1dc0e76078dae37c395ceb5edccd1b073',
+             '31202f23f001a27abf274d08dcfa50aee6c77f7efe8a74c800b9773ce2d7916a',
+             '2241a0ff476336947c9eccbe144169a23c7da0734737b40372d499d980bf924f',
+         ],
+         'preconfigopts': (
+             # This is just completely broken. I think the only dependency missing as of 5.1.3 is "half",
+             # which is a single header, so download and copy it
+             # " sed -i 's|^sqlite|#\\0|' "
+             # " %(builddir)s/%(name)s-rocm-%(version)s/{,min-}requirements.txt; "
+             # " sed -i 's|^boost|#\\0|' "
+             # " %(builddir)s/%(name)s-rocm-%(version)s/{,min-}requirements.txt; "
+             # " sed -i 's|^ROCmSoftwarePlatform/llvm-project-mlir|#\\0|' "
+             # " %(builddir)s/%(name)s-rocm-%(version)s/{,min-}requirements.txt; "
+             # " cmake -P %(builddir)s/%(name)s-rocm-%(version)s/install_deps.cmake "
+             # "--minimum --prefix \"%(builddir)s/%(name)s-rocm-%(version)s/deps\"; "
+             " install -d %(builddir)s/%(name)s-rocm-%(version)s/deps/half/include; "
+             " cp %(builddir)s/half-1.12.0/include/half.hpp %(builddir)s/%(name)s-rocm-%(version)s/deps/half/include/; "
+             " export ROCM_PATH=%(installdir)s; "
+             " export MIOPEN_DEBUG_COMGR_HIP_PCH_ENFORCE=0; "
+         ),
+         'srcdir':     '%(name)s-rocm-%(version)s/',
+         'configopts': " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                       (" -DCMAKE_CXX_COMPILER=%(installdir)s/llvm/bin/clang++ "
+                        " -DCMAKE_C_COMPILER=%(installdir)s/llvm/bin/clang "
+                        " -DHALF_INCLUDE_DIR=%(builddir)s/%(name)s-rocm-%(version)s/deps/half/include "
+                        " -DMIOPEN_BACKEND=HIP "),
+         'prebuildopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('AMDMIGraphX', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/half/archive'],
+             'download_filename': '1.12.0.tar.gz',
+             'filename':          'half-1.12.0.tar.gz',
+         }],
+         'checksums': [
+             '686e068774500a46b6e6488370bbf5bd0bba6d19ecdb00636f951704d19c9ef2',
+             '0a08660b68abb176ebc2a0cdf8de46e3182a7f46c66443bb80dbfaaec98cf969',
+         ],
+         'preconfigopts': (
+             " install -d %(builddir)s/%(name)s-rocm-%(version)s/deps/half/include; "
+             " cp %(builddir)s/half-1.12.0/include/half.hpp %(builddir)s/%(name)s-rocm-%(version)s/deps/half/include/; "
+             " export ROCM_PATH=%(installdir)s; "
+         ),
+         'srcdir':     '%(name)s-rocm-%(version)s/',
+         'configopts': " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                       (" -DHALF_INCLUDE_DIR=%(builddir)s/%(name)s-rocm-%(version)s/deps/half/include "
+                        " -DCMAKE_SHARED_LINKER_FLAGS=\"$LDFLAGS "
+                        "$EBROOTIMKL/mkl/$EBVERSIONIMKL/lib/intel64/libmkl_avx2.so.1\" "),  # explicitly link mkl
+         'prebuildopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    # ('MIVisionX', version,
+    #  {
+    #      'sources' : [{
+    #         'source_urls'       : ['https://github.com/GPUOpen-ProfessionalCompute-Libraries/%(name)s/archive'],
+    #         'download_filename' : 'rocm-%(version)s.tar.gz',
+    #         'filename'          : '%(namelower)s-%(version)s.tar.gz',
+    #      }],
+    #      'checksums'  : [
+    #          '62591d5caedc13832c3ccef629a88d9c2a43c884daad1124ddcb9c5f7d5470e9',
+    #      ],
+    #      'preconfigopts' : (
+    #          " install -d %(builddir)s/%(name)s-rocm-%(version)s/deps/half/include; "
+    #          " cp %(builddir)s/half-1.12.0/include/half.hpp "
+    #          " %(builddir)s/%(name)s-rocm-%(version)s/deps/half/include/; "
+    #          " export ROCM_PATH=%(installdir)s; "
+    #      ),
+    #      'srcdir'        : '%(name)s-rocm-%(version)s/',
+    #      'install_target_subdir' : 'mivisionx',
+    #      'configopts'    : " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+    #                        (
+    #                            " -DHALF_INCLUDE_DIR=%(builddir)s/%(name)s-rocm-%(version)s/deps/half/include "
+    #                            " -DBACKEND=HIP "
+    #                            " -DCMAKE_CXX_FLAGS=\"$CXXFLAGS -isystem $EBROOTFFMPEG/include/ffmpeg4.4\" "
+    #                            # Not sure why explicit ffmpeg include dir is necessary
+    #                        ),
+    #      'prebuildopts'  : "export ROCM_PATH=%(installdir)s; ",
+    #  }),
+    ('rocSOLVER', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('https://github.com/acxz/rocSOLVER/commit/0f4658e04ac7b48fea213f29b209a0206b67c43f.patch',
+              '%(name)s-rocm-%(version)s')],
+         'checksums': [
+             '5a8f3b95ac9a131c31538196e954ea53b863009c092cce0c0ef869a0cd5dd554',
+             '1f2ad0256013dcc3f3d6a494b864326d2ac0e79b528102cd5b235f55f8069c61',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc " +\
+                          " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets,
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('rocSPARSE', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'ef9641045b36c9aacc87e4fe7717b41b1e29d97e21432678dce7aca633a8edc2',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                          (" -Drocprim_DIR=\"%(installdir)s/rocprim/rocprim/lib/cmake/rocprim\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -DBUILD_CLIENT_SAMPLES=OFF "),
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('rocThrust', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '8d92de1e69815d92a423b7657f2f37c90f1d427f5bc92915c202d4c266254dad',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                          (" -Damd_comgr_DIR=\"%(installdir)s/lib/cmake/amd_comgr\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -DBUILD_TEST=OFF "),
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('rocALUTION', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches':        [('rocALUTION-complex.patch', '%(name)s-rocm-%(version)s')],
+         'checksums':      [
+             '7febe8179f120cbe58ea255bc233ad5d1b4c106f3934eb8e670135a8b7bd09c7',
+             '870c69bca23a3cff3741a54e8222fefb329f9ab62fd9d0f47a3f14bfabda76b8',
+         ],
+         'srcdir':         '%(name)s-rocm-%(version)s',
+         'preconfigopts':  "export ROCM_PATH=%(installdir)s; ",
+         'configopts':     " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                           " -DROCM_PATH=\"%(installdir)s\" ",
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('hipCUB', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'dc75640689b6a5e15dd3acea643266bdf114ea63efc60be8272f484cf8f04494',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                          (" -DROCM_PATH=\"%(installdir)s\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -Damd_comgr_DIR=\"%(installdir)s/lib/cmake/amd_comgr\" "),
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('hipBLAS', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'f0fdaa851971b41b48ec2e7d640746fbd6f9f433da2020c5fd95c91a7473d9e1',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                          (" -DROCM_PATH=\"%(installdir)s\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -Damd_comgr_DIR=\"%(installdir)s/lib/cmake/amd_comgr\" "
+                           " -DBUILD_CLIENTS_TESTS=OFF "
+                           " -DBUILD_CLIENTS_SAMPLES=OFF "),
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('hipFFT', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'c26fa64499293b25d0686bed04feb61378c878a4bb4a6d559e6cb7be1f6bf2ec',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                          (" -DROCM_PATH=\"%(installdir)s\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -Damd_comgr_DIR=\"%(installdir)s/lib/cmake/amd_comgr\" "
+                           " -DCMAKE_MODULE_PATH=\"%(installdir)s/hip/cmake\" "
+                           " -DBUILD_CLIENTS_TESTS=OFF "
+                           " -DBUILD_CLIENTS_SAMPLES=OFF "),
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('hipfort', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '8f8849d8d0972366bafa41be35cf6a7a59480ed584d1ddff39768cb14247e9d4',
+         ],
+         'install_target_subdir': 'hipfort',
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                          " -DROCM_PATH=\"%(installdir)s\" ",
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('hipSOLVER', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '96faa799a2db8078b72f9c3b5c199179875a7c20dc1064371b22a6a63397c145',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                          (" -DROCM_PATH=\"%(installdir)s\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "),
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('hipSPARSE', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '6e6a0752654f0d391533df8cedf4b630a78ad34c99087741520c582963ce1602',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+                          (" -DROCM_PATH=\"%(installdir)s\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -DCMAKE_CXX_STANDARD=20 "
+                           " -Damd_comgr_DIR=\"%(installdir)s/lib/cmake/amd_comgr\" "
+                           " -DAMDDeviceLibs_DIR=\"%(installdir)s/lib/cmake/AMDDeviceLibs\" "
+                           " -Dhip_DIR=\"%(installdir)s/hip/lib/cmake/hip\" "
+                           " -Drocsparse_DIR=\"%(installdir)s/rocsparse/lib/cmake/rocsparse\" "
+                           " -DBUILD_CLIENTS_TESTS=OFF "
+                           " -DBUILD_CLIENTS_SAMPLES=OFF "),
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    # ('ROCmValidationSuite', version,
+    #  {
+    #      'sources' : [{
+    #         'source_urls'       : ['https://github.com/ROCm-Developer-Tools/%(name)s/archive'],
+    #         'download_filename' : 'rocm-%(version)s.tar.gz',
+    #         'filename'          : '%(namelower)s-%(version)s.tar.gz',
+    #      }],
+    #      # This just adds detection of Arch Linux, so probably not important?
+    #      'patches'       : [
+    #          ('https://github.com/acxz/ROCmValidationSuite/commit/eb1a4bf5de8d8ba25f21ee13d6af1c46416e3961.patch',
+    #           '%(name)s-rocm-%(version)s')],
+    #      'checksums'     : [
+    #         '0140a4128c31749c078d9e1dc863cbbd690efc65843c34a4b80f0056e5b8c7b6',
+    #      ],
+    #      'srcdir'        : '%(name)s-rocm-%(version)s',
+    #      'preconfigopts' : ("export ROCM_PATH=%(installdir)s; "
+    #                        ),
+    #      'configopts'    : " -DAMDGPU_TARGETS=%s " % local_amdgpu_targets +\
+    #                         (" -DROCM_PATH=\"%(installdir)s\" "
+    #                         ),
+    #      'prebuildopts'  : "export ROCM_PATH=%(installdir)s; ",
+    #      'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+    #  }),
+]
+
+modextrapaths = {
+    'PATH': [
+        # TODO: more binaries
+        'mivisionx/bin',
+        'rvs/bin',
+    ],
+    'LD_LIBRARY_PATH': [
+        'hip/lib',
+        'hipblas/lib',
+        'hipfft/lib',
+        'hipfort/lib',
+        'hipsolver/lib',
+        'hipsparse/lib',
+        'hsa/lib',
+        'llvm/lib',
+        'miopen/lib',
+        'oam/lib',
+        'rccl/lib',
+        'rocblas/lib',
+        'rocfft/lib',
+        'rocm_smi/lib',
+        'rocprim/lib',
+        'rocsolver/lib',
+        'rocsparse/lib',
+    ],
+    'LIBRARY_PATH': [
+        'hip/lib',
+        'hipblas/lib',
+        'hipfft/lib',
+        'hipfort/lib',
+        'hipsolver/lib',
+        'hipsparse/lib',
+        'hsa/lib',
+        'llvm/lib',
+        'miopen/lib',
+        'oam/lib',
+        'rccl/lib',
+        'rocblas/lib',
+        'rocfft/lib',
+        'rocm_smi/lib',
+        'rocprim/lib',
+        'rocsolver/lib',
+        'rocsparse/lib',
+    ],
+}
+
+moduleclass = 'devel'
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/ROCm-5.2.0-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/r/ROCm/ROCm-5.2.0-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..14cc1d05457061bdc0af62dfd3c7bb44519a7fe7
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/ROCm-5.2.0-GCCcore-11.2.0.eb
@@ -0,0 +1,1098 @@
+# Bundle containing ROCm framework and libraries
+#
+# The Arch Linux AUR recipes are the reference: https://github.com/rocm-arch/rocm-arch
+#
+# TODO: hipify-clang needs CUDA (headers?), right now CUDA is excluded in the mi200 partition. Maybe hidden CUDA or
+#       allow installation or make a custom package?
+# TODO: missing: hipify-clang (see above)
+#                miopen-opencl (I think it's either miopen-hip or miopen-opencl but not both)
+#                mivisionx (started writing component, but it needs Qt5,OpenCV,FFmpeg and would pull in
+#                           CUDA which is disallowed)
+#                rocm-validation-suite (started writing component, but need to install pciutils-devel rpm)
+#                gpufort (github.com/RocmSoftwarePlatform/openacc-fortran-interfaces.git is required but
+#                         is private, ask AMD for access? )
+#                        NOTE: This might actually be outdated, but gpufort seems like just a python script?
+#
+# TODO: missing pkgs that just provide some version numbers:
+#       rocm-core
+#       rocm-hip-libraries
+#       rocm-hip-runtime
+#       rocm-hip-sdk
+#       rocm-language-runtime
+#       rocm-opencl-sdk
+# TODO: sanity-check existence of all the libraries
+# TODO: some modextrapaths, modextravars might need to be set?
+# TODO: Some components are a bit hacked together, writing an easyblock might be better (hipamd, openmp-extras, ...)
+# TODO: check if any package is unusable when not compiled on a system with a GPU (code auto-detects GPU).
+#       There are some tricks wrt rocm_agent_enumerator (ROCM_TARGET_LST env. var. or target.lst in the same dir)
+#
+# Other notes:
+#  - MIOpen __hipGetPCH missing might be due to some flag in hipamd, for now the patch disables PCH until v5.3
+#  - AMDMIGraphX is made to link explicitly against mkl through configopts - this should be handled by cmake
+#    either in Blaze or AMDMIGraphX. maybe a patch?
+
+easyblock = 'Bundle'
+name = 'ROCm'
+version = '5.2.0'
+
+homepage = 'https://github.com/RadeonOpenCompute/ROCm'
+description = """AMD ROCm - Open Source Platform for HPC and Ultrascale GPU Computing."""
+
+site_contacts = 's.nassyr@fz-juelich.de'
+
+# toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+# rocALUTION asks for mpi (I think it can build without it though)
+# OpenMPI needs ROCm at compile time to support it, so this might be problematic ("ROCm-Bare" package containing only
+# what OpenMPI needs?)
+toolchain = {'name': 'gompi', 'version': '2021b'}
+
+
+builddependencies = [
+    ("binutils", "2.37"),
+    ("CMake",    "3.23.1"),
+    ("Ninja",    "1.10.2"),
+    ("makeinfo", "6.8"),           # ROCgdb complains about it missing
+    # roctracer breaks without this (also the newer robotpy-cppheaderparser doesn't seem to work)
+    ("CppHeaderParser", "2.7.4"),
+]
+
+dependencies = [
+    ("libdrm", "2.4.110"),  # ROCT complains about libdrm not being found
+    ("OpenGL", "2021b"),    # hip needs mesa
+    ("Python", "3.9.6"),    # rocFFT asks for python headers
+    ("guile",  "2.0.14"),   # ROCgdb wants guile-2.0
+    ("MPFR",   "4.1.0"),    # also ROCgdb
+    ("source-highlight",  "3.1.9"),      # also ROCgdb
+    ("babeltrace",        "1.5.8"),      # also ROCgdb
+    ("fmt",               "8.1.1"),      # rocSOLVER uses fmt for something
+    ("protobuf",          "3.17.3"),     # AMDMIGraphX and some others
+    ("nlohmann-json",     "3.10.4"),     # AMDMIGraphX
+    ("msgpack-c",         "4.0.0"),      # AMDMIGraphX
+    ("msgpack-cpp",       "4.1.1"),      # AMDMIGraphX
+    ("pybind11",          "2.7.1"),      # AMDMIGraphX
+    ("Blaze",             "3.8.1",
+     '', ('gomkl', '2021b')),            # AMDMIGraphX
+    # AMDMIGraphX, probably getting it from Blaze, but better to put explicit
+    ("imkl",              "2021.4.0"),
+    # dependency
+    # ("FFmpeg",            "4.4.1"),                              # MIVisionX
+    # ("OpenCV",            "4.5.4", '', ('gcccoremkl','2021b')),  # MIVisionX
+    # ("Qt5",               "5.15.2"),                             # MIVisionX
+    ("OpenCL-Headers",    "2022.05.18"),  # OpenCL runtime and miopengemm
+    ("OpenCL-ICD-Loader", "2022.05.18"),  # OpenCL runtime and miopengemm
+]
+
+default_easyblock = 'CMakeNinja'
+github_account = "RadeonOpenCompute"
+
+local_gpus = ["gfx90a:xnack-", "gfx90a:xnack+"]
+local_amdgpu_targets = ";".join(local_gpus)
+local_hip_targets = " ".join(local_gpus)
+
+components = [
+    ('ROCT-Thunk-Interface', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':  ['3797cb0eafbec3fd3d4a2b53f789eb8cdbab30729f13dbcca0a10bc1bafd2187'],
+         'srcdir':     '%(name)s-rocm-%(version)s'
+     }),
+    ('rocm-cmake', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': ['be8646c4f7babfe9a103c97d0e9f369322f8ac6cfa528edacdbdcf7f3ef44943'],
+         'srcdir':    '%(name)s-rocm-%(version)s'
+     }),
+    ('llvm-project', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocm-llvm-%(version)s.tar.gz',
+         }],
+         'checksums': ['0f892174111b78a02d1a00f8f46d9f80b9abb95513a7af38ecf2a5a0882fe87f'],
+         'srcdir':    '%(name)s-rocm-%(version)s/llvm',
+         'install_target_subdir': 'llvm',
+         'configopts': (" -DLLVM_HOST_TRIPLE=x86_64-linux-gnu "
+                        " -DLLVM_BUILD_UTILS=ON "
+                        " -DLLVM_ENABLE_BINDINGS=OFF "
+                        " -DOCAMLFIND=NO "
+                        " -DLLVM_ENABLE_OCAMLDOC=OFF "
+                        " -DLLVM_INCLUDE_BENCHMARKS=OFF "
+                        " -DLLVM_BUILD_TESTS=OFF "
+                        " -DLLVM_ENABLE_PROJECTS='llvm;clang;compiler-rt;lld' "
+                        " -DLLVM_TARGETS_TO_BUILD='AMDGPU;X86' "
+                        " -DLLVM_BINUTILS_INCDIR=$EBROOTBINUTILS/include ")
+     }),
+    ('ROCm-Device-Libs', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':  ['901674bc941115c72f82c5def61d42f2bebee687aefd30a460905996f838e16c'],
+         'srcdir':     '%(name)s-rocm-%(version)s',
+         'configopts': " -DLLVM_DIR=%(installdir)s/llvm/lib/cmake/llvm "
+     }),
+    ('ROCm-CompilerSupport', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':  ['5f63fa93739ee9230756ef93c53019474b6cdddea3b588492d785dae1b08c087'],
+         'srcdir':     '%(name)s-rocm-%(version)s/lib/comgr',
+         'configopts': " -DCMAKE_PREFIX_PATH=\"%(installdir)s/llvm;%(installdir)s\" "
+     }),
+    ('hsa-amd-aqlprofile', version,
+     {
+         'easyblock':   "Binary",
+         'source_urls': ['http://repo.radeon.com/rocm/apt/%(version_major_minor)s/pool/main/h/hsa-amd-aqlprofile/'],
+         'sources':     [{
+             'download_filename': 'hsa-amd-aqlprofile_1.0.0.50200-65_amd64.deb',
+             'filename':          '%(name)s-%(version)s.deb',
+             'extract_cmd':       'ar x %s'
+         }],
+         'checksums':   ['4730b61c61d7caf349a3fe82f93acca708e2da760762213111e0b3100f0bc3f4'],
+         'install_cmd': """
+             mkdir -p %(builddir)s/%(name)s
+             tar -C "%(builddir)s/%(name)s" -xf data.tar.gz;
+             cp -r %(builddir)s/%(name)s/opt/rocm-%(version)s/%(name)s/ %(installdir)s/hsa
+             cp -r %(builddir)s/%(name)s/opt/rocm-%(version)s/lib/ %(installdir)s/lib
+             cp -r %(builddir)s/%(name)s/opt/rocm-%(version)s/share/ %(installdir)s/share
+             ln -sf %(installdir)s/hsa/lib/lib%(name)s64.so %(installdir)s/lib/lib%(name)s64.so
+         """
+     }),
+    ('ROCR-Runtime', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':  ['529e49693dd9f6459586dd0a26f14dd77dbdf8c0b45fb54830b294eba7babd27'],
+         'srcdir':     '%(name)s-rocm-%(version)s/src',
+         'configopts': (" -DCMAKE_PREFIX_PATH=\"%(installdir)s/llvm;%(installdir)s\" "
+                        " -DCMAKE_CXX_FLAGS='-DNDEBUG' ")
+     }),
+    ('rocminfo', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('https://patch-diff.githubusercontent.com/raw/RadeonOpenCompute/rocminfo/pull/53.patch',
+              '%(name)s-rocm-%(version)s')],
+         'checksums': [
+             'e721eb81efd384abd22ff01cdcbb6245b11084dc11a867c74c8ad6b028aa0404',
+             '95d6f679a7ad45ee663222c85dd5e7d456c9cf5da3cd43455c3c2fe2ee36f0a0',
+         ],
+         'srcdir':     '%(name)s-rocm-%(version)s',
+         'configopts': (" -DCMAKE_PREFIX_PATH=\"%(installdir)s/llvm;%(installdir)s\" "
+                        " -DROCRTST_BLD_TYPE=Release "
+                        " -DCMAKE_INSTALL_LIBDIR=lib ")
+     }),
+    ('hipamd', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/HIP/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'hip-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocm-opencl-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/ROCclr/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocclr-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/hipamd/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'hipamd-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('hipamd-5.1.3-git-hash.patch', 'hipamd-rocm-%(version)s')
+         ],
+         'checksums': [
+             'a6e0515d4d25865c037b546035df9c51f0882cd2700e759c266ff7e199f37c3a',
+             '80f73387effdcd987a150978775a87049a976aa74f5770d4420847b004dd59f0',
+             '37f5fce04348183bce2ece8bac1117f6ef7e710ca68371ff82ab08e93368bafb',
+             '8774958bebc29a4b7eb9dc2d38808d79d9a24bf9c1f44e801ff99d2d5ba82240',
+             'bf5429dfb95e11844c14fe4d2aced3a023ff4bcc7dd5ded78d81ce3df1f08249',
+         ],
+         'srcdir':                'hipamd-rocm-%(version)s/',
+         'install_target_subdir': 'hip',
+         'configopts': (" -DCMAKE_PREFIX_PATH=\"%(installdir)s/llvm;%(installdir)s\" "
+                        " -DHIP_COMMON_DIR=%(builddir)s/HIP-rocm-%(version)s/ "
+                        " -DAMD_OPENCL_PATH=%(builddir)s/ROCm-OpenCL-Runtime-rocm-%(version)s/ "
+                        " -DROCCLR_PATH=%(builddir)s/ROCclr-rocm-%(version)s/ "
+                        " -DROCCLR_INCLUDE_PATH=%(builddir)s/ROCclr-rocm-%(version)s "
+                        " -DHIP_PLATFORM=amd "
+                        " -DCMAKE_INSTALL_LIBDIR=lib "),
+         'installopts': "install && " + "\n".join([
+             "sed -i '/__noinline__/d' %(installdir)s/hip/include/hip/amd_detail/host_defines.h",
+             "install -d %(installdir)s/bin",
+             "install -d %(installdir)s/include",
+             "install -d %(installdir)s/lib/cmake",
+             ("for binary in hipcc hipconfig hipcc.pl hipconfig.pl; "
+              "  do ln -s %(installdir)s/hip/bin/$binary %(installdir)s/bin/$binary; "
+              "done"),
+             "ln -s %(installdir)s/hip/lib/libamdhip64.so %(installdir)s/lib/libamdhip64.so",
+             "ln -s %(installdir)s/hip/include/hip %(installdir)s/include/hip",
+             "ln -s %(installdir)s/hip/lib/cmake/hip %(installdir)s/lib/cmake/hip",
+             "ln -s %(installdir)s/hip/lib/cmake/hip-lang %(installdir)s/lib/cmake/hip-lang",
+         ]) + "\n echo "
+     }),
+    ('llvm-project-mlir', version,
+     {
+         'source_urls': ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         # fix stray ";" in linker flags
+         'patches':   [
+             ('llvm-project-mlir-fix-rpath-flags.patch',
+              '%(name)s-rocm-%(version)s')
+         ],
+         'checksums': [
+             '546121f203e7787d3501fbaf6673bdbeefbb39e0446b02c480454338362a1f01',
+             '53c05fab666019860a60e8a32fdc99046177a1f0dd76a4a5ec9fc3dab7b5bba5',
+         ],
+         'srcdir':         '%(name)s-rocm-%(version)s',
+         'preconfigopts':  'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'prebuildopts':   'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'preinstallopts': 'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'configopts': (
+             " -DMLIR_MIOPEN_SQLITE_ENABLED=On "
+             " -DBUILD_FAT_LIBMLIRMIOPEN=1 "
+             " -DROCM_PATH=%(installdir)s "
+             " -DLLVM_TARGETS_TO_BUILD='AMDGPU;X86' ")
+     }),
+    ('rocm_smi_lib', version,
+     {
+         'source_urls': [GITHUB_SOURCE],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('https://patch-diff.githubusercontent.com/raw/RadeonOpenCompute/rocm_smi_lib/pull/107.patch',
+              '%(name)s-rocm-%(version)s')],
+         'checksums': [
+             '7bce567ff4e087598eace2cae72d24c98b2bcc93af917eafa61ec9d1e8ef4477',
+             'f1d66af131833a55bcfcac63e9af7194cc38cb1bb583fb74427e4f0f89719910',
+         ],
+         'srcdir':     '%(name)s-rocm-%(version)s',
+         'configopts': (" -DCMAKE_SHARED_LINKER_FLAGS=\"-fuse-ld=bfd\" "
+                        " -DCMAKE_MODULE_LINKER_FLAGS=\"-fuse-ld=bfd\" "
+                        " -DCMAKE_EXE_LINKER_FLAGS=\"-fuse-ld=bfd\" ")
+     }),
+    ('atmi', version,
+     {
+         'easyblock': 'CMakeMake',  # Uses cmake in a crappy way breaking ninja
+         'sources':   [{
+             'source_urls':       [GITHUB_SOURCE],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '33e77905a607734157d46c736c924c7c50b6b13f2b2ddbf711cb08e37f2efa4f',
+         ],
+         'srcdir':                '%(name)s-rocm-%(version)s/src',
+         'install_target_subdir': 'atmi',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DROCM_VERSION=\"%(version)s\" " +\
+                          " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets,
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; "
+     }),
+    ('ROCdbgapi', version,
+     {
+         'source_urls': ['https://github.com/ROCm-Developer-Tools/%(name)s/archive'],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('https://patch-diff.githubusercontent.com/raw/ROCm-Developer-Tools/ROCdbgapi/pull/4.patch',
+              '%(name)s-rocm-%(version)s')],
+         'checksums': [
+             '44f0528a7583bc59b6585166d2289970b20115c4c70e3bcc218aff19fc242b3f',
+             '91b29cafec79441e6c311d50ca5653ec8315c401b1cc0f93ce65bfdfdda2e04e',
+         ],
+         'srcdir': '%(name)s-rocm-%(version)s',
+     }),
+    ('rocr_debug_agent', version,
+     {
+         'source_urls': ['https://github.com/ROCm-Developer-Tools/%(name)s/archive'],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':     ['f8e8d5ad691033d0c0f1850d69f35c98ba9722ab4adc66c4251f22257f56f0a2'],
+         'srcdir':         '%(name)s-rocm-%(version)s',
+         'preconfigopts':  'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'prebuildopts':   'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'preinstallopts': 'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'configopts':     " -DCMAKE_HIP_ARCHITECTURES=\"%s\" " % local_hip_targets +\
+                           (" -DCMAKE_PREFIX_PATH=\"%(installdir)s;%(installdir)s/hip\" "
+                            " -DCMAKE_MODULE_PATH=\"%(installdir)s/hip/cmake;%(installdir)s/hip/lib/cmake/hip\" ")
+     }),
+    ('ROCgdb', version,
+     {
+         'easyblock':   'ConfigureMake',
+         'source_urls': ['https://github.com/ROCm-Developer-Tools/%(name)s/archive'],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':      ['70c5b443292b9bb114844eb63b72cfab1b65f083511ee39d55db7a633c63bf5a'],
+         'preconfigopts':  'cd %(name)s-rocm-%(version)s && ',
+         'prebuildopts':   'cd %(name)s-rocm-%(version)s && ',
+         'preinstallopts': 'cd %(name)s-rocm-%(version)s && ',
+         'configopts': (
+             "  --program-prefix=roc "
+             "  --disable-shared "
+             "  --disable-nls "
+             "  --enable-source-highlight "
+             "  --enable-tui "
+             "  --enable-64-bit-bfd "
+             "  --enable-targets=\"x86_64-linux-gnu,amdgcn-amd-amdhsa\" "
+             "  --with-system-readline "
+             "  --with-python=$EBROOTPYTHON/bin/python3 "
+             "  --with-rocm-dbgapi=%(installdir)s "
+             "  --with-guile=guile-2.0 "
+             "  --with-expat "
+             "  --with-system-zlib "
+             "  --with-babeltrace "
+             "  --with-lzma "
+             "  --disable-gdbtk "
+             "  --disable-ld "
+             "  --disable-gas "
+             "  --disable-gdbserver "
+             "  --disable-sim "
+         )
+     }),
+    ('rocprofiler', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/roctracer/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'roctracer-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '1f4db27b56ef1863d4c9e1d96bac9117d66be45156d0637cfe4fd38cae61a23a',
+             '9747356ce61c57d22c2e0a6c90b66a055e435d235ba3459dc3e3f62aabae6a03',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': 'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'prebuildopts':  'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'configopts':    " -DPROF_API_HEADER_PATH=%(builddir)s/roctracer-rocm-%(version)s/inc/ext",
+         'installopts':   "install && " + "\n".join([
+             "install -d %(installdir)s/bin",
+             "ln -s %(installdir)s/rocprofiler/bin/rocprof %(installdir)s/bin/rocprof",
+         ]) + "\n echo "
+     }),
+    ('roctracer', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('roctracer-hsa_ostream_ops-include.patch',
+              '%(name)s-rocm-%(version)s'),
+         ],
+         'checksums': [
+             '9747356ce61c57d22c2e0a6c90b66a055e435d235ba3459dc3e3f62aabae6a03',
+             '1a614b3416a50ddcd6fcfa80730a9beb856ca3314b522aef353f0ad7baf593da',
+         ],
+         'preconfigopts': 'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip; ',
+         'prebuildopts':  'export ROCM_PATH=%(installdir)s; export HIP_PATH=%(installdir)s/hip;  ',
+         'srcdir':        '%(name)s-rocm-%(version)s',
+     }),
+    ('rccl', version,
+     {
+         'source_urls': ['https://github.com/ROCmSoftwarePlatform/rccl/archive'],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums':     ['6ee3a04da0d16eb53f768a088633a7d8ecc4416a2d0c07f7ba8426ab7892b060'],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc " +\
+                          " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets,
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; "
+     }),
+    ('ROCclr', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocm-opencl-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/ROCclr/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocclr-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '80f73387effdcd987a150978775a87049a976aa74f5770d4420847b004dd59f0',
+             '37f5fce04348183bce2ece8bac1117f6ef7e710ca68371ff82ab08e93368bafb',
+         ],
+         'srcdir':      '%(name)s-rocm-%(version)s/',
+         'configopts':  (" -DAMD_OPENCL_PATH=%(builddir)s/ROCm-OpenCL-Runtime-rocm-%(version)s/ "),
+         'installopts': ' && echo ',  # install nothing, just build and use for OpenCL later
+     }),
+    ('ROCm-OpenCL-Runtime', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocm-opencl-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '80f73387effdcd987a150978775a87049a976aa74f5770d4420847b004dd59f0',
+         ],
+         'srcdir':     '%(name)s-rocm-%(version)s/',
+         'configopts': (" -DCMAKE_PREFIX_PATH=\"%(builddir)s/ROCclr-rocm-%(version)s/;%(installdir)s\" "
+                        " -DROCCLR_PATH=%(builddir)s/ROCclr-rocm-%(version)s/ "
+                        " -DROCCLR_INCLUDE_PATH=%(builddir)s/ROCclr-rocm-%(version)s "
+                        " -DROCM_PATH=%(installdir)s"
+                        " -DAMD_OPENCL_PATH=%(builddir)s/ROCm-OpenCL-Runtime-rocm-%(version)s/ "),
+     }),
+    ('clang-ocl', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/RadeonOpenCompute/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'a2059f6aeccc119abbd444cb37128e00e4854e22a88a47f120f8f8b947d862c5',
+         ],
+         'srcdir':     '%(name)s-rocm-%(version)s/',
+         'configopts': (" -DCLANG_BIN=\"%(installdir)s/llvm/bin\" "
+                        " -DBITCODE_DIR=\"%(installdir)s/amdgcn/bitcode\" "),
+     }),
+    ('MIOpenGEMM', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('https://patch-diff.githubusercontent.com/raw/ROCmSoftwarePlatform/MIOpenGEMM/pull/46.patch',
+              '%(name)s-rocm-%(version)s'),
+         ],
+         'checksums': [
+             '10458fb07b56a7fbe165595d588b7bf5f1300c57bda2f3133c3687c7bae39ea8',
+             '4d54249ca45623328721ec0648b7ba18697ad9f7ef0c0bd01c96b9ed5670fa33',
+         ],
+         'srcdir': '%(name)s-rocm-%(version)s/',
+     }),
+    ('openmp-extras', version,
+     # Very hacky, needs easyblock
+     {
+         'easyblock': 'ConfigureMake',
+         'sources':   [{
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/aomp/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'aomp-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/RadeonOpenCompute/llvm-project/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocm-llvm-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'rocm-device-libs-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/flang/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'flang-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCm-Developer-Tools/aomp-extras/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          'aomp-extras-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('llvm-project-hostrpc-fprintf-decl.patch',
+              'llvm-project-rocm-%(version)s'),
+             ('aomp-openmp-buildpath.patch',
+              'aomp-rocm-%(version)s'),
+             ('aomp-5.2.0-openmp-rocm_dir.patch',
+              'aomp-rocm-%(version)s'),
+             ('aomp-flang-decouple-out-dir-and-rocm-install.patch',
+              'aomp-rocm-%(version)s'),
+             ('aomp-flang-libomp-path.patch',
+              'aomp-rocm-%(version)s'),
+             # ('aomp-flang-alarm-signature.patch',
+             #  'flang-rocm-%(version)s'),
+             ('aomp-extras-5.2.0-rocm-dir-llvm.patch',
+              'aomp-extras-rocm-%(version)s'),
+             ('aomp-5.2.0-extras-version-string.patch',
+              'aomp-rocm-%(version)s'),
+         ],
+         'checksums': [
+             '20e21312816272222d1f427ea72a99a9a67077078552f5e2638a40860d161d25',
+             '0f892174111b78a02d1a00f8f46d9f80b9abb95513a7af38ecf2a5a0882fe87f',
+             '901674bc941115c72f82c5def61d42f2bebee687aefd30a460905996f838e16c',
+             '20f48cac9b58496230fa2428eba4e15ec0a6e92d429569b154a328b7a8c5da17',
+             '817c2e8975e56a8875ff56f9d1ea34d5e7e50f1b541b7f1236e3e5c8d9eee47f',
+
+             'c846bac17580e939492b843bee092c2e1b2b414a683bdb6be2973ae044642424',
+             'f7ed1704ffb095bbe8512b1c567a111936685d35f64123c786194e4239277251',
+             '0d91c5408192dcceacde986c3419592efc67ad40d359d127604ee9bfbdba477a',
+             'e82a4f065cc259095bf96778b913b97fe39d7c207e4e25ccf59d8fa264014262',
+             'ff3c3e56bfc11c0c9a6ab5c5392168da06aed3b4a21cdfcf7a149d12a69e2906',
+             # '7c796d44952da8f089dc3ee013970dba7be43c60eb90131f86ce7d15c67b4b9b',
+             'bae31efe2dd3f6813e9198c210ba3390028ed89e0d47e86366bef741c70c4db7',
+             '7c5372078c74facbd7cae451c3a717bf281344dcd5c4103e1c837d980e79ccc9',
+         ],
+         'configure_cmd': ("ln -fs %(builddir)s/llvm-project-rocm-%(version)s %(builddir)s/llvm-project;"
+                           "ln -fs %(builddir)s/flang-rocm-%(version)s %(builddir)s/flang;"
+                           "ln -fs %(builddir)s/aomp-extras-rocm-%(version)s %(builddir)s/aomp-extras;"
+                           " echo "),  # echo --prefix=...
+         'build_cmd': ("export OMPEXTRA_DIR=\"%(builddir)s/openmp-extras\";"
+                       "export OUT_DIR=\"$OMPEXTRA_DIR\";"
+                       "export AOMP=\"$OUT_DIR/llvm\";"
+                       "export AOMP_STANDALONE_BUILD=0;"
+                       "export AOMP_REPOS=\"%(builddir)s\";"
+                       "export ROCM_DIR=\"%(installdir)s\";"
+                       "export DEVICELIBS_ROOT=\"%(builddir)s/ROCm-Device-Libs-rocm-%(version)s\";"
+                       "export LLVM_PROJECT_ROOT=\"%(builddir)s/llvm-project\";"
+                       "cd \"%(builddir)s/aomp-rocm-%(version)s/bin\";"
+                       "./build_extras.sh && "
+                       "./build_extras.sh install && "
+                       "./build_openmp.sh && "
+                       "./build_openmp.sh install && "
+                       "./build_pgmath.sh && "
+                       "./build_pgmath.sh install && "
+                       "./build_flang.sh && "
+                       "./build_flang.sh install && "
+                       "./build_flang_runtime.sh && "
+                       "./build_flang_runtime.sh install && echo "),  # echo -j 64 ...
+         # echo install ?
+         'install_cmd': "cp -r %(builddir)s/openmp-extras/* %(installdir)s/; echo "
+     }),
+    ('rocPRIM', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'f99eb7d2f6b1445742fba631a0dc8bb0d464a767a9c4fb79ac865d9570fe747b',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s/',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    (" -Damd_comgr_DIR=%(installdir)s/lib/cmake/amd_comgr "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -DBUILD_TEST=OFF "
+                           " -DBUILD_BENCHMARK=OFF ") +\
+                          " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets,
+         'prebuildopts': "export ROCM_PATH=%(installdir)s; "
+     }),
+    ('rocFFT', version,
+     {
+         'source_urls': ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+         'sources':     [{
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [],
+         'checksums': [
+             'ebba280b7879fb4bc529a68072b98d4e815201f90d24144d672094bc241743d4',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc " +\
+                          " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets,
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; "
+     }),
+    ('rocRAND', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/hipRAND/archive'],
+             'download_filename': '12e2f070337945318295c330bf69c6c060928b9e.tar.gz',
+             'filename':          'hiprand-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'ab3057e7c17a9fbe584f89ef98ec92a74d638a98d333e7d0f64daf7bc9051e38',
+             '6a891b7a420ee629776b2eca792b0f0cf92a35e99f7046515ecc9fd2359eadd3',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': ("export ROCM_PATH=%(installdir)s; "
+                           "rm -rf %(builddir)s/%(name)s-rocm-%(version)s/hipRAND; "
+                           "ln -sf %(builddir)s/hipRAND-12e2f070337945318295c330bf69c6c060928b9e "
+                           " %(builddir)s/%(name)s-rocm-%(version)s/hipRAND && "),
+         'configopts':    " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc " +\
+                          " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                          " -DBUILD_TEST=OFF ",
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; ",
+         'installopts':   "install && " + "\n".join([
+             "install -d %(installdir)s/include",
+             "ln -s %(installdir)s/hiprand/include %(installdir)s/include/hiprand",
+             "ln -s %(installdir)s/rocrand/include %(installdir)s/include/rocrand",
+         ]) + "\n echo "
+     }),
+    ('rocBLAS', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('rocBLAS-5.2.0-find-python-if-undefined.patch',
+              '%(name)s-rocm-%(version)s'),
+             ('rocblas-5.2.0-internal-rocblas-include-fix.patch',
+              '%(name)s-rocm-%(version)s')
+         ],
+         'checksums': [
+             'b178b7db5f0af55b21b5f744b8825f5e002daec69b4688e50df2bca2fac155bd',
+             'c01d9235e055a00859bf3571e5afe33e296959296ff895d89a36cd1627d15d71',
+             '97a068c162f5f3117150cb81ebe9d0f96cc96f5b2be2de6594afb25d6cceae3b',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                          (" -DCMAKE_PREFIX_PATH=%(installdir)s/llvm/lib/cmake/llvm "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -Damd_comgr_DIR=%(installdir)s/lib/cmake/amd_comgr "
+                           " -DBUILD_WITH_TENSILE=ON "
+                           " -DBUILD_WITH_TENSILE_HOST=ON "
+                           " -DTensile_LIBRARY_FORMAT=yaml "
+                           " -DTensile_COMPILER=hipcc "
+                           " -DTensile_LOGIC=asm_full "
+                           " -DTensile_CODE_OBJECT_VERSION=V3 "
+                           " -DBUILD_CLIENTS_TESTS=OFF "
+                           " -DBUILD_CLIENTS_BENCHMARKS=OFF "
+                           " -DBUILD_CLIENTS_SAMPLES=OFF "
+                           " -DBUILD_TESTING=OFF "),
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('rocWMMA', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [],
+         'checksums': [
+             '257ccd1cf2bc1d8064e72e78d276ef7446b2cb7e2dec05ff8331bb44eff2b7cb',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    (" -DROCWMMA_BUILD_TESTS=OFF "
+                           " -DROCWMMA_BUILD_SAMPLES=OFF "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc ") +\
+                          " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets,
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('MIOpen', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/half/archive'],
+             'download_filename': '1.12.0.tar.gz',
+             'filename':          'half-1.12.0.tar.gz',
+         }],
+         'patches': [
+             # This might actually be some missing flag in hipamd, but disable for now
+             ('MIOpen-disable-pch-until-5.3.patch',
+              '%(name)s-rocm-%(version)s'),
+             ('miopen-5.2.0-rocblas-include-fix.patch',
+              '%(name)s-rocm-%(version)s'),
+         ],
+         'checksums': [
+             '5fda69426e81df9f8fb6658e579176b9c4fcce3516fc8488d3cfd2b6f6f2b3b4',
+             '0a08660b68abb176ebc2a0cdf8de46e3182a7f46c66443bb80dbfaaec98cf969',
+
+             '2241a0ff476336947c9eccbe144169a23c7da0734737b40372d499d980bf924f',
+             'f2c98f50cf9a7c1468f563987c7a86047dfadfc01e4004a1323a39d7b8d592ab',
+         ],
+         'preconfigopts': (
+             # This is just completely broken. I think the only dependency missing as of 5.1.3 is "half",
+             # which is a single header, so download and copy it
+             # " sed -i 's|^sqlite|#\\0|' "
+             # " %(builddir)s/%(name)s-rocm-%(version)s/{,min-}requirements.txt; "
+             # " sed -i 's|^boost|#\\0|' "
+             # " %(builddir)s/%(name)s-rocm-%(version)s/{,min-}requirements.txt; "
+             # " sed -i 's|^ROCmSoftwarePlatform/llvm-project-mlir|#\\0|' "
+             # " %(builddir)s/%(name)s-rocm-%(version)s/{,min-}requirements.txt; "
+             # " cmake -P %(builddir)s/%(name)s-rocm-%(version)s/install_deps.cmake "
+             # "--minimum --prefix \"%(builddir)s/%(name)s-rocm-%(version)s/deps\"; "
+             " install -d %(builddir)s/%(name)s-rocm-%(version)s/deps/half/include; "
+             " cp %(builddir)s/half-1.12.0/include/half.hpp %(builddir)s/%(name)s-rocm-%(version)s/deps/half/include/; "
+             " export ROCM_PATH=%(installdir)s; "
+             " export MIOPEN_DEBUG_COMGR_HIP_PCH_ENFORCE=0; "
+         ),
+         'srcdir':     '%(name)s-rocm-%(version)s/',
+         'configopts': " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                       (" -DCMAKE_CXX_COMPILER=%(installdir)s/llvm/bin/clang++ "
+                        " -DCMAKE_C_COMPILER=%(installdir)s/llvm/bin/clang "
+                        " -DHALF_INCLUDE_DIR=%(builddir)s/%(name)s-rocm-%(version)s/deps/half/include "
+                        " -DMIOPEN_BACKEND=HIP "),
+         'prebuildopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('AMDMIGraphX', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }, {
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/half/archive'],
+             'download_filename': '1.12.0.tar.gz',
+             'filename':          'half-1.12.0.tar.gz',
+         }],
+         'checksums': [
+             '33afcdf52c6e0e3a2f939fcf30e87f712b8e8ef3633a3dc03a19fea359704925',
+             '0a08660b68abb176ebc2a0cdf8de46e3182a7f46c66443bb80dbfaaec98cf969',
+         ],
+         'preconfigopts': (
+             " install -d %(builddir)s/%(name)s-rocm-%(version)s/deps/half/include; "
+             " cp %(builddir)s/half-1.12.0/include/half.hpp %(builddir)s/%(name)s-rocm-%(version)s/deps/half/include/; "
+             " export ROCM_PATH=%(installdir)s; "
+         ),
+         'srcdir':     '%(name)s-rocm-%(version)s/',
+         'configopts': " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                       (" -DHALF_INCLUDE_DIR=%(builddir)s/%(name)s-rocm-%(version)s/deps/half/include "
+                        " -DCMAKE_SHARED_LINKER_FLAGS=\"$LDFLAGS "
+                        "$EBROOTIMKL/mkl/$EBVERSIONIMKL/lib/intel64/libmkl_avx2.so.1\" "),  # explicitly link mkl
+         'prebuildopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    # ('MIVisionX', version,
+    #  {
+    #      'sources' : [{
+    #         'source_urls'       : ['https://github.com/GPUOpen-ProfessionalCompute-Libraries/%(name)s/archive'],
+    #         'download_filename' : 'rocm-%(version)s.tar.gz',
+    #         'filename'          : '%(namelower)s-%(version)s.tar.gz',
+    #      }],
+    #      'checksums'  : [
+    #          '62591d5caedc13832c3ccef629a88d9c2a43c884daad1124ddcb9c5f7d5470e9',
+    #      ],
+    #      'preconfigopts' : (
+    #          " install -d %(builddir)s/%(name)s-rocm-%(version)s/deps/half/include; "
+    #          " cp %(builddir)s/half-1.12.0/include/half.hpp "
+    #          " %(builddir)s/%(name)s-rocm-%(version)s/deps/half/include/; "
+    #          " export ROCM_PATH=%(installdir)s; "
+    #      ),
+    #      'srcdir'        : '%(name)s-rocm-%(version)s/',
+    #      'install_target_subdir' : 'mivisionx',
+    #      'configopts'    : " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+    #                        (
+    #                            " -DHALF_INCLUDE_DIR=%(builddir)s/%(name)s-rocm-%(version)s/deps/half/include "
+    #                            " -DBACKEND=HIP "
+    #                            " -DCMAKE_CXX_FLAGS=\"$CXXFLAGS -isystem $EBROOTFFMPEG/include/ffmpeg4.4\" "
+    #                            # Not sure why explicit ffmpeg include dir is necessary
+    #                        ),
+    #      'prebuildopts'  : "export ROCM_PATH=%(installdir)s; ",
+    #  }),
+    ('rocSOLVER', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [],
+         'checksums': [
+             '94d46ebe1266eaa05df50c1789dc27d3f2dbf3cb5af156e757777a82ed6ef356',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc " +\
+                          " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets,
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('rocSPARSE', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '7ed929af16d2502135024a6463997d9a95f03899b8a33aa95db7029575c89572',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                          (" -Drocprim_DIR=\"%(installdir)s/rocprim/rocprim/lib/cmake/rocprim\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -DBUILD_CLIENTS_SAMPLES=OFF "),
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('rocThrust', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'afa126218485586682c78e97df8025ae4efd32f3751c340e84c436e08868c326',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                          (" -Damd_comgr_DIR=\"%(installdir)s/lib/cmake/amd_comgr\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -DBUILD_TEST=OFF "),
+         'prebuildopts':  "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('rocALUTION', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches':        [
+             ('rocALUTION-5.2.0-rocblas-include-fix.patch',
+              '%(name)s-rocm-%(version)s'),
+             ('rocALUTION-5.2.0-fix-complex-device-operators.patch',
+              '%(name)s-rocm-%(version)s'),
+         ],
+         'checksums':      [
+             'a5aac471bbec87d019ad7c6db779c73327ad40ecdea09dc5ab2106e62cd6b7eb',
+             '030a7bfe49aeb20b0f72f7e4a1aed9ac2e1d9a901355ebfb58042409f3eebae9',
+             'ae7fb5eeba68f7e8af2b81a1b1587c33efeee7d67d3b91cbad8886130e107720',
+         ],
+         'srcdir':         '%(name)s-rocm-%(version)s',
+         'preconfigopts':  "export ROCM_PATH=%(installdir)s; ",
+         'configopts':     " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                           " -DROCM_PATH=\"%(installdir)s\" ",
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('hipCUB', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'ac4dc2310f0eb657e1337c93d8cc4a5d8396f9544a7336eeceb455678a1f9139',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                          (" -DROCM_PATH=\"%(installdir)s\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -Damd_comgr_DIR=\"%(installdir)s/lib/cmake/amd_comgr\" "),
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('hipBLAS', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'patches': [
+             ('hipBLAS-5.2.0-rocblas-include-fix.patch',
+              '%(name)s-rocm-%(version)s'),
+         ],
+         'checksums': [
+             '5e9091dc4ef83896f5c3bc5ade1cb5db8e1a6afc451dbba4da19d8a7ec2b6f29',
+             'a499d593cf4186be9236895df470610e26791ea27cf498eb03900e884e1f23ca',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                          (" -DROCM_PATH=\"%(installdir)s\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -Damd_comgr_DIR=\"%(installdir)s/lib/cmake/amd_comgr\" "
+                           " -DBUILD_CLIENTS_TESTS=OFF "
+                           " -DBUILD_CLIENTS_SAMPLES=OFF "),
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('hipFFT', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'ec37edcd61837281c403802ccc1cb01ec3fa3ba135b5ab16617961b66d4cc3e2',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                          (" -DROCM_PATH=\"%(installdir)s\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -Damd_comgr_DIR=\"%(installdir)s/lib/cmake/amd_comgr\" "
+                           " -DCMAKE_MODULE_PATH=\"%(installdir)s/hip/cmake\" "
+                           " -DBUILD_CLIENTS_TESTS=OFF "
+                           " -DBUILD_CLIENTS_SAMPLES=OFF "),
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('hipfort', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             'a0af1fe62757993600a41af6bb6c4b8c6cfdfba650389645ac1f995f7623785c',
+         ],
+         'install_target_subdir': 'hipfort',
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                          " -DROCM_PATH=\"%(installdir)s\" ",
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('hipSOLVER', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '96927410e0a2cc0f50172604ef6437e15d2cf4b62d22b2035f13aae21f43dc82',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                          (" -DROCM_PATH=\"%(installdir)s\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "),
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    ('hipSPARSE', version,
+     {
+         'sources': [{
+             'source_urls':       ['https://github.com/ROCmSoftwarePlatform/%(name)s/archive'],
+             'download_filename': 'rocm-%(version)s.tar.gz',
+             'filename':          '%(namelower)s-%(version)s.tar.gz',
+         }],
+         'checksums': [
+             '4fdab6ec953c6d2d000687c5979077deafd37208cd722554b5a6ede1e5ba170c',
+         ],
+         'srcdir':        '%(name)s-rocm-%(version)s',
+         'preconfigopts': "export ROCM_PATH=%(installdir)s; ",
+         'configopts':    " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+                          (" -DROCM_PATH=\"%(installdir)s\" "
+                           " -DCMAKE_CXX_COMPILER=%(installdir)s/hip/bin/hipcc "
+                           " -DCMAKE_CXX_STANDARD=20 "
+                           " -Damd_comgr_DIR=\"%(installdir)s/lib/cmake/amd_comgr\" "
+                           " -DAMDDeviceLibs_DIR=\"%(installdir)s/lib/cmake/AMDDeviceLibs\" "
+                           " -Dhip_DIR=\"%(installdir)s/hip/lib/cmake/hip\" "
+                           " -Drocsparse_DIR=\"%(installdir)s/rocsparse/lib/cmake/rocsparse\" "
+                           " -DBUILD_CLIENTS_TESTS=OFF "
+                           " -DBUILD_CLIENTS_SAMPLES=OFF "),
+         'prebuildopts':   "export ROCM_PATH=%(installdir)s; ",
+         'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+     }),
+    # ('ROCmValidationSuite', version,
+    #  {
+    #      'sources' : [{
+    #         'source_urls'       : ['https://github.com/ROCm-Developer-Tools/%(name)s/archive'],
+    #         'download_filename' : 'rocm-%(version)s.tar.gz',
+    #         'filename'          : '%(namelower)s-%(version)s.tar.gz',
+    #      }],
+    #      # This just adds detection of Arch Linux, so probably not important?
+    #      'patches'       : [
+    #          ('https://github.com/acxz/ROCmValidationSuite/commit/eb1a4bf5de8d8ba25f21ee13d6af1c46416e3961.patch',
+    #           '%(name)s-rocm-%(version)s')],
+    #      'checksums'     : [
+    #         '0140a4128c31749c078d9e1dc863cbbd690efc65843c34a4b80f0056e5b8c7b6',
+    #      ],
+    #      'srcdir'        : '%(name)s-rocm-%(version)s',
+    #      'preconfigopts' : ("export ROCM_PATH=%(installdir)s; "
+    #                        ),
+    #      'configopts'    : " -DAMDGPU_TARGETS=\"%s\" " % local_amdgpu_targets +\
+    #                         (" -DROCM_PATH=\"%(installdir)s\" "
+    #                         ),
+    #      'prebuildopts'  : "export ROCM_PATH=%(installdir)s; ",
+    #      'preinstallopts': "export ROCM_PATH=%(installdir)s; ",
+    #  }),
+]
+
+modextrapaths = {
+    'PATH': [
+        # TODO: more binaries
+        'mivisionx/bin',
+        'rvs/bin',
+    ],
+    'LD_LIBRARY_PATH': [
+        'hip/lib',
+        'hipblas/lib',
+        'hipfft/lib',
+        'hipfort/lib',
+        'hipsolver/lib',
+        'hipsparse/lib',
+        'hsa/lib',
+        'llvm/lib',
+        'miopen/lib',
+        'oam/lib',
+        'rccl/lib',
+        'rocblas/lib',
+        'rocfft/lib',
+        'rocm_smi/lib',
+        'rocprim/lib',
+        'rocsolver/lib',
+        'rocsparse/lib',
+    ],
+    'LIBRARY_PATH': [
+        'hip/lib',
+        'hipblas/lib',
+        'hipfft/lib',
+        'hipfort/lib',
+        'hipsolver/lib',
+        'hipsparse/lib',
+        'hsa/lib',
+        'llvm/lib',
+        'miopen/lib',
+        'oam/lib',
+        'rccl/lib',
+        'rocblas/lib',
+        'rocfft/lib',
+        'rocm_smi/lib',
+        'rocprim/lib',
+        'rocsolver/lib',
+        'rocsparse/lib',
+    ],
+}
+
+moduleclass = 'devel'
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/aomp-5.2.0-extras-version-string.patch b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-5.2.0-extras-version-string.patch
new file mode 100644
index 0000000000000000000000000000000000000000..8d2b26be3fd4d111d00ae30cce2bb9fc0e6cd3e3
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-5.2.0-extras-version-string.patch
@@ -0,0 +1,12 @@
+diff --git a/bin/build_extras.sh b/bin/build_extras.sh
+index c8f35e3e..e98422c6 100755
+--- a/bin/build_extras.sh
++++ b/bin/build_extras.sh
+@@ -121,6 +121,7 @@ if [ "$1" != "nocmake" ] && [ "$1" != "install" ] ; then
+   -DCMAKE_BUILD_TYPE=Release \
+   -DROCM_DIR=$ROCM_DIR \
+   -DAOMP_STANDALONE_BUILD=0 \
++  -DAOMP_VERSION_STRING=\"5.2.0\" \
+   -DDEVICELIBS_ROOT=$DEVICELIBS_ROOT \
+   -DNEW_BC_PATH=1 \
+   -DCMAKE_INSTALL_PREFIX=$INSTALL_EXTRAS \
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/aomp-5.2.0-openmp-rocm_dir.patch b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-5.2.0-openmp-rocm_dir.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e9aa2267fc6eabf732ab8397b41c855c668fd381
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-5.2.0-openmp-rocm_dir.patch
@@ -0,0 +1,24 @@
+diff --git a/bin/build_openmp.sh b/bin/build_openmp.sh
+index 99b58ea6..d456bd8c 100755
+--- a/bin/build_openmp.sh
++++ b/bin/build_openmp.sh
+@@ -91,14 +91,14 @@ COMMON_CMAKE_OPTS="-DDEVICELIBS_ROOT=$DEVICELIBS_ROOT
+ -DROCM_DIR=$ROCM_DIR
+ -DLIBOMPTARGET_ENABLE_DEBUG=ON
+ -DCMAKE_INSTALL_PREFIX=$INSTALL_OPENMP
+--DLLVM_INSTALL_PREFIX=$OUT_DIR/llvm
++-DLLVM_INSTALL_PREFIX=$ROCM_DIR/llvm
+ -DLLVM_MAIN_INCLUDE_DIR=$LLVM_PROJECT_ROOT/llvm/include
+ -DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$LLVM_PROJECT_ROOT/llvm/include
+ -DCMAKE_PREFIX_PATH=$OUT_DIR/build/devicelibs;$ROCM_DIR;$ROCM_DIR/include/hsa
+--DCMAKE_C_COMPILER=$OUT_DIR/llvm/bin/clang
+--DCMAKE_CXX_COMPILER=$OUT_DIR/llvm/bin/clang++
+--DOPENMP_TEST_C_COMPILER=$OUT_DIR/llvm/bin/clang
+--DOPENMP_TEST_CXX_COMPILER=$OUT_DIR/llvm/bin/clang++"
++-DCMAKE_C_COMPILER=$ROCM_DIR/llvm/bin/clang
++-DCMAKE_CXX_COMPILER=$ROCM_DIR/llvm/bin/clang++
++-DOPENMP_TEST_C_COMPILER=$ROCM_DIR/llvm/bin/clang
++-DOPENMP_TEST_CXX_COMPILER=$ROCM_DIR/llvm/bin/clang++"
+ 
+ if [ "$AOMP_BUILD_CUDA" == 1 ] ; then
+    COMMON_CMAKE_OPTS="$COMMON_CMAKE_OPTS
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/aomp-extras-5.2.0-rocm-dir-llvm.patch b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-extras-5.2.0-rocm-dir-llvm.patch
new file mode 100644
index 0000000000000000000000000000000000000000..5acba29e82250088f034e1f75278035515ffde29
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-extras-5.2.0-rocm-dir-llvm.patch
@@ -0,0 +1,13 @@
+diff --git a/utils/CMakeLists.txt b/utils/CMakeLists.txt
+index 4f9208a..ca46a91 100644
+--- a/utils/CMakeLists.txt
++++ b/utils/CMakeLists.txt
+@@ -19,7 +19,7 @@ add_custom_target(aomputils ALL)
+ 
+ find_package(LLVM QUIET CONFIG
+   PATHS
+-  $ENV{AOMP}
++  $ENV{ROCM_DIR}/llvm
+   ${LLVM_DIR}
+   NO_DEFAULT_PATH
+ )
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/aomp-extras-compiler-in-rocm-dir.patch b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-extras-compiler-in-rocm-dir.patch
new file mode 100644
index 0000000000000000000000000000000000000000..d5a26d9a232d16a1fff1bbd9eebeedc2b7dd96a9
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-extras-compiler-in-rocm-dir.patch
@@ -0,0 +1,22 @@
+--- aomp-extras-rocm-4.5.0/aomp-device-libs/aompextras/CMakeLists.txt	2021-08-09 23:36:08.000000000 +0200
++++ aomp-extras-rocm-4.5.0-patched/aomp-device-libs/aompextras/CMakeLists.txt	2021-11-19 19:56:06.737469951 +0100
+@@ -13,7 +13,7 @@
+ #  Try to get LLVM_COMPILER from HIP, then AOMP , then default /usr/local/hip
+ set(AOMP $ENV{AOMP})
+ if(AOMP)
+-  set(LLVM_COMPILER ${AOMP})
++  set(LLVM_COMPILER ${ROCM_DIR}/llvm)
+ else()
+   set(LLVM_COMPILER "$ENV{HOME}/rocm/aomp")
+ endif()
+--- aomp-extras-rocm-4.5.0/utils/CMakeLists.txt	2021-08-09 23:36:08.000000000 +0200
++++ aomp-extras-rocm-4.5.0-patched/utils/CMakeLists.txt	2021-11-19 19:39:53.406512322 +0100
+@@ -19,7 +19,7 @@
+ 
+ find_package(LLVM QUIET CONFIG
+   PATHS
+-  $ENV{AOMP}
++  $ENV{ROCM_DIR}/llvm
+   ${LLVM_DIR}
+   NO_DEFAULT_PATH
+ )
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/aomp-flang-alarm-signature.patch b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-flang-alarm-signature.patch
new file mode 100644
index 0000000000000000000000000000000000000000..abb1655979bd69b8f588341c0cd901398ba9e923
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-flang-alarm-signature.patch
@@ -0,0 +1,12 @@
+diff --color -urN flang-rocm-5.0.1-unpatched/runtime/flang/alarm3f.c flang-rocm-5.0.1/runtime/flang/alarm3f.c
+--- flang-rocm-5.0.1-unpatched/runtime/flang/alarm3f.c  2022-03-01 13:57:36.463305752 +0100
++++ flang-rocm-5.0.1/runtime/flang/alarm3f.c    2022-03-01 13:59:55.300264387 +0100
+@@ -16,7 +16,7 @@
+ /*
+ extern void (*signal(int, void (*)(int)))(int);
+ */
+-extern int alarm();
++extern unsigned int alarm(unsigned int __seconds);
+
+ int ENT3F(ALARM, alarm)(int *time, void (*proc)())
+ {
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/aomp-flang-decouple-out-dir-and-rocm-install.patch b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-flang-decouple-out-dir-and-rocm-install.patch
new file mode 100644
index 0000000000000000000000000000000000000000..ae47c7ea62f83df633b47e90cbefa547055f85b8
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-flang-decouple-out-dir-and-rocm-install.patch
@@ -0,0 +1,57 @@
+diff --color -urN aomp-rocm-4.5.0-unpatched/bin/build_flang_runtime.sh aomp-rocm-4.5.0/bin/build_flang_runtime.sh
+--- aomp-rocm-4.5.0-unpatched/bin/build_flang_runtime.sh	2021-11-16 16:50:07.010969269 +0100
++++ aomp-rocm-4.5.0/bin/build_flang_runtime.sh	2021-11-16 16:57:38.658874349 +0100
+@@ -59,10 +59,10 @@
+ MYCMAKEOPTS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
+ -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG \
+ -DLLVM_ENABLE_ASSERTIONS=ON \
+--DLLVM_CONFIG=$OUT_DIR/llvm/bin/llvm-config \
+--DCMAKE_CXX_COMPILER=$OUT_DIR/llvm/bin/clang++ \
+--DCMAKE_C_COMPILER=$OUT_DIR/llvm/bin/clang \
+--DCMAKE_Fortran_COMPILER=$OUT_DIR/llvm/bin/flang \
++-DLLVM_CONFIG=$ROCM_DIR/llvm/bin/llvm-config \
++-DCMAKE_CXX_COMPILER=$ROCM_DIR/llvm/bin/clang++ \
++-DCMAKE_C_COMPILER=$ROCM_DIR/llvm/bin/clang \
++-DCMAKE_Fortran_COMPILER=$ROCM_DIR/llvm/bin/flang \
+ -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD \
+ -DLLVM_INSTALL_RUNTIME=ON \
+ -DFLANG_BUILD_RUNTIME=ON \
+diff --color -urN aomp-rocm-4.5.0-unpatched/bin/build_flang.sh aomp-rocm-4.5.0/bin/build_flang.sh
+--- aomp-rocm-4.5.0-unpatched/bin/build_flang.sh	2021-11-16 16:50:07.010969269 +0100
++++ aomp-rocm-4.5.0/bin/build_flang.sh	2021-11-16 16:55:45.538909397 +0100
+@@ -50,9 +50,9 @@
+ MYCMAKEOPTS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
+ -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG \
+ -DLLVM_ENABLE_ASSERTIONS=ON \
+--DLLVM_CONFIG=$OUT_DIR/llvm/bin/llvm-config \
+--DCMAKE_CXX_COMPILER=$OUT_DIR/llvm/bin/clang++ \
+--DCMAKE_C_COMPILER=$OUT_DIR/llvm/bin/clang \
++-DLLVM_CONFIG=$ROCM_DIR/llvm/bin/llvm-config \
++-DCMAKE_CXX_COMPILER=$ROCM_DIR/llvm/bin/clang++ \
++-DCMAKE_C_COMPILER=$ROCM_DIR/llvm/bin/clang \
+ -DCMAKE_Fortran_COMPILER=gfortran \
+ -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD \
+ -DCMAKE_C_FLAGS=-I$COMP_INC_DIR \
+diff --color -urN aomp-rocm-4.5.0-unpatched/bin/build_pgmath.sh aomp-rocm-4.5.0/bin/build_pgmath.sh
+--- aomp-rocm-4.5.0-unpatched/bin/build_pgmath.sh	2021-11-16 18:52:19.761286900 +0100
++++ aomp-rocm-4.5.0/bin/build_pgmath.sh	2021-11-16 18:53:21.787423127 +0100
+@@ -41,7 +41,7 @@
+    fi
+ fi
+ 
+-COMP_INC_DIR=$(ls -d $OUT_DIR/llvm/lib/clang/*/include )
++COMP_INC_DIR=$(ls -d $ROCM_DIR/llvm/lib/clang/*/include )
+ 
+ if [ "$AOMP_PROC" == "ppc64le" ] ; then
+     MYCMAKEOPTS="-DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG -DLLVM_ENABLE_ASSERTIONS=ON $AOMP_ORIGIN_RPATH -DCMAKE_Fortran_COMPILER=$AOMP_INSTALL_DIR/bin/flang -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD -DCMAKE_C_FLAGS=-I$COMP_INC_DIR -DCMAKE_CXX_FLAGS=-I$COMP_INC_DIR"
+@@ -51,8 +51,8 @@
+     -DCMAKE_INSTALL_PREFIX=$INSTALL_FLANG \
+     -DLLVM_ENABLE_ASSERTIONS=ON \
+     -DLLVM_CONFIG=$INSTALL_FLANG/bin/llvm-config \
+-    -DCMAKE_CXX_COMPILER=$OUT_DIR/llvm/bin/clang++ \
+-    -DCMAKE_C_COMPILER=$OUT_DIR/llvm/bin/clang \
++    -DCMAKE_CXX_COMPILER=$ROCM_DIR/llvm/bin/clang++ \
++    -DCMAKE_C_COMPILER=$ROCM_DIR/llvm/bin/clang \
+     -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD \
+     -DCMAKE_C_FLAGS=-I$COMP_INC_DIR \
+     -DCMAKE_CXX_FLAGS=-I$COMP_INC_DIR \
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/aomp-flang-libomp-path.patch b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-flang-libomp-path.patch
new file mode 100644
index 0000000000000000000000000000000000000000..948ac436ead0895e61a73ce687e47877d45d02ff
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-flang-libomp-path.patch
@@ -0,0 +1,11 @@
+diff --color -urN aomp-rocm-4.5.0-unpatched/bin/build_flang_runtime.sh aomp-rocm-4.5.0/bin/build_flang_runtime.sh
+--- aomp-rocm-4.5.0-unpatched/bin/build_flang_runtime.sh	2021-11-16 20:57:05.189706370 +0100
++++ aomp-rocm-4.5.0/bin/build_flang_runtime.sh	2021-11-16 20:58:20.012150723 +0100
+@@ -66,6 +66,7 @@
+ -DLLVM_TARGETS_TO_BUILD=$TARGETS_TO_BUILD \
+ -DLLVM_INSTALL_RUNTIME=ON \
+ -DFLANG_BUILD_RUNTIME=ON \
++-DFLANG_LIBOMP=$OMPEXTRA_DIR/llvm/lib/libomp.so \
+ -DCMAKE_C_FLAGS=-I$COMP_INC_DIR \
+ -DCMAKE_CXX_FLAGS=-I$COMP_INC_DIR \
+ -DOPENMP_BUILD_DIR=$OPENMP_BUILD_DIR \
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/aomp-gcc8-only-for-cuda.patch b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-gcc8-only-for-cuda.patch
new file mode 100644
index 0000000000000000000000000000000000000000..812098ac6c9a9c84bcb72c8d54c74a5517f7ba45
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-gcc8-only-for-cuda.patch
@@ -0,0 +1,42 @@
+diff --color -urN aomp-rocm-4.3.1/bin/build_openmp.sh aomp-rocm-4.3.1-patched/bin/build_openmp.sh
+--- aomp-rocm-4.3.1/bin/build_openmp.sh	2021-08-27 05:56:05.000000000 +0200
++++ aomp-rocm-4.3.1-patched/bin/build_openmp.sh	2021-10-29 19:43:56.338668126 +0200
+@@ -99,21 +99,11 @@
+ 
+ GCCLOC=$(getgcc8orless)
+ GXXLOC=$(getgxx8orless)
+-if [ "$GCCLOC" == "" ] ; then
+-   echo "ERROR: NO ADEQUATE gcc"
+-   echo "       Please install gcc-5, gcc-7, or gcc-8"
+-   exit 1
+-fi
+-if [ "$GXXLOC" == "" ] ; then
+-   echo "ERROR: NO ADEQUATE g++"
+-   echo "       Please install g++-5, g++-7, or g++-8"
+-   exit 1
+-fi
+ 
+ GFXSEMICOLONS=`echo $GFXLIST | tr ' ' ';' `
+ #COMMON_CMAKE_OPTS="#-DOPENMP_TEST_C_COMPILER=$AOMP/bin/clang
+ #-DOPENMP_TEST_CXX_COMPILER=$AOMP/bin/clang++
+ 
+ COMMON_CMAKE_OPTS="-DDEVICELIBS_ROOT=$DEVICELIBS_ROOT
+ -DOPENMP_ENABLE_LIBOMPTARGET=1
+ -DOPENMP_ENABLE_LIBOMPTARGET_HSA=1
+@@ -127,6 +119,16 @@
+ -DCMAKE_PREFIX_PATH=$ROCM_DIR;$ROCM_DIR/include/hsa"
+ 
+ if [ "$AOMP_BUILD_CUDA" == 1 ] ; then
++  if [ "$GCCLOC" == "" ] ; then
++     echo "ERROR: NO ADEQUATE gcc"
++     echo "       Please install gcc-5, gcc-7, or gcc-8"
++     exit 1
++  fi
++  if [ "$GXXLOC" == "" ] ; then
++     echo "ERROR: NO ADEQUATE g++"
++     echo "       Please install g++-5, g++-7, or g++-8"
++     exit 1
++  fi
+    COMMON_CMAKE_OPTS="$COMMON_CMAKE_OPTS
+ -DLIBOMPTARGET_NVPTX_ENABLE_BCLIB=ON
+ -DLIBOMPTARGET_NVPTX_CUDA_COMPILER=$AOMP/bin/clang++
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/aomp-openmp-buildpath.patch b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-openmp-buildpath.patch
new file mode 100644
index 0000000000000000000000000000000000000000..e1cf3c36411e03f949f7d84a070fd3d90d27e4fb
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-openmp-buildpath.patch
@@ -0,0 +1,23 @@
+diff --color -urN aomp-rocm-4.3.1/bin/build_openmp.sh aomp-rocm-4.3.1-patched/bin/build_openmp.sh
+--- aomp-rocm-4.3.1/bin/build_openmp.sh	2021-08-27 05:56:05.000000000 +0200
++++ aomp-rocm-4.3.1-patched/bin/build_openmp.sh	2021-10-29 19:43:56.338668126 +0200
+@@ -166,7 +168,7 @@
+          env "$@" ${AOMP_CMAKE} $MYCMAKEOPTS  $BUILD_DIR/$AOMP_PROJECT_REPO_NAME/openmp
+       else
+          echo ${AOMP_CMAKE} $MYCMAKEOPTS  $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp
+-         env "$@" ${AOMP_CMAKE} $MYCMAKEOPTS  $AOMP_REPOS/../$AOMP_PROJECT_REPO_NAME/openmp
++         env "$@" ${AOMP_CMAKE} $MYCMAKEOPTS  $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp
+       fi
+       if [ $? != 0 ] ; then 
+          echo "ERROR openmp cmake failed. Cmake flags"
+@@ -202,8 +202,8 @@
+          echo ${AOMP_CMAKE} $MYCMAKEOPTS  $BUILD_DIR/$AOMP_PROJECT_REPO_NAME/openmp
+          env "$@" ${AOMP_CMAKE} $MYCMAKEOPTS  $BUILD_DIR/$AOMP_PROJECT_REPO_NAME/openmp
+       else
+-         echo ${AOMP_CMAKE} $MYCMAKEOPTS  $AOMP_REPOS/../$AOMP_PROJECT_REPO_NAME/openmp
+-         env "$@" ${AOMP_CMAKE} $MYCMAKEOPTS  $AOMP_REPOS/../$AOMP_PROJECT_REPO_NAME/openmp
++         echo ${AOMP_CMAKE} $MYCMAKEOPTS  $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp
++         env "$@" ${AOMP_CMAKE} $MYCMAKEOPTS  $AOMP_REPOS/$AOMP_PROJECT_REPO_NAME/openmp
+       fi
+       if [ $? != 0 ] ; then 
+          echo "ERROR openmp debug cmake failed. Cmake flags"
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/aomp-openmp-llvm.patch b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-openmp-llvm.patch
new file mode 100644
index 0000000000000000000000000000000000000000..ea0e983cc97b7b6ac7081d9521c4e76d519548d1
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/aomp-openmp-llvm.patch
@@ -0,0 +1,23 @@
+--- a/bin/build_openmp.sh 2022-03-01 13:10:36.609965678 +0100
++++ b/bin/build_openmp.sh 2022-03-01 13:17:30.403456565 +0100
+@@ -113,14 +113,14 @@
+ -DROCM_DIR=$ROCM_DIR
+ -DLIBOMPTARGET_ENABLE_DEBUG=ON
+ -DCMAKE_INSTALL_PREFIX=$INSTALL_OPENMP
+--DLLVM_INSTALL_PREFIX=$OUT_DIR/llvm
++-DLLVM_INSTALL_PREFIX=$ROCM_DIR/llvm
+ -DLLVM_MAIN_INCLUDE_DIR=$LLVM_PROJECT_ROOT/llvm/include
+ -DLIBOMPTARGET_LLVM_INCLUDE_DIRS=$LLVM_PROJECT_ROOT/llvm/include
+ -DCMAKE_PREFIX_PATH=$ROCM_DIR;$ROCM_DIR/include/hsa;$DEVICELIBS_BUILD_PATH;$OUT_DIR/build/devicelibs
+--DCMAKE_C_COMPILER=$OUT_DIR/llvm/bin/clang
+--DCMAKE_CXX_COMPILER=$OUT_DIR/llvm/bin/clang++
+--DOPENMP_TEST_C_COMPILER=$OUT_DIR/llvm/bin/clang
+--DOPENMP_TEST_CXX_COMPILER=$OUT_DIR/llvm/bin/clang++"
++-DCMAKE_C_COMPILER=$ROCM_DIR/llvm/bin/clang
++-DCMAKE_CXX_COMPILER=$ROCM_DIR/llvm/bin/clang++
++-DOPENMP_TEST_C_COMPILER=$ROCM_DIR/llvm/bin/clang
++-DOPENMP_TEST_CXX_COMPILER=$ROCM_DIR/llvm/bin/clang++"
+
+ if [ "$AOMP_BUILD_CUDA" == 1 ] ; then
+   if [ "$GCCLOC" == "" ] ; then
+
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/hipBLAS-5.2.0-rocblas-include-fix.patch b/Overlays/jureca_mi200_overlay/r/ROCm/hipBLAS-5.2.0-rocblas-include-fix.patch
new file mode 100644
index 0000000000000000000000000000000000000000..0b2fac75a3fa283659590e7f2998d7a4bc429d02
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/hipBLAS-5.2.0-rocblas-include-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/library/src/hcc_detail/hipblas.cpp b/library/src/hcc_detail/hipblas.cpp
+index 78faf10..ea95d33 100644
+--- a/library/src/hcc_detail/hipblas.cpp
++++ b/library/src/hcc_detail/hipblas.cpp
+@@ -4,7 +4,7 @@
+ #include "hipblas.h"
+ #include "exceptions.hpp"
+ #include "limits.h"
+-#include "rocblas.h"
++#include <rocblas/rocblas.h>
+ #ifdef __HIP_PLATFORM_SOLVER__
+ #include "rocsolver.h"
+ #endif
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/hipamd-5.1.3-git-hash.patch b/Overlays/jureca_mi200_overlay/r/ROCm/hipamd-5.1.3-git-hash.patch
new file mode 100644
index 0000000000000000000000000000000000000000..a3ffb7f479b8121fc2ac9181f8041377071fefc1
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/hipamd-5.1.3-git-hash.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a53ab0d2..d40143f5 100755
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -188,7 +188,7 @@ set (HIP_LIB_VERSION_MINOR ${HIP_VERSION_MINOR})
+ if (${ROCM_PATCH_VERSION} )
+    set (HIP_LIB_VERSION_PATCH ${ROCM_PATCH_VERSION})
+ else ()
+-   set (HIP_LIB_VERSION_PATCH ${HIP_VERSION_PATCH}-${HIP_VERSION_GITHASH})
++   set (HIP_LIB_VERSION_PATCH ${HIP_VERSION_PATCH})
+ endif ()
+ set (HIP_LIB_VERSION_STRING "${HIP_LIB_VERSION_MAJOR}.${HIP_LIB_VERSION_MINOR}.${HIP_LIB_VERSION_PATCH}")
+ if (DEFINED ENV{ROCM_RPATH})
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/llvm-project-hostrpc-fprintf-decl.patch b/Overlays/jureca_mi200_overlay/r/ROCm/llvm-project-hostrpc-fprintf-decl.patch
new file mode 100644
index 0000000000000000000000000000000000000000..da482be716198756ca0f5c93adfb5ef91f12f418
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/llvm-project-hostrpc-fprintf-decl.patch
@@ -0,0 +1,18 @@
+diff --color -urN llvm-project-rocm-5.0.1-unpatched/openmp/libomptarget/hostrpc/src/hostrpc.h llvm-project-rocm-5.0.1/openmp/libomptarget/hostrpc/src/hostrpc.h
+--- llvm-project-rocm-5.0.1-unpatched/openmp/libomptarget/hostrpc/src/hostrpc.h 2022-03-01 13:37:53.355306931 +0100
++++ llvm-project-rocm-5.0.1/openmp/libomptarget/hostrpc/src/hostrpc.h   2022-03-01 13:54:46.401334335 +0100
+@@ -41,6 +41,14 @@
+ #include <stdint.h>
+ #include <stdio.h>
+
++#if defined(fprintf)
++    #undef fprintf
++#endif
++
++#if defined(printf)
++    #undef printf
++#endif
++
+ //  These are the interfaces for the device stubs */
+ EXTERN int fprintf(FILE *, const char *, ...);
+ EXTERN char *fprintf_allocate(uint32_t bufsz);
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/llvm-project-mlir-fix-rpath-flags.patch b/Overlays/jureca_mi200_overlay/r/ROCm/llvm-project-mlir-fix-rpath-flags.patch
new file mode 100644
index 0000000000000000000000000000000000000000..1a8c7fa8130f44c405f24a2e719e232bdae27f62
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/llvm-project-mlir-fix-rpath-flags.patch
@@ -0,0 +1,14 @@
+diff --git a/cmake/llvm-project.cmake b/cmake/llvm-project.cmake
+index 94bfdd0e932c..89dce472afc6 100644
+--- a/cmake/llvm-project.cmake
++++ b/cmake/llvm-project.cmake
+@@ -48,8 +48,6 @@ list(APPEND LLVM_INCLUDE_DIRS
+ )
+ 
+ # Linker flags
+-list(APPEND CMAKE_EXE_LINKER_FLAGS
+-  " -Wl,-rpath -Wl,${CMAKE_CURRENT_BINARY_DIR}/external/llvm-project/llvm/lib"
+-)
++set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath -Wl,${CMAKE_CURRENT_BINARY_DIR}/external/llvm-project/llvm/lib")
+ 
+ add_subdirectory("${LLVM_PROJ_SRC}/llvm" "external/llvm-project/llvm" EXCLUDE_FROM_ALL)
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/llvm-project-mlir-no-append-rpath-do-it-via-commandline-instead.patch b/Overlays/jureca_mi200_overlay/r/ROCm/llvm-project-mlir-no-append-rpath-do-it-via-commandline-instead.patch
new file mode 100644
index 0000000000000000000000000000000000000000..ebe2b869e3999622e3b732167a03bd3215b3265c
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/llvm-project-mlir-no-append-rpath-do-it-via-commandline-instead.patch
@@ -0,0 +1,16 @@
+diff --git a/cmake/llvm-project.cmake b/cmake/llvm-project.cmake
+index 94bfdd0e932c..abfd91f05ae2 100644
+--- a/cmake/llvm-project.cmake
++++ b/cmake/llvm-project.cmake
+@@ -48,8 +48,8 @@ list(APPEND LLVM_INCLUDE_DIRS
+ )
+ 
+ # Linker flags
+-list(APPEND CMAKE_EXE_LINKER_FLAGS
+-  " -Wl,-rpath -Wl,${CMAKE_CURRENT_BINARY_DIR}/external/llvm-project/llvm/lib"
+-)
++#list(APPEND CMAKE_EXE_LINKER_FLAGS
++#  " -Wl,-rpath -Wl,${CMAKE_CURRENT_BINARY_DIR}/external/llvm-project/llvm/lib"
++#)
+ 
+ add_subdirectory("${LLVM_PROJ_SRC}/llvm" "external/llvm-project/llvm" EXCLUDE_FROM_ALL)
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/miopen-5.2.0-rocblas-include-fix.patch b/Overlays/jureca_mi200_overlay/r/ROCm/miopen-5.2.0-rocblas-include-fix.patch
new file mode 100644
index 0000000000000000000000000000000000000000..733db49ea0574426620378b9ec3a4a4a1ab5df00
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/miopen-5.2.0-rocblas-include-fix.patch
@@ -0,0 +1,26 @@
+diff --git a/src/gemm_v2.cpp b/src/gemm_v2.cpp
+index fc8b3222c..f95337dc0 100644
+--- a/src/gemm_v2.cpp
++++ b/src/gemm_v2.cpp
+@@ -40,7 +40,7 @@
+ 
+ #if MIOPEN_USE_ROCBLAS
+ #include <half.hpp>
+-#include <rocblas.h>
++#include <rocblas/rocblas.h>
+ #include <miopen/perf_field.hpp>
+ #endif
+ 
+diff --git a/src/include/miopen/handle.hpp b/src/include/miopen/handle.hpp
+index ee45ae2a0..b99883f5f 100644
+--- a/src/include/miopen/handle.hpp
++++ b/src/include/miopen/handle.hpp
+@@ -52,7 +52,7 @@
+ 
+ #if MIOPEN_USE_ROCBLAS
+ #include <miopen/manage_ptr.hpp>
+-#include <rocblas.h>
++#include <rocblas/rocblas.h>
+ #endif
+ 
+ namespace miopen {
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/rocALUTION-5.2.0-fix-complex-device-operators.patch b/Overlays/jureca_mi200_overlay/r/ROCm/rocALUTION-5.2.0-fix-complex-device-operators.patch
new file mode 100644
index 0000000000000000000000000000000000000000..550f8db1fd354d39637101d480e21dd693721ecf
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/rocALUTION-5.2.0-fix-complex-device-operators.patch
@@ -0,0 +1,113 @@
+diff --git a/src/base/hip/hip_vector.hpp b/src/base/hip/hip_vector.hpp
+index 0444528..06f2b97 100644
+--- a/src/base/hip/hip_vector.hpp
++++ b/src/base/hip/hip_vector.hpp
+@@ -30,11 +30,108 @@
+ #include "../base_vector.hpp"
+ 
+ #include <hip/hip_runtime.h>
++#include <hip/amd_detail/amd_hip_complex.h>
+ 
+ #include <complex>
+ 
+ #include "hip_rand.hpp"
+ 
++#if defined(__HIPCC_RTC__)
++#define __HOST_DEVICE__ __device__
++#else
++#define __HOST_DEVICE__ __host__ __device__
++#endif // !defined(__HIPCC_RTC__)
++
++// Gotta put these somewhere
++__HOST_DEVICE__ inline std::complex<float> operator+(const std::complex<float> a, const std::complex<float> b)
++{
++    auto res = a+b;
++    return res;
++}
++__HOST_DEVICE__ inline std::complex<float>& operator+=(std::complex<float>& a, const std::complex<float> b)
++{
++    a = a+b;
++    return a;
++}
++__HOST_DEVICE__ inline std::complex<float> operator-(const std::complex<float> a, const std::complex<float> b)
++{
++    auto res = a-b;
++    return res;
++}
++__HOST_DEVICE__ inline std::complex<float> operator-(const std::complex<float> a)
++{
++    return -a;
++}
++__HOST_DEVICE__ inline std::complex<float>& operator-=(std::complex<float>& a, const std::complex<float> b)
++{
++    a = a-b;
++    return a;
++}
++__HOST_DEVICE__ inline std::complex<float> operator*(const std::complex<float> a, const std::complex<float> b)
++{
++    auto res = a*b;
++    return res;
++}
++__HOST_DEVICE__ inline std::complex<float>& operator*=(std::complex<float>& a, const std::complex<float> b)
++{
++    a = a*b;
++    return a;
++}
++__HOST_DEVICE__ inline std::complex<float> operator/(const std::complex<float> a, const std::complex<float> b)
++{
++    auto res = a/b;
++    return res;
++}
++__HOST_DEVICE__ inline float abs(const std::complex<float> a)
++{
++    return abs(a);
++}
++
++
++__HOST_DEVICE__ inline std::complex<double> operator+(const std::complex<double> a, const std::complex<double> b)
++{
++    auto res = a+b;
++    return res;
++}
++__HOST_DEVICE__ inline std::complex<double>& operator+=(std::complex<double>& a, const std::complex<double> b)
++{
++    a = a+b;
++    return a;
++}
++__HOST_DEVICE__ inline std::complex<double> operator-(const std::complex<double> a, const std::complex<double> b)
++{
++    auto res = a-b;
++    return res;
++}
++__HOST_DEVICE__ inline std::complex<double> operator-(const std::complex<double> a)
++{
++    return -a;
++}
++__HOST_DEVICE__ inline std::complex<double>& operator-=(std::complex<double>& a, const std::complex<double> b)
++{
++    a = a-b;
++    return a;
++}
++__HOST_DEVICE__ inline std::complex<double> operator*(const std::complex<double> a, const std::complex<double> b)
++{
++    auto res = a*b;
++    return res;
++}
++__HOST_DEVICE__ inline std::complex<double>& operator*=(std::complex<double>& a, const std::complex<double> b)
++{
++    a = a*b;
++    return a;
++}
++__HOST_DEVICE__ inline std::complex<double> operator/(const std::complex<double> a, const std::complex<double> b)
++{
++    auto res = a/b;
++    return res;
++}
++__HOST_DEVICE__ inline double abs(const std::complex<double> a)
++{
++    return abs(a);
++}
++
+ namespace rocalution
+ {
+     template <typename ValueType>
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/rocALUTION-5.2.0-rocblas-include-fix.patch b/Overlays/jureca_mi200_overlay/r/ROCm/rocALUTION-5.2.0-rocblas-include-fix.patch
new file mode 100644
index 0000000000000000000000000000000000000000..16fb1d10450c90c005fe1d88a9fb033ea20fae98
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/rocALUTION-5.2.0-rocblas-include-fix.patch
@@ -0,0 +1,65 @@
+diff --git a/src/base/hip/backend_hip.cpp b/src/base/hip/backend_hip.cpp
+index 72424a9..082cdb1 100644
+--- a/src/base/hip/backend_hip.cpp
++++ b/src/base/hip/backend_hip.cpp
+@@ -40,7 +40,7 @@
+ #include "hip_vector.hpp"
+ 
+ #include <hip/hip_runtime_api.h>
+-#include <rocblas.h>
++#include <rocblas/rocblas.h>
+ #include <rocsparse.h>
+ 
+ #include <complex>
+diff --git a/src/base/hip/hip_blas.cpp b/src/base/hip/hip_blas.cpp
+index db67352..9979d16 100644
+--- a/src/base/hip/hip_blas.cpp
++++ b/src/base/hip/hip_blas.cpp
+@@ -27,7 +27,7 @@
+ 
+ #include <hip/hip_complex.h>
+ #include <hip/hip_runtime_api.h>
+-#include <rocblas.h>
++#include <rocblas/rocblas.h>
+ #include <rocprim/rocprim.hpp>
+ 
+ #include <complex>
+diff --git a/src/base/hip/hip_blas.hpp b/src/base/hip/hip_blas.hpp
+index 002a796..5a0afc5 100644
+--- a/src/base/hip/hip_blas.hpp
++++ b/src/base/hip/hip_blas.hpp
+@@ -25,7 +25,7 @@
+ #define ROCALUTION_HIP_HIP_BLAS_HPP_
+ 
+ #include <hip/hip_runtime_api.h>
+-#include <rocblas.h>
++#include <rocblas/rocblas.h>
+ 
+ namespace rocalution
+ {
+diff --git a/src/base/hip/hip_conversion.hpp b/src/base/hip/hip_conversion.hpp
+index 8c3fa3f..c67a7c8 100644
+--- a/src/base/hip/hip_conversion.hpp
++++ b/src/base/hip/hip_conversion.hpp
+@@ -27,7 +27,7 @@
+ #include "../backend_manager.hpp"
+ #include "../matrix_formats.hpp"
+ 
+-#include <rocblas.h>
++#include <rocblas/rocblas.h>
+ #include <rocsparse.h>
+ 
+ namespace rocalution
+diff --git a/src/base/hip/hip_utils.hpp b/src/base/hip/hip_utils.hpp
+index 550beb7..3c3b68b 100644
+--- a/src/base/hip/hip_utils.hpp
++++ b/src/base/hip/hip_utils.hpp
+@@ -29,7 +29,7 @@
+ #include "backend_hip.hpp"
+ 
+ #include <hip/hip_runtime.h>
+-#include <rocblas.h>
++#include <rocblas/rocblas.h>
+ #include <rocsparse.h>
+ 
+ #ifdef SUPPORT_COMPLEX
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/rocALUTION-complex.patch b/Overlays/jureca_mi200_overlay/r/ROCm/rocALUTION-complex.patch
new file mode 100644
index 0000000000000000000000000000000000000000..d8b583b23b91f1048ecaee0128f7766ca7cba02e
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/rocALUTION-complex.patch
@@ -0,0 +1,82 @@
+diff --git a/src/base/hip/hip_vector.hpp b/src/base/hip/hip_vector.hpp
+index 0444528..a432359 100644
+--- a/src/base/hip/hip_vector.hpp
++++ b/src/base/hip/hip_vector.hpp
+@@ -30,11 +30,77 @@
+ #include "../base_vector.hpp"
+ 
+ #include <hip/hip_runtime.h>
++#include <hip/amd_detail/amd_hip_complex.h>
+ 
+ #include <complex>
+ 
+ #include "hip_rand.hpp"
+ 
++#if defined(__HIPCC_RTC__)
++#define __HOST_DEVICE__ __device__
++#else
++#define __HOST_DEVICE__ __host__ __device__
++#endif // !defined(__HIPCC_RTC__)
++
++// Gotta put these somewhere
++__HOST_DEVICE__ inline std::complex<float> operator+(const std::complex<float> a, const std::complex<float> b)
++{
++    auto ahip = make_hipFloatComplex(a.real(), a.imag());
++    auto bhip = make_hipFloatComplex(b.real(), b.imag());
++    auto res = a+b;
++    return res;
++}
++__HOST_DEVICE__ inline std::complex<float> operator-(const std::complex<float> a, const std::complex<float> b)
++{
++    auto ahip = make_hipFloatComplex(a.real(), a.imag());
++    auto bhip = make_hipFloatComplex(b.real(), b.imag());
++    auto res = a-b;
++    return res;
++}
++__HOST_DEVICE__ inline std::complex<float> operator*(const std::complex<float> a, const std::complex<float> b)
++{
++    auto ahip = make_hipFloatComplex(a.real(), a.imag());
++    auto bhip = make_hipFloatComplex(b.real(), b.imag());
++    auto res = a*b;
++    return res;
++}
++__HOST_DEVICE__ inline std::complex<float> operator/(const std::complex<float> a, const std::complex<float> b)
++{
++    auto ahip = make_hipFloatComplex(a.real(), a.imag());
++    auto bhip = make_hipFloatComplex(b.real(), b.imag());
++    auto res = a/b;
++    return res;
++}
++
++__HOST_DEVICE__ inline std::complex<double> operator+(const std::complex<double> a, const std::complex<double> b)
++{
++    auto ahip = make_hipDoubleComplex(a.real(), a.imag());
++    auto bhip = make_hipDoubleComplex(b.real(), b.imag());
++    auto res = a+b;
++    return res;
++}
++__HOST_DEVICE__ inline std::complex<double> operator-(const std::complex<double> a, const std::complex<double> b)
++{
++    auto ahip = make_hipDoubleComplex(a.real(), a.imag());
++    auto bhip = make_hipDoubleComplex(b.real(), b.imag());
++    auto res = a-b;
++    return res;
++}
++__HOST_DEVICE__ inline std::complex<double> operator*(const std::complex<double> a, const std::complex<double> b)
++{
++    auto ahip = make_hipDoubleComplex(a.real(), a.imag());
++    auto bhip = make_hipDoubleComplex(b.real(), b.imag());
++    auto res = a*b;
++    return res;
++}
++__HOST_DEVICE__ inline std::complex<double> operator/(const std::complex<double> a, const std::complex<double> b)
++{
++    auto ahip = make_hipDoubleComplex(a.real(), a.imag());
++    auto bhip = make_hipDoubleComplex(b.real(), b.imag());
++    auto res = a/b;
++    return res;
++}
++
+ namespace rocalution
+ {
+     template <typename ValueType>
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/rocBLAS-5.2.0-find-python-if-undefined.patch b/Overlays/jureca_mi200_overlay/r/ROCm/rocBLAS-5.2.0-find-python-if-undefined.patch
new file mode 100644
index 0000000000000000000000000000000000000000..df052ae534eae940dc32a7bac3ef2b877a2352d6
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/rocBLAS-5.2.0-find-python-if-undefined.patch
@@ -0,0 +1,16 @@
+diff --git a/library/src/CMakeLists.txt b/library/src/CMakeLists.txt
+index 79f54f21..ace140f6 100755
+--- a/library/src/CMakeLists.txt
++++ b/library/src/CMakeLists.txt
+@@ -493,6 +493,11 @@ include( GenerateExportHeader )
+ set_target_properties( rocblas PROPERTIES CXX_VISIBILITY_PRESET "hidden" C_VISIBILITY_PRESET "hidden" VISIBILITY_INLINES_HIDDEN ON )
+ generate_export_header( rocblas EXPORT_FILE_NAME ${PROJECT_BINARY_DIR}/include/rocblas/internal/rocblas-export.h )
+ 
++if (NOT python)
++    find_package(Python COMPONENTS Interpreter)
++    set(python ${Python_EXECUTABLE})
++endif()
++
+ # generate header with prototypes for export reuse
+ file( GLOB rocblas_prototype_inputs
+   LIST_DIRECTORIES OFF
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/rocblas-5.2.0-internal-rocblas-include-fix.patch b/Overlays/jureca_mi200_overlay/r/ROCm/rocblas-5.2.0-internal-rocblas-include-fix.patch
new file mode 100644
index 0000000000000000000000000000000000000000..9ed2a2ea1f2cbe22db95083294cc56b6b56af723
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/rocblas-5.2.0-internal-rocblas-include-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/library/src/include/rocblas_device_malloc.hpp b/library/src/include/rocblas_device_malloc.hpp
+index e82f8d4a..1f65d54f 100644
+--- a/library/src/include/rocblas_device_malloc.hpp
++++ b/library/src/include/rocblas_device_malloc.hpp
+@@ -19,7 +19,7 @@
+ // This header should be included in other projects to use the rocblas_handle
+ // C++ device memory allocation API. It is unlikely to change very often.
+ 
+-#include "rocblas.h"
++#include <rocblas/rocblas.h>
+ #include <new>
+ #include <type_traits>
+ 
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/roctracer-hsa_ostream_ops-include.patch b/Overlays/jureca_mi200_overlay/r/ROCm/roctracer-hsa_ostream_ops-include.patch
new file mode 100644
index 0000000000000000000000000000000000000000..8338ef5b10fffce5bc840f9022d9b446576542cd
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/roctracer-hsa_ostream_ops-include.patch
@@ -0,0 +1,13 @@
+diff --git a/inc/roctracer_hsa.h b/inc/roctracer_hsa.h
+index 1e50c3a..e62e0c0 100644
+--- a/inc/roctracer_hsa.h
++++ b/inc/roctracer_hsa.h
+@@ -64,7 +64,7 @@ struct ops_properties_t {
+ typedef hsa_support::ops_properties_t hsa_ops_properties_t;
+ }; // namespace roctracer
+ 
+-#include "hsa_ostream_ops.h"
++#include <hsa_ostream_ops.h>
+ 
+ 
+ #else // !__cplusplus
diff --git a/Overlays/jureca_mi200_overlay/r/ROCm/roctracer-preprocess-no-linemarkers.patch b/Overlays/jureca_mi200_overlay/r/ROCm/roctracer-preprocess-no-linemarkers.patch
new file mode 100644
index 0000000000000000000000000000000000000000..bcc8c66c586d44dad1c12fd30f4aa6b48b5dfd10
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/ROCm/roctracer-preprocess-no-linemarkers.patch
@@ -0,0 +1,21 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 82250d8..f60b1ae 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -3,12 +3,12 @@ set ( GEN_INC_DIR ${PROJECT_BINARY_DIR}/inc )
+ set ( GEN_SRC_DIR ${PROJECT_BINARY_DIR}/src )
+ execute_process ( COMMAND sh -xc "mkdir -p ${GEN_INC_DIR}" )
+ execute_process ( COMMAND sh -xc "mkdir -p ${GEN_SRC_DIR}" )
+-execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa.h > ${GEN_INC_DIR}/hsa_pp.h" )
+-execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_RUNTIME_INC_PATH}/hsa_ext_amd.h > ${GEN_INC_DIR}/hsa_ext_amd_pp.h" )
++execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E -P ${HSA_RUNTIME_INC_PATH}/hsa.h > ${GEN_INC_DIR}/hsa_pp.h" )
++execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E -P ${HSA_RUNTIME_INC_PATH}/hsa_ext_amd.h > ${GEN_INC_DIR}/hsa_ext_amd_pp.h" )
+ execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hsa_pp.h,${GEN_INC_DIR}/hsa_ext_amd_pp.h -out ${GEN_INC_DIR}/hsa_ostream_ops.h" )
+ execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/hsaap.py ${PROJECT_BINARY_DIR} ${HSA_RUNTIME_INC_PATH}" )
+-execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${GEN_INC_DIR}/hsakmttypes_pp.h" )
+-execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E ${HIP_PATH}/include/hip/hip_runtime_api.h ${HIP_DEFINES} -I${HIP_PATH}/include -I${ROCM_ROOT_DIR}/hsa/include > ${GEN_INC_DIR}/hip_runtime_api_pp.h" )
++execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E -P ${HSA_KMT_INC_PATH}/hsakmttypes.h > ${GEN_INC_DIR}/hsakmttypes_pp.h" )
++execute_process ( COMMAND sh -xc "${CMAKE_C_COMPILER} -E -P ${HIP_PATH}/include/hip/hip_runtime_api.h ${HIP_DEFINES} -I${HIP_PATH}/include -I${ROCM_ROOT_DIR}/hsa/include > ${GEN_INC_DIR}/hip_runtime_api_pp.h" )
+ execute_process ( COMMAND sh -xc "python3 ${ROOT_DIR}/script/gen_ostream_ops.py -in ${GEN_INC_DIR}/hip_runtime_api_pp.h -out ${GEN_INC_DIR}/hip_ostream_ops.h" )
+ execute_process ( COMMAND sh -xc "mkdir ${GEN_INC_DIR}/rocprofiler" )
+ execute_process ( COMMAND sh -xc "ln -s ${ROOT_DIR}/../rocprofiler/inc/rocprofiler.h ${GEN_INC_DIR}/rocprofiler/rocprofiler.h" )
diff --git a/Overlays/jureca_mi200_overlay/r/robin-hood-hashing/robin-hood-hashing-3.11.5-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/r/robin-hood-hashing/robin-hood-hashing-3.11.5-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..5763b5ca59e177af4f4b9ed3574313aaa418c474
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/r/robin-hood-hashing/robin-hood-hashing-3.11.5-GCCcore-11.2.0.eb
@@ -0,0 +1,32 @@
+easyblock = 'CMakeNinja'
+
+name = 'robin-hood-hashing'
+version = '3.11.5'
+
+homepage = 'https://gitter.im/martinus/robin-hood-hashing'
+description = """Fast & memory efficient hashtable based on robin hood hashing for C++11/14/17/20"""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+github_account = 'martinus'
+
+source_urls = [GITHUB_SOURCE]
+sources = [{
+    'filename':          SOURCELOWER_TAR_GZ,
+    'download_filename': '%(version)s.tar.gz'
+}]
+checksums = ['3693e44dda569e9a8b87ce8263f7477b23af448a3c3600c8ab9004fe79c20ad0']
+
+builddependencies = [
+    ('CMake', '3.21.1'),
+    ('Ninja', '1.10.2'),
+]
+
+configopts = '-DRH_STANDALONE_PROJECT=OFF'
+
+sanity_check_paths = {
+    'files': ['include/robin_hood.h'],
+    'dirs': ['lib/cmake'],
+}
+
+moduleclass = 'devel'
diff --git a/Overlays/jureca_mi200_overlay/s/SPIRV-Cross/SPIRV-Cross-1.3.213-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/s/SPIRV-Cross/SPIRV-Cross-1.3.213-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..fe6bfafb5ea014973346ce0f31dd8140f6039717
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/s/SPIRV-Cross/SPIRV-Cross-1.3.213-GCCcore-11.2.0.eb
@@ -0,0 +1,36 @@
+easyblock = 'CMakeNinja'
+
+name = 'SPIRV-Cross'
+version = '1.3.213'
+
+homepage = 'https://www.khronos.org/registry/SPIR-V/'
+description = """SPIRV-Cross is a practical tool and library for performing reflection
+                 on SPIR-V and disassembling SPIR-V back to high level languages."""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+github_account = 'KhronosGroup'
+
+source_urls = [GITHUB_SOURCE]
+sources = [{
+    'filename': SOURCELOWER_TAR_GZ,
+    # 'download_filename': 'sdk-%(version)s.tar.gz'
+    'download_filename': 'b3ff97d0feafd2b7ca72aec7215cfc3d0998fb79.tar.gz'
+}]
+checksums = ['088fd4fac6d880077e01ee89ed0c25cfda0cf7baf2558f374d6b6a431d570509']
+
+builddependencies = [
+    ('CMake', '3.21.1'),
+    ('Ninja', '1.10.2'),
+]
+
+sanity_check_paths = {
+    'files': [
+        'include/spirv_cross/spirv_cross.hpp',
+        'bin/spirv-cross',
+        'lib/libspirv-cross-core.a',
+    ],
+    'dirs': ['share/spirv_cross_core/cmake'],
+}
+
+moduleclass = 'devel'
diff --git a/Overlays/jureca_mi200_overlay/s/SPIRV-Headers/SPIRV-Headers-1.3.213-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/s/SPIRV-Headers/SPIRV-Headers-1.3.213-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..3f3700841395f97756ffeb92bade0e47d9aa26c0
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/s/SPIRV-Headers/SPIRV-Headers-1.3.213-GCCcore-11.2.0.eb
@@ -0,0 +1,32 @@
+easyblock = 'CMakeNinja'
+
+name = 'SPIRV-Headers'
+version = '1.3.213'
+
+homepage = 'https://www.khronos.org/registry/SPIR-V/'
+description = """Machine-readable files for the SPIR-V Registry"""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+github_account = 'KhronosGroup'
+
+source_urls = [GITHUB_SOURCE]
+sources = [{
+    'filename': SOURCELOWER_TAR_GZ,
+    # 'download_filename': 'sdk-%(version)s.tar.gz'
+    'download_filename': 'b765c355f488837ca4c77980ba69484f3ff277f5.tar.gz'
+}]
+checksums = ['aabcd80a10cd5004fd99f480c1b5d74d61a44caeed805f11a49843143b49d883']
+
+builddependencies = [
+    ('CMake', '3.21.1'),
+    ('Ninja', '1.10.2'),
+]
+
+local_spirv_versions = ['1.0', '1.1', '1.2']
+sanity_check_paths = {
+    'files': ['include/spirv/%s/spirv.h' % ver for ver in local_spirv_versions],
+    'dirs': ['share/cmake', 'share/pkgconfig'],
+}
+
+moduleclass = 'devel'
diff --git a/Overlays/jureca_mi200_overlay/s/SPIRV-Reflect/SPIRV-Reflect-1.3.213-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/s/SPIRV-Reflect/SPIRV-Reflect-1.3.213-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..b280792f90e7f46f4b546e410a021f3ea7480eef
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/s/SPIRV-Reflect/SPIRV-Reflect-1.3.213-GCCcore-11.2.0.eb
@@ -0,0 +1,49 @@
+easyblock = 'CMakeNinja'
+
+name = 'SPIRV-Reflect'
+version = '1.3.213'
+
+homepage = 'https://www.khronos.org/registry/SPIR-V/'
+description = """SPIRV-Reflect is a lightweight library that provides a C/C++ reflection 
+                 API for SPIR-V shader bytecode in Vulkan applications"""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+github_account = 'KhronosGroup'
+
+local_commit_hash = '0f142bbfe9bd7aeeae6b3c703bcaf837dba8df9d'
+source_urls = [GITHUB_SOURCE]
+sources = [{
+    'filename': SOURCELOWER_TAR_GZ,
+    # 'download_filename': 'sdk-%(version)s.tar.gz'
+    'download_filename': local_commit_hash + '.tar.gz'
+}]
+checksums = ['1799e94629a2370d0d8a7481e2a31cc23099269b661569a49ef045e6b1911870']
+
+builddependencies = [
+    ('CMake', '3.21.1'),
+    ('Ninja', '1.10.2'),
+]
+
+dependencies = [
+    ('SPIRV-Headers', version)
+]
+
+configopts = "-DSPIRV_REFLECT_STATIC_LIB=ON -DSPIRV_REFLECT_STRIPPER=ON"
+
+postinstallcmds = [
+    'mkdir %(installdir)s/include',
+    'cp %%(builddir)s/SPIRV-Reflect-%s/spirv_reflect.h %%(installdir)s/include' % local_commit_hash
+]
+
+
+sanity_check_paths = {
+    'files': [
+        'include/spirv_reflect.h',
+        'bin/spirv-reflect-pp',
+        'bin/spirv-reflect',
+        'lib/libspirv-reflect-static.a'],
+    'dirs': [],
+}
+
+moduleclass = 'devel'
diff --git a/Overlays/jureca_mi200_overlay/s/SPIRV-Tools/SPIRV-Tools-2022.2-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/s/SPIRV-Tools/SPIRV-Tools-2022.2-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..a91bb01bb37168f19141dba63c7aed16d54d5678
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/s/SPIRV-Tools/SPIRV-Tools-2022.2-GCCcore-11.2.0.eb
@@ -0,0 +1,51 @@
+easyblock = 'CMakeNinja'
+
+name = 'SPIRV-Tools'
+version = '2022.2'
+
+homepage = 'https://www.khronos.org/registry/SPIR-V/'
+description = """The SPIR-V Tools project provides an API and commands for processing SPIR-V modules."""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+github_account = 'KhronosGroup'
+
+source_urls = [GITHUB_SOURCE]
+sources = [{
+    'filename':          SOURCELOWER_TAR_GZ,
+    'download_filename': 'v%(version)s.tar.gz'
+}]
+patches = [
+    'https://github.com/KhronosGroup/SPIRV-Tools/commit/58dc37ea6af7ec09f32f7b13ff60071e3ba2bd24.patch',
+    'https://github.com/KhronosGroup/SPIRV-Tools/commit/9e377b0f974bd1f048e20dda1d52da900b3246cb.patch'
+]
+checksums = [
+    '909fc7e68049dca611ca2d57828883a86f503b0353ff78bc594eddc65eb882b9',
+    'c5836accfa2d0ff80214074c6efffeafe5c7f13ace3e64b9c4270a0ed4343591',
+    'f68f382108746c9a6dc0708f6898d7145c1998901d568bb48eeb1ae2758e0642'
+]
+
+builddependencies = [
+    ('CMake', '3.21.1'),
+    ('Ninja', '1.10.2'),
+]
+
+dependencies = [
+    ('SPIRV-Headers', '1.3.213')
+]
+
+configopts = "-DSPIRV-Headers_SOURCE_DIR=$EBROOTSPIRVMINHEADERS"
+
+local_programs = ['spirv-as', 'spirv-cfg', 'spirv-dis',
+                  'spirv-lesspipe.sh', 'spirv-link',
+                  'spirv-lint', 'spirv-opt',
+                  'spirv-reduce', 'spirv-val']
+sanity_check_paths = {
+    'files': ["bin/%s" % prog for prog in local_programs] +
+             ["lib/libSPIRV-Tools.a",
+              "lib/libSPIRV-Tools-shared.so",
+              "include/spirv-tools/libspirv.h"],
+    'dirs': ['lib/cmake'],
+}
+
+moduleclass = 'devel'
diff --git a/Overlays/jureca_mi200_overlay/s/source-highlight/source-highlight-3.1.9-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/s/source-highlight/source-highlight-3.1.9-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..909eee08b43eb760c75fde479e6762fa7bfd2629
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/s/source-highlight/source-highlight-3.1.9-GCCcore-11.2.0.eb
@@ -0,0 +1,38 @@
+easyblock = 'ConfigureMake'
+
+name = 'source-highlight'
+version = '3.1.9'
+
+homepage = 'https://www.gnu.org/software/src-highlite/'
+description = "This program, given a source file, produces a document with syntax highlighting"
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+toolchainopts = {'optarch': True, 'pic': True}
+
+source_urls = ['ftp://ftp.gnu.org/gnu/src-highlite/']
+sources = [SOURCELOWER_TAR_GZ]
+patches = ['source-highlight-gcc11.patch']
+checksums = [
+    '3a7fd28378cb5416f8de2c9e77196ec915145d44e30ff4e0ee8beb3fe6211c91',
+    '7dbbdb7a1363d650aee75337f1204761754d9ad82a7c873c3f8b3f0ba07e814d'
+]
+
+dependencies = [
+    ('Boost', '1.78.0'),
+]
+
+configopts = "--with-pic --with-boost=$EBROOTBOOST --with-boost-libdir=$EBROOTBOOST/lib64"
+
+local_binaries = ["check-regexp", "cpp2html", "java2html",
+                  "source-highlight", "source-highlight-esc.sh",
+                  "source-highlight-settings", "src-hilite-lesspipe.sh"]
+local_libs = ["libsource-highlight.a", "libsource-highlight.so"]
+sanity_check_paths = {
+    'files': ["bin/%s" % b for b in local_binaries] +
+             ["lib/libsource-highlight.a",
+              "lib/libsource-highlight.%s" % SHLIB_EXT] +
+             ["include/srchilite/sourcehighlight.h"],
+    'dirs': ["lib/pkgconfig"],
+}
+
+moduleclass = 'tools'
diff --git a/Overlays/jureca_mi200_overlay/s/source-highlight/source-highlight-gcc11.patch b/Overlays/jureca_mi200_overlay/s/source-highlight/source-highlight-gcc11.patch
new file mode 100644
index 0000000000000000000000000000000000000000..1e5b0dd8df407a352c59f2339b66b0d27665182f
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/s/source-highlight/source-highlight-gcc11.patch
@@ -0,0 +1,34 @@
+From 904949c9026cb772dc93fbe0947a252ef47127f4 Mon Sep 17 00:00:00 2001
+From: Tom Tromey <tom@tromey.com>
+Date: Wed, 10 Jun 2020 20:38:27 -0600
+Subject: Remove "throw" specifications
+
+diff --git a/lib/srchilite/fileutil.cc b/lib/srchilite/fileutil.cc
+index 59a6d64..963178c 100644
+--- a/lib/srchilite/fileutil.cc
++++ b/lib/srchilite/fileutil.cc
+@@ -48,7 +48,7 @@ void set_file_util_verbose(bool b) {
+ // FIXME avoid using a global variable
+ std::string start_path;
+ 
+-string readFile(const string &fileName) throw (IOException) {
++string readFile(const string &fileName) {
+     ifstream file(fileName.c_str());
+ 
+     if (!file.is_open()) {
+diff --git a/lib/srchilite/fileutil.h b/lib/srchilite/fileutil.h
+index 7335a9b..042eb56 100644
+--- a/lib/srchilite/fileutil.h
++++ b/lib/srchilite/fileutil.h
+@@ -27,7 +27,7 @@ extern std::string start_path;
+  * @return the contents of the file
+  * @throw IOException
+  */
+-string readFile(const string &fileName) throw (IOException);
++string readFile(const string &fileName);
+ 
+ //char *read_file(const string &fileName);
+ 
+-- 
+cgit v1.2.1
+
diff --git a/Overlays/jureca_mi200_overlay/v/Vulkan-Headers/Vulkan-Headers-1.3.213-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/v/Vulkan-Headers/Vulkan-Headers-1.3.213-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..fdfe1b512880359f28d02ecb5f011931bab9611c
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/v/Vulkan-Headers/Vulkan-Headers-1.3.213-GCCcore-11.2.0.eb
@@ -0,0 +1,30 @@
+easyblock = 'CMakeNinja'
+
+name = 'Vulkan-Headers'
+version = '1.3.213'
+
+homepage = 'https://www.vulkan.org/'
+description = """Vulkan header files and API registry"""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+github_account = 'KhronosGroup'
+
+source_urls = [GITHUB_SOURCE]
+sources = [{
+    'filename':          SOURCELOWER_TAR_GZ,
+    'download_filename': 'v%(version)s.tar.gz'
+}]
+checksums = ['7f4a6118dc3524703c1ce0a44089379e89eeb930fbe28188b90fdac1f10ef676']
+
+builddependencies = [
+    ('CMake', '3.21.1'),
+    ('Ninja', '1.10.2'),
+]
+
+sanity_check_paths = {
+    'files': ['include/vulkan/vulkan.h'],
+    'dirs': [],
+}
+
+moduleclass = 'devel'
diff --git a/Overlays/jureca_mi200_overlay/v/Vulkan-Loader/Vulkan-Loader-1.3.213-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/v/Vulkan-Loader/Vulkan-Loader-1.3.213-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..f7c702d3a55c5defccd9f55c339029ef645eea78
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/v/Vulkan-Loader/Vulkan-Loader-1.3.213-GCCcore-11.2.0.eb
@@ -0,0 +1,37 @@
+easyblock = 'CMakeNinja'
+
+name = 'Vulkan-Loader'
+version = '1.3.213'
+
+homepage = 'https://www.vulkan.org/'
+description = """Provides the Khronos official Vulkan ICD desktop loader for Windows, Linux, and MacOS"""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+github_account = 'KhronosGroup'
+
+source_urls = [GITHUB_SOURCE]
+sources = [{
+    'filename':          SOURCELOWER_TAR_GZ,
+    'download_filename': 'v%(version)s.tar.gz'
+}]
+checksums = ['3cacac2a39026ce74ff96d2bf5d2c85f2729218182cf0be07ae62f58a5301a39']
+
+builddependencies = [
+    ('CMake', '3.21.1'),
+    ('Ninja', '1.10.2'),
+]
+
+dependencies = [
+    ('Vulkan-Headers', version),
+    ('X11', '20210802'),
+]
+
+configopts = '-DBUILD_WSI_WAYLAND_SUPPORT=OFF'
+
+sanity_check_paths = {
+    'files': ['lib/libvulkan.so'],
+    'dirs': ['lib/pkgconfig'],
+}
+
+moduleclass = 'devel'
diff --git a/Overlays/jureca_mi200_overlay/v/Vulkan-Tools/Vulkan-Tools-1.3.213-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/v/Vulkan-Tools/Vulkan-Tools-1.3.213-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..b21e7b632601df9f17c2aa1bc2f46bab853b6542
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/v/Vulkan-Tools/Vulkan-Tools-1.3.213-GCCcore-11.2.0.eb
@@ -0,0 +1,38 @@
+easyblock = 'CMakeNinja'
+
+name = 'Vulkan-Tools'
+version = '1.3.213'
+
+homepage = 'https://www.vulkan.org/'
+description = """Provides Khronos official Vulkan Tools and Utilities"""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+github_account = 'KhronosGroup'
+
+source_urls = [GITHUB_SOURCE]
+sources = [{
+    'filename':          SOURCELOWER_TAR_GZ,
+    'download_filename': 'v%(version)s.tar.gz'
+}]
+checksums = ['2b20b9c8cefe26f8d7df5f6b270c6a6d4dcf5fe0995f779abac2f0fa658c5798']
+
+builddependencies = [
+    ('CMake', '3.21.1'),
+    ('Ninja', '1.10.2'),
+]
+
+dependencies = [
+    ('Vulkan-Headers', version),
+    ('Vulkan-Loader', version),
+    ('X11', '20210802'),
+]
+
+configopts = '-DBUILD_WSI_WAYLAND_SUPPORT=OFF'
+
+sanity_check_paths = {
+    'files': ['bin/%s' % f for f in ['vkcube', 'vkcubepp', 'vulkaninfo']],
+    'dirs': [],
+}
+
+moduleclass = 'devel'
diff --git a/Overlays/jureca_mi200_overlay/v/Vulkan-ValidationLayers/Vulkan-ValidationLayers-1.3.213-GCCcore-11.2.0.eb b/Overlays/jureca_mi200_overlay/v/Vulkan-ValidationLayers/Vulkan-ValidationLayers-1.3.213-GCCcore-11.2.0.eb
new file mode 100644
index 0000000000000000000000000000000000000000..e7e1cdf00810635ca85de9ff5ae662cc03020b00
--- /dev/null
+++ b/Overlays/jureca_mi200_overlay/v/Vulkan-ValidationLayers/Vulkan-ValidationLayers-1.3.213-GCCcore-11.2.0.eb
@@ -0,0 +1,45 @@
+easyblock = 'CMakeNinja'
+
+name = 'Vulkan-ValidationLayers'
+version = '1.3.213'
+
+homepage = 'https://www.vulkan.org/'
+description = """Provides the Khronos official Vulkan validation layers"""
+
+toolchain = {'name': 'GCCcore', 'version': '11.2.0'}
+
+github_account = 'KhronosGroup'
+
+source_urls = [GITHUB_SOURCE]
+sources = [{
+    'filename':          SOURCELOWER_TAR_GZ,
+    'download_filename': 'v%(version)s.tar.gz'
+}]
+checksums = ['26199bde8d7c499867d2fde95aea139815d30fd8a3548d95ebd401224a8ce02c']
+
+builddependencies = [
+    ('CMake', '3.21.1'),
+    ('Ninja', '1.10.2'),
+]
+
+dependencies = [
+    ('Vulkan-Headers', version),
+    ('robin-hood-hashing', '3.11.5'),
+    ('SPIRV-Tools', '2022.2'),
+    ('X11', '20210802'),
+]
+
+configopts = '-DBUILD_WSI_WAYLAND_SUPPORT=OFF'
+
+modextrapaths = {
+    "VK_LAYER_PATH": ['share/vulkan/explicit_layer.d/']
+}
+
+sanity_check_paths = {
+    'files': ['share/vulkan/explicit_layer.d/VkLayer_khronos_validation.json',
+              'lib/libVkLayer_khronos_validation.so',
+              'lib/libVkLayer_utils.a'],
+    'dirs': [],
+}
+
+moduleclass = 'devel'