Skip to content

Conversation

@Thyre
Copy link
Collaborator

@Thyre Thyre commented Jul 3, 2025

(created using eb --new-pr)

Requires:

TODO:

This PR introduces a separate EasyBlock for ROCm-LLVM, based on the heavy lifting of the LLVM EasyBlock. A few options need to be set differently, e.g. explicit disabling of #3747 due to the "generic" ROCm-LLVM interface not being compatible with the actual HSA being used in their OpenMP Tools Interface.

Lots of work has been done by @bedroge to get this EasyBlock working at all, thanks for that!

@Thyre Thyre marked this pull request as draft July 3, 2025 18:29
@Thyre Thyre changed the title new easyblock for rocm_llvm Draft: New EasyBlock for ROCm-LLVM Jul 3, 2025
@Thyre Thyre force-pushed the 20250703202924_new_pr_rocm_llvm branch from 42a7da6 to 51e9ad9 Compare July 3, 2025 18:38
Copy link

@Zeldhoron Zeldhoron left a comment

Choose a reason for hiding this comment

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

During testing this, when I was trying to build ROCm-LLVM, I added some small changes that fixed some issues for me.

@Thyre Thyre force-pushed the 20250703202924_new_pr_rocm_llvm branch from 111d016 to 51dfd8b Compare July 27, 2025 21:02
@Thyre Thyre marked this pull request as ready for review July 27, 2025 21:02
@Thyre Thyre force-pushed the 20250703202924_new_pr_rocm_llvm branch from 51dfd8b to 643e705 Compare July 27, 2025 21:03
@Thyre Thyre force-pushed the 20250703202924_new_pr_rocm_llvm branch from 643e705 to 8e3ca37 Compare July 27, 2025 21:03
@Thyre Thyre changed the title Draft: New EasyBlock for ROCm-LLVM New EasyBlock for ROCm-LLVM Jul 27, 2025
@Thyre
Copy link
Collaborator Author

Thyre commented Jul 28, 2025

First test report:
easybuilders/easybuild-easyconfigs#23304 (comment)

@Thyre Thyre force-pushed the 20250703202924_new_pr_rocm_llvm branch from d022852 to d609070 Compare August 9, 2025 07:30
@boegel boegel added this to the 5.x milestone Aug 12, 2025
@bedroge
Copy link
Contributor

bedroge commented Oct 24, 2025

@Thyre I was giving this another try with the easyconfig from easybuilders/easybuild-easyconfigs#23304, but I'm getting an error for openmp:

 == installing bundle component llvm-project-openmp v19.0.0-rocm-6.4.1 (4/5)...
==    patching component llvm-project-openmp...
  >> applying patch ROCm-LLVM-6.4.1_llvm-project-19.0.0_fix-offload-build.patch
==    ... (took < 1 sec)
==    configuring component llvm-project-openmp...
==    ... (took 6 secs)
== ... (took 46 mins 19 secs)
== FAILED: Installation ended unsuccessfully: Nothing found to replace 'cmake_policy\(SET CMP0114 OLD\)' in cmake/Modules/CMakePolicy.cmake (took 46 mins 35 secs)

Looks like that's because of the changes from #3875 (which uses on_missing_match=ERROR for the regex substitution), and because we're reusing the llvm source dir for openmp. The file has already been patched then, so there's nothing to replace anymore, and it fails.

I guess we either need to use a clean source dir for openmp, or disable the on_missing_match=ERROR (or make that optional somehow)?

@Thyre
Copy link
Collaborator Author

Thyre commented Oct 24, 2025

@Thyre I was giving this another try with the easyconfig from easybuilders/easybuild-easyconfigs#23304, but I'm getting an error for openmp:


 == installing bundle component llvm-project-openmp v19.0.0-rocm-6.4.1 (4/5)...
==    patching component llvm-project-openmp...
  >> applying patch ROCm-LLVM-6.4.1_llvm-project-19.0.0_fix-offload-build.patch
==    ... (took < 1 sec)
==    configuring component llvm-project-openmp...
==    ... (took 6 secs)
== ... (took 46 mins 19 secs)
== FAILED: Installation ended unsuccessfully: Nothing found to replace 'cmake_policy\(SET CMP0114 OLD\)' in cmake/Modules/CMakePolicy.cmake (took 46 mins 35 secs)

[...]

I guess we either need to use a clean source dir for openmp, or disable the on_missing_match=ERROR (or make that optional somehow)?

I ran into this with ROCm 7.0.0 in the first LLVM build and created #3937 to work around the issue for that. I didn't keep in mind that this also affects the second build, since the sources are patched at that point already.

I think starting from a clean source is the best solution, since there might be other unexpected side-effects otherwise. I'll update the ROCm-LLVM EasyConfig PRs accordingly.

@Thyre
Copy link
Collaborator Author

Thyre commented Oct 24, 2025

@bedroge, I updated the ROCm-LLVM 6.4.1 PR to extract the sources again during openmp and triggered a build on jsc-zen3. Lets see if that is sufficient...

@bedroge
Copy link
Contributor

bedroge commented Oct 24, 2025

@bedroge, I updated the ROCm-LLVM 6.4.1 PR to extract the sources again during openmp and triggered a build on jsc-zen3. Lets see if that is sufficient...

Thanks, I'll do another build as well.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants