Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions eb_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@

# Make sure a single environment variable name is used for this throughout the hooks
EESSI_IGNORE_ZEN4_GCC1220_ENVVAR="EESSI_IGNORE_LMOD_ERROR_ZEN4_GCC1220"
EESSI_IGNORE_AARCH64_ROCMLLVM641_ENVVAR="EESSI_IGNORE_LMOD_ERROR_AARCH64_ROCMLLVM641"

STACK_REPROD_SUBDIR = 'reprod'

Expand Down Expand Up @@ -840,6 +841,20 @@ def is_unsupported_module(self):
setattr(self, EESSI_UNSUPPORTED_MODULE_ATTR, UnsupportedModule(envvar=var,errmsg=errmsg))
return True

# ROCm-LLVM 6.4.1 is not supported on aarch64
# see: https://github.com/EESSI/software-layer/pull/1473#issuecomment-4370846033
if not os.getenv("EESSI_OVERRIDE_ROCM_VERSION_CHECK"):
if self.cfg.name == 'ROCm-LLVM' and self.cfg.version in ('6.4.1',):
if get_eessi_envvar('EESSI_CPU_FAMILY') == 'aarch64':
msg += "Building with '--module-only --force' and injecting an LmodError into the modulefile."
msg += "You can override this behaviour by setting the EESSI_OVERRIDE_ROCM_VERSION_CHECK environment variable."
print_warning(msg)
errmsg = "ROCm-LLVM/6.4.1 is not supported on the aarch64 architecture."
errmsg += "For more details, see: https://github.com/EESSI/software-layer/pull/1473#issuecomment-4370846033"
var=EESSI_IGNORE_AARCH64_ROCMLLVM641_ENVVAR
setattr(self, EESSI_UNSUPPORTED_MODULE_ATTR, UnsupportedModule(envvar=var, errmsg=errmsg))
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should define a sensible errmsg before this line. Note that this is the errmsg that gets printed to the end user trying to load the module. Thus, it should make sense to such an end-user...

return True

# If all the above logic passed, this module is supported
setattr(self, EESSI_SUPPORTED_MODULE_ATTR, True)
return False
Expand Down
Loading