Skip to content

adopt module_load_environment in NVHPC easyblock#3628

Merged
boegel merged 2 commits intoeasybuilders:5.0.xfrom
lexming:modload-nvhpc
Feb 21, 2025
Merged

adopt module_load_environment in NVHPC easyblock#3628
boegel merged 2 commits intoeasybuilders:5.0.xfrom
lexming:modload-nvhpc

Conversation

@lexming
Copy link
Copy Markdown
Contributor

@lexming lexming commented Feb 20, 2025

Update of NVHPC easyblock for #3527

This is one of the best examples of the advantages of ModuleLoadEnvironment:

  • it removed the need for a helper method like _nvhpc_extended_components()
  • any path can be easily removed from $VARIABLE instead of deleting the variable (e.g. with BYO)
  • it is more clear when a $VARIABLE gets paths appended or if it is re-assigned

Tested with a default easyconfig and also enabling the following easyconfig parameters:

module_byo_compilers = True  # Remove compilers from PATH (Bring-your-own compilers)
module_nvhpc_own_mpi = True  # Add NVHPC's own pre-compiled OpenMPI
module_add_math_libs = True  # Add NVHPC's math libraries (which should be there from CUDA anyway)
module_add_profilers = True  # Add NVHPC's NVIDIA Profilers
module_add_nccl = True       # Add NVHPC's NCCL library
module_add_nvshmem = True    # Add NVHPC's NVSHMEM library
module_add_cuda = True       # Add NVHPC's bundled CUDA

Bonus:

  • fix sanity checks with module_byo_compilers enabled
  • add CMAKE_MODULE_PATH to module environment

@lexming
Copy link
Copy Markdown
Contributor Author

lexming commented Feb 20, 2025

Test report by @lexming

Overview of tested easyconfigs (in order)

  • SUCCESS NVHPC-21.11.eb >> all parameters enabled
  • SUCCESS NVHPC-23.7-CUDA-12.1.1.eb >> default install

Build succeeded for 2 out of 2 (2 easyconfigs in total)
node500.anansi.os - Linux Rocky Linux 8.10 (Green Obsidian), x86_64, Intel(R) Xeon(R) CPU E5-2683 v4 @ 2.10GHz, 1 x NVIDIA NVIDIA GeForce GTX 1080 Ti, 550.90.07, Python 3.9.20
See https://gist.github.com/lexming/88f6c0b2729be9f65eb47428fc9a4923 for a full test report.

@boegel
Copy link
Copy Markdown
Member

boegel commented Feb 21, 2025

Test report by @boegel

Overview of tested easyconfigs (in order)

  • SUCCESS NVHPC-21.11.eb
  • SUCCESS NVHPC-22.7-CUDA-11.7.0.eb
  • SUCCESS NVHPC-24.11-CUDA-12.6.0.eb

Build succeeded for 3 out of 3 (3 easyconfigs in total)
node3515.doduo.os - Linux RHEL 8.8, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.6.8
See https://gist.github.com/boegel/272f325c6b273bd687370835895e4421 for a full test report.

@boegel boegel added the change label Feb 21, 2025
@boegel boegel merged commit e79a7e8 into easybuilders:5.0.x Feb 21, 2025
@lexming lexming deleted the modload-nvhpc branch February 21, 2025 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

No open projects
Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants