Skip to content

Make HPL easyblock intel-aware + allow running the xhpl benchmark as a test#3917

Merged
boegel merged 6 commits intoeasybuilders:developfrom
Crivella:fix-hpl
Sep 10, 2025
Merged

Make HPL easyblock intel-aware + allow running the xhpl benchmark as a test#3917
boegel merged 6 commits intoeasybuilders:developfrom
Crivella:fix-hpl

Conversation

@Crivella
Copy link
Copy Markdown
Contributor

@Crivella Crivella commented Sep 5, 2025

Potential fix for

I think we could also not run the benchmark as a a test instead of pinning everything to 1 core (if we do not wanna deal with pinning with every different type of MPI)

@Crivella
Copy link
Copy Markdown
Contributor Author

Crivella commented Sep 5, 2025

@boegelbot please test @ jsc-zen3
EB_ARGS="--installpath /tmp/$USER/ebpr-3917 HPL-2.3-intel-2021a.eb HPL-2.3-intel-2022.00.eb HPL-2.3-intel-2022.11.eb HPL-2.3-intel-2022a.eb HPL-2.3-intel-2023a.eb HPL-2.3-intel-2024a.eb HPL-2.3-foss-2025a.eb HPL-2.3-foss-2024a.eb HPL-2.3-foss-2023a.eb HPL-2.3-foss-2022a.eb"

@Crivella Crivella requested a review from Thyre September 5, 2025 15:39
@boegelbot
Copy link
Copy Markdown

@Crivella: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=3917 EB_ARGS="--installpath /tmp/$USER/ebpr-3917 HPL-2.3-intel-2021a.eb HPL-2.3-intel-2022.00.eb HPL-2.3-intel-2022.11.eb HPL-2.3-intel-2022a.eb HPL-2.3-intel-2023a.eb HPL-2.3-intel-2024a.eb HPL-2.3-foss-2025a.eb HPL-2.3-foss-2024a.eb HPL-2.3-foss-2023a.eb HPL-2.3-foss-2022a.eb" EB_CONTAINER= EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_3917 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 7872

Test results coming soon (I hope)...

Details

- notification for comment with ID 3258815718 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

Comment thread easybuild/easyblocks/h/hpl.py Outdated
Comment thread easybuild/easyblocks/h/hpl.py Outdated
@boegelbot
Copy link
Copy Markdown

Test report by @boegelbot

Overview of tested easyconfigs (in order)

  • SUCCESS HPL-2.3-intel-2021a.eb
  • SUCCESS HPL-2.3-intel-2022a.eb
  • SUCCESS HPL-2.3-intel-2023a.eb
  • SUCCESS HPL-2.3-intel-2024a.eb
  • SUCCESS HPL-2.3-foss-2025a.eb
  • SUCCESS HPL-2.3-foss-2024a.eb
  • SUCCESS HPL-2.3-foss-2023a.eb
  • SUCCESS HPL-2.3-foss-2022a.eb
  • SUCCESS impi-2021.5.0-intel-compilers-2022.0.1.eb
  • SUCCESS imkl-2022.0.1.eb
  • SUCCESS iimpi-2022.11.eb
  • SUCCESS imkl-FFTW-2022.2.1-iimpi-2022.11.eb
  • SUCCESS intel-2022.11.eb
  • SUCCESS HPL-2.3-intel-2022.11.eb
  • SUCCESS iimpi-2022.00.eb
  • SUCCESS imkl-FFTW-2022.0.1-iimpi-2022.00.eb
  • SUCCESS intel-2022.00.eb
  • SUCCESS HPL-2.3-intel-2022.00.eb

Build succeeded for 18 out of 18 (10 easyconfigs in total)
jsczen3c4.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/d182309b85c1664162f79d5d440bbfef for a full test report.

@Crivella
Copy link
Copy Markdown
Contributor Author

Crivella commented Sep 8, 2025

Test report by @Crivella

Overview of tested easyconfigs (in order)

  • SUCCESS HPL-2.3-intel-2021a.eb
  • SUCCESS HPL-2.3-intel-2022.00.eb
  • SUCCESS HPL-2.3-intel-2022.11.eb
  • SUCCESS HPL-2.3-intel-2022a.eb
  • SUCCESS HPL-2.3-intel-2023a.eb
  • SUCCESS HPL-2.3-intel-2024a.eb
  • SUCCESS HPL-2.3-intel-2025b.eb
  • SUCCESS HPL-2.3-foss-2025a.eb
  • SUCCESS HPL-2.3-foss-2024a.eb
  • SUCCESS HPL-2.3-foss-2023a.eb
  • SUCCESS HPL-2.3-foss-2022a.eb

Build succeeded for 11 out of 11 (11 easyconfigs in total)
crivella-desktop - Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish), x86_64, 13th Gen Intel(R) Core(TM) i9-13900K (skylake), Python 3.11.13
See https://gist.github.com/Crivella/a947c3fdf94fdfd1d73f5206012236f7 for a full test report.

@Crivella Crivella marked this pull request as ready for review September 8, 2025 08:55
Copy link
Copy Markdown
Collaborator

@Thyre Thyre left a comment

Choose a reason for hiding this comment

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

LGTM.
Let me throw together an Intel + OpenMPI build real quick to also test that, but I would expect to see this succeed as well.

I guess you've tested the residual test check before implementing the configure option? It's hard to test this when we have CCNOOPT set 😄

@Crivella
Copy link
Copy Markdown
Contributor Author

Crivella commented Sep 8, 2025

I guess you've tested the residual test check before implementing the configure option? It's hard to test this when we have CCNOOPT set

I had done a test locally by commenting that section and the intel ones would fail

I am also doing 2 tests on a single HPL with --max-parallel 2 for one and --disable-mpi-tests for the other to show that it still works (just takes a few minutes instead than a few seconds)

@Thyre
Copy link
Copy Markdown
Collaborator

Thyre commented Sep 8, 2025

Test report by @Thyre

Overview of tested easyconfigs (in order)

  • SUCCESS HPL-2.3-iomkl-2024a.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
ZAM054 - Linux Zorin OS 17, x86_64, 12th Gen Intel(R) Core(TM) i7-1260P, 1 x NVIDIA NVIDIA GeForce MX550, 580.65.06, Python 3.10.12
See https://gist.github.com/Thyre/bfe9cadf88deacdd327742c432eb4efb for a full test report.

@Thyre
Copy link
Copy Markdown
Collaborator

Thyre commented Sep 8, 2025

Test report by @Thyre

Overview of tested easyconfigs (in order)

  • SUCCESS HPL-2.3-intel-2025b.eb
  • SUCCESS HPL-2.3-foss-2025b.eb
  • SUCCESS HPL-2.3-foss-2025a.eb

Build succeeded for 3 out of 3 (3 easyconfigs in total)
Linux - Linux Arch Linux UNKNOWN, x86_64, AMD Ryzen 7 7800X3D 8-Core Processor (zen4), 1 x AMD Navi 48 [Radeon RX 9070/9070 XT/9070 GRE] (device id: 0x7550, gfx: gfx1201, driver: 6.16.5-arch1-1), 1 x AMD Raphael (device id: 0x164e, gfx: gfx1036, driver: 6.16.5-arch1-1), Python 3.13.7
See https://gist.github.com/Thyre/571bcf3aad5617b61a64b3d259617601 for a full test report.

@Thyre
Copy link
Copy Markdown
Collaborator

Thyre commented Sep 8, 2025

Hm, we get this warning during the test step:

WARNING: Deprecated functionality, will no longer work in EasyBuild v6.0: Easyconfig parameter 'parallel' is deprecated, use 'max_parallel' or the parallel property instead.; see https://docs.easybuild.io/deprecated-functionality/ for more information

Should we use max_parallel instead?

@Crivella
Copy link
Copy Markdown
Contributor Author

Crivella commented Sep 8, 2025

Ran with --max-parallel 2 forcing to oversubscribe to 1 cpu

Test report by @Crivella

Overview of tested easyconfigs (in order)

  • SUCCESS HPL-2.3-intel-2025a.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
crivella-desktop - Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish), x86_64, 13th Gen Intel(R) Core(TM) i9-13900K (skylake), Python 3.11.13
See https://gist.github.com/Crivella/3a507059c4528bcba6d13f3a9b3df04b for a full test report.

@Crivella
Copy link
Copy Markdown
Contributor Author

Crivella commented Sep 8, 2025

Ran with --disable-mpi-tests forcing to oversubscribe to 1 cpu

Test report by @Crivella

Overview of tested easyconfigs (in order)

  • SUCCESS HPL-2.3-foss-2025a.eb

Build succeeded for 1 out of 1 (1 easyconfigs in total)
crivella-desktop - Linux Ubuntu 22.04.5 LTS (Jammy Jellyfish), x86_64, 13th Gen Intel(R) Core(TM) i9-13900K (skylake), Python 3.11.13
See https://gist.github.com/Crivella/b7ba38edf2c7ef875bbfc451ad13173e for a full test report.

@Crivella
Copy link
Copy Markdown
Contributor Author

Crivella commented Sep 8, 2025

Thanks @ocaisa for the suggestion of using
https://github.com/easybuilders/easybuild-framework/blob/develop/easybuild/tools/toolchain/mpi.py#L273
directly and allow using srun or other command templates through --mpi-cmd-template

Gonna try and implement it here

@Crivella
Copy link
Copy Markdown
Contributor Author

Crivella commented Sep 8, 2025

@boegelbot please test @ jsc-zen3
EB_ARGS="--installpath /tmp/$USER/ebpr-3917 HPL-2.3-intel-2021a.eb HPL-2.3-intel-2022.00.eb HPL-2.3-intel-2022.11.eb HPL-2.3-intel-2022a.eb HPL-2.3-intel-2023a.eb HPL-2.3-intel-2024a.eb HPL-2.3-foss-2025a.eb HPL-2.3-foss-2024a.eb HPL-2.3-foss-2023a.eb HPL-2.3-foss-2022a.eb"

@Crivella
Copy link
Copy Markdown
Contributor Author

Crivella commented Sep 8, 2025

Concerning testing without the CCNOOPTS set i get the following

   * [SUCCESS] HPL/2.3-intel-2021a                                                                                                                                                                                                                                                              
   * [SUCCESS] HPL/2.3-intel-2022.00                                                                                                                                                                                                                                                            
   * [FAILED]  HPL/2.3-intel-2022.11                                                                                                                                                                                                                                                            
   * [SUCCESS] HPL/2.3-intel-2022a                                                                                                                                                                                                                                                              
   * [FAILED] HPL/2.3-intel-2023a                                                                                                                                                                                                                                                              
   * [FAILED] HPL/2.3-intel-2024a                                                                                                                                                                                                                                                              
   * [FAILED] HPL/2.3-intel-2025a  

2025b succeeds because we have the flag in the EC right now

@boegelbot
Copy link
Copy Markdown

@Crivella: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=3917 EB_ARGS="--installpath /tmp/$USER/ebpr-3917 HPL-2.3-intel-2021a.eb HPL-2.3-intel-2022.00.eb HPL-2.3-intel-2022.11.eb HPL-2.3-intel-2022a.eb HPL-2.3-intel-2023a.eb HPL-2.3-intel-2024a.eb HPL-2.3-foss-2025a.eb HPL-2.3-foss-2024a.eb HPL-2.3-foss-2023a.eb HPL-2.3-foss-2022a.eb" EB_CONTAINER= EB_REPO=easybuild-easyblocks EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_3917 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 7879

Test results coming soon (I hope)...

Details

- notification for comment with ID 3265449064 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Copy Markdown

Test report by @boegelbot

Overview of tested easyconfigs (in order)

  • SUCCESS HPL-2.3-intel-2021a.eb
  • SUCCESS HPL-2.3-intel-2022a.eb
  • SUCCESS HPL-2.3-intel-2023a.eb
  • SUCCESS HPL-2.3-intel-2024a.eb
  • SUCCESS HPL-2.3-foss-2025a.eb
  • SUCCESS HPL-2.3-foss-2024a.eb
  • SUCCESS HPL-2.3-foss-2023a.eb
  • SUCCESS HPL-2.3-foss-2022a.eb
  • SUCCESS impi-2021.5.0-intel-compilers-2022.0.1.eb
  • SUCCESS imkl-2022.0.1.eb
  • SUCCESS iimpi-2022.11.eb
  • SUCCESS imkl-FFTW-2022.2.1-iimpi-2022.11.eb
  • SUCCESS intel-2022.11.eb
  • SUCCESS HPL-2.3-intel-2022.11.eb
  • SUCCESS iimpi-2022.00.eb
  • SUCCESS imkl-FFTW-2022.0.1-iimpi-2022.00.eb
  • SUCCESS intel-2022.00.eb
  • SUCCESS HPL-2.3-intel-2022.00.eb

Build succeeded for 18 out of 18 (10 easyconfigs in total)
jsczen3c3.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.6, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/e75b0579b7015a6700f409969b96e2e1 for a full test report.

@boegel boegel added this to the next release (5.1.2) milestone Sep 10, 2025
@boegel boegel changed the title Make HPL EasyBlock intel-aware and allow running the xhpl benchmark as a tests Make HPL awayblock intel-aware + allow running the xhpl benchmark as a tests Sep 10, 2025
@boegel boegel changed the title Make HPL awayblock intel-aware + allow running the xhpl benchmark as a tests Make HPL awayblock intel-aware + allow running the xhpl benchmark as a test Sep 10, 2025
@boegel
Copy link
Copy Markdown
Member

boegel commented Sep 10, 2025

Test report by @boegel

Overview of tested easyconfigs (in order)

  • SUCCESS HPL-2.3-foss-2023a.eb
  • SUCCESS HPL-2.3-foss-2023b.eb
  • SUCCESS HPL-2.3-foss-2024a.eb
  • SUCCESS HPL-2.3-foss-2025a.eb
  • SUCCESS HPL-2.3-foss-2025b.eb
  • SUCCESS HPL-2.3-intel-2023a.eb
  • SUCCESS HPL-2.3-intel-2023b.eb
  • SUCCESS HPL-2.3-intel-2024a.eb
  • SUCCESS HPL-2.3-intel-2025a.eb
  • SUCCESS HPL-2.3-intel-2025b.eb

Build succeeded for 10 out of 10 (10 easyconfigs in total)
node3522.doduo.os - Linux RHEL 9.4, x86_64, AMD EPYC 7552 48-Core Processor (zen2), Python 3.9.18
See https://gist.github.com/boegel/e088b290993430bb36fd09bfea750f17 for a full test report.

Copy link
Copy Markdown
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

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

lgtm

@boegel boegel merged commit b6b4395 into easybuilders:develop Sep 10, 2025
17 checks passed
@Crivella Crivella deleted the fix-hpl branch September 10, 2025 14:45
@boegel boegel changed the title Make HPL awayblock intel-aware + allow running the xhpl benchmark as a test Make HPL easyblock intel-aware + allow running the xhpl benchmark as a test Sep 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants