Skip to content

Add microarchitecture detection for RISC-V clusters at HCA #122

Merged
bedroge merged 13 commits into
EESSI:mainfrom
julianmorillo:main
May 12, 2026
Merged

Add microarchitecture detection for RISC-V clusters at HCA #122
bedroge merged 13 commits into
EESSI:mainfrom
julianmorillo:main

Conversation

@julianmorillo
Copy link
Copy Markdown
Contributor

Results on the tested machines:

jmorillo@premier-1:~/premier/software-layer-scripts/init$ ./eessi_archdetect.sh -d cpupath
2025-11-07 15:26:06 [DEBUG] cpupath: Override variable set as ''
2025-11-07 15:26:06 [DEBUG] cpupath: Host CPU architecture identified as 'riscv64'
2025-11-07 15:26:06 [DEBUG] cpupath: CPU vendor of host system: '0x489'
2025-11-07 15:26:06 [DEBUG] cpupath: CPU flags of host system: 'rv64imafdch_zicsr_zifencei_zba_zbb_sscofpmf'
2025-11-07 15:26:06 [DEBUG] cpupath: host CPU best match updated to riscv64/sifive/p550
2025-11-07 15:26:06 [INFO] cpupath: best match for host CPU: riscv64/sifive/p550
riscv64/sifive/p550
jmorillo@bananaf3-6:~/bananaf3/software-layer-scripts/init$ ./eessi_archdetect.sh -d cpupath
2025-11-07 15:29:03 [DEBUG] cpupath: Override variable set as ''
2025-11-07 15:29:03 [DEBUG] cpupath: Host CPU architecture identified as 'riscv64'
2025-11-07 15:29:03 [DEBUG] cpupath: CPU vendor of host system: '0x710'
2025-11-07 15:29:03 [DEBUG] cpupath: CPU flags of host system: 'rv64imafdcv_zicbom_zicboz_zicntr_zicond_zicsr_zifencei_zihintpause_zihpm_zfh_zfhmin_zca_zcd_zba_zbb_zbc_zbs_zkt_zve32f_zve32x_zve64d_zve64f_zve64x_zvfh_zvfhmin_zvkt_sscofpmf_sstc_svinval_svnapot_svpbmt'
2025-11-07 15:29:03 [DEBUG] cpupath: host CPU best match updated to riscv64/spacemit/x60
2025-11-07 15:29:03 [INFO] cpupath: best match for host CPU: riscv64/spacemit/x60
riscv64/spacemit/x60

@boegel
Copy link
Copy Markdown
Contributor

boegel commented Nov 14, 2025

@julianmorillo Can you look into also adding a test in tests/archdetect ?

You'll also need to update .github/workflows/tests_archdetect.yml to make sure that's picked up

@julianmorillo
Copy link
Copy Markdown
Contributor Author

@julianmorillo Can you look into also adding a test in tests/archdetect ?

You'll also need to update .github/workflows/tests_archdetect.yml to make sure that's picked up

@boegel , done!

@julianmorillo
Copy link
Copy Markdown
Contributor Author

This is the result for the new added architecture:

jmorillo@bananaf3-6:~/bananaf3/software-layer-scripts/init$ ./eessi_archdetect.sh -d cpupath
2025-11-17 10:59:28 [DEBUG] cpupath: Override variable set as ''
2025-11-17 10:59:28 [DEBUG] cpupath: Host CPU architecture identified as 'riscv64'
2025-11-17 10:59:28 [DEBUG] cpupath: CPU vendor of host system: '0x710'
2025-11-17 10:59:28 [DEBUG] cpupath: CPU flags of host system: 'rv64imafdcv_zicbom_zicboz_zicntr_zicond_zicsr_zifencei_zihintpause_zihpm_zfh_zfhmin_zca_zcd_zba_zbb_zbc_zbs_zkt_zve32f_zve32x_zve64d_zve64f_zve64x_zvfh_zvfhmin_zvkt_sscofpmf_sstc_svinval_svnapot_svpbmt'
2025-11-17 10:59:28 [DEBUG] cpupath: host CPU best match updated to riscv64/spacemit/x60-k6.6
2025-11-17 10:59:28 [INFO] cpupath: best match for host CPU: riscv64/spacemit/x60-k6.6
riscv64/spacemit/x60-k6.6

@trz42
Copy link
Copy Markdown
Contributor

trz42 commented Mar 31, 2026

It also changes eb_hooks.py. Is that intentional?

@julianmorillo
Copy link
Copy Markdown
Contributor Author

It also changes eb_hooks.py. Is that intentional?

Not at all, these chages were intended for another branch. I already left eb_hooks.py as the original.

Copy link
Copy Markdown
Contributor

@bedroge bedroge left a comment

Choose a reason for hiding this comment

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

Lgtm

@bedroge
Copy link
Copy Markdown
Contributor

bedroge commented May 11, 2026

bot: build repo:eessi.io-2025.06-software instance:eessi-bot-deucalion for:arch=aarch64/a64fx

@eessi-bot-deucalion
Copy link
Copy Markdown

eessi-bot-deucalion Bot commented May 11, 2026

New job on instance eessi-bot-deucalion for repository eessi.io-2025.06-software
Building on: a64fx
Building for: aarch64/a64fx
Job dir: /home/eessibot/new-bot/jobs/2026.05/pr_122/1252199

date job status comment
May 11 09:53:50 UTC 2026 submitted job id 1252199 awaits release by job manager
May 11 09:54:47 UTC 2026 released job awaits launch by Slurm scheduler
May 11 09:55:51 UTC 2026 running job 1252199 is running
May 11 10:04:07 UTC 2026 finished
😁 SUCCESS (click triangle for details)
Details
✅ job output file slurm-1252199.out
✅ no message matching FATAL:
✅ no message matching ERROR:
✅ no message matching FAILED:
✅ no message matching required modules missing:
✅ found message(s) matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2025.06-software-linux-aarch64-a64fx-17784935130.tar.zstsize: 0 MiB (4043 bytes)
entries: 2
modules under 2025.06/software/linux/aarch64/a64fx/modules/all
no module files in tarball
software under 2025.06/software/linux/aarch64/a64fx/software
no software packages in tarball
reprod directories under 2025.06/software/linux/aarch64/a64fx/reprod
no reprod directories in tarball
other under 2025.06/software/linux/aarch64/a64fx
2025.06/init/arch_specs/eessi_arch_riscv.spec
2025.06/init/eessi_archdetect.sh
May 11 10:04:07 UTC 2026 test result
😁 SUCCESS (click triangle for details)
ReFrame Summary
[ SKIP ] (1/5) EESSI_OSU_coll %benchmark_info=mpi.collective.osu_allreduce %module_name=OSU-Micro-Benchmarks/7.5-gompi-2025a %scale=1_node %device_type=cpu /e4bf9965 @BotBuildTests:a64fx+default [Skipping test: nodes in this partition only have 30720 MiB memory available (per node) according to the current ReFrame configuration, but 49152 MiB is needed]
[ SKIP ] (2/5) EESSI_OSU_coll %benchmark_info=mpi.collective.osu_alltoall %module_name=OSU-Micro-Benchmarks/7.5-gompi-2025a %scale=1_node %device_type=cpu /3da4890b @BotBuildTests:a64fx+default [Skipping test: nodes in this partition only have 30720 MiB memory available (per node) according to the current ReFrame configuration, but 49152 MiB is needed]
[ OK ] (3/5) EESSI_OSU_pt2pt_CPU %benchmark_info=mpi.pt2pt.osu_latency %module_name=OSU-Micro-Benchmarks/7.5-gompi-2025a %scale=1_node /3255009a @BotBuildTests:a64fx+default
P: latency: 0.87 us (r:0, l:None, u:None)
[ OK ] (4/5) EESSI_OSU_pt2pt_CPU %benchmark_info=mpi.pt2pt.osu_bw %module_name=OSU-Micro-Benchmarks/7.5-gompi-2025a %scale=1_node /59f4b331 @BotBuildTests:a64fx+default
P: bandwidth: 8081.35 MB/s (r:0, l:None, u:None)
[ OK ] (5/5) EESSI_LAMMPS_lj %device_type=cpu %module_name=LAMMPS/22Jul2025-foss-2024a-kokkos %scale=1_node /ade8cad7 @BotBuildTests:a64fx+default
P: perf: 556.704 timesteps/s (r:0, l:None, u:None)
[ PASSED ] Ran 3/5 test case(s) from 5 check(s) (0 failure(s), 2 skipped, 0 aborted)
Details
✅ job output file slurm-1252199.out
✅ no message matching ERROR:
✅ no message matching [\s*FAILED\s*].*Ran .* test case
May 12 19:35:41 UTC 2026 uploaded transfer of eessi-2025.06-software-linux-aarch64-a64fx-17784935130.tar.zst to S3 bucket succeeded

@bedroge
Copy link
Copy Markdown
Contributor

bedroge commented May 11, 2026

Since this only works with 2025.06, we need a solution for https://gitlab.com/eessi/support/-/work_items/251 first.

edit: okay, so having this deployed to 2023.06 as well shouldn't be an issue, let's get it deployed then.

@bedroge
Copy link
Copy Markdown
Contributor

bedroge commented May 12, 2026

bot: build repo:eessi.io-2023.06-software instance:eessi-bot-deucalion for:arch=aarch64/a64fx

@eessi-bot-deucalion
Copy link
Copy Markdown

eessi-bot-deucalion Bot commented May 12, 2026

New job on instance eessi-bot-deucalion for repository eessi.io-2023.06-software
Building on: a64fx
Building for: aarch64/a64fx
Job dir: /home/eessibot/new-bot/jobs/2026.05/pr_122/1256162

date job status comment
May 12 18:19:50 UTC 2026 submitted job id 1256162 awaits release by job manager
May 12 18:20:29 UTC 2026 released job awaits launch by Slurm scheduler
May 12 18:21:35 UTC 2026 running job 1256162 is running
May 12 18:31:15 UTC 2026 finished
😁 SUCCESS (click triangle for details)
Details
✅ job output file slurm-1256162.out
✅ no message matching FATAL:
✅ no message matching ERROR:
✅ no message matching FAILED:
✅ no message matching required modules missing:
✅ found message(s) matching No missing installations
✅ found message matching .tar.* created!
Artefacts
eessi-2023.06-software-linux-aarch64-a64fx-17786102420.tar.zstsize: 0 MiB (4021 bytes)
entries: 2
modules under 2023.06/software/linux/aarch64/a64fx/modules/all
no module files in tarball
software under 2023.06/software/linux/aarch64/a64fx/software
no software packages in tarball
reprod directories under 2023.06/software/linux/aarch64/a64fx/reprod
no reprod directories in tarball
other under 2023.06/software/linux/aarch64/a64fx
2023.06/init/arch_specs/eessi_arch_riscv.spec
2023.06/init/eessi_archdetect.sh
May 12 18:31:15 UTC 2026 test result
😁 SUCCESS (click triangle for details)
ReFrame Summary
[ SKIP ] ( 1/10) Skipping test: nodes in this partition only have 30720 MiB memory available (per node) according to the current ReFrame configuration, but 49152 MiB is needed
[ SKIP ] ( 2/10) Skipping test: nodes in this partition only have 30720 MiB memory available (per node) according to the current ReFrame configuration, but 49152 MiB is needed
[ SKIP ] ( 3/10) Skipping test: nodes in this partition only have 30720 MiB memory available (per node) according to the current ReFrame configuration, but 49152 MiB is needed
[ SKIP ] ( 4/10) Skipping test: nodes in this partition only have 30720 MiB memory available (per node) according to the current ReFrame configuration, but 49152 MiB is needed
[ OK ] ( 5/10) EESSI_OSU_pt2pt_CPU %benchmark_info=mpi.pt2pt.osu_latency %module_name=OSU-Micro-Benchmarks/7.2-gompi-2023b %scale=1_node /15cad6c4 @BotBuildTests:a64fx+default
P: latency: 1.74 us (r:0, l:None, u:None)
[ OK ] ( 6/10) EESSI_OSU_pt2pt_CPU %benchmark_info=mpi.pt2pt.osu_latency %module_name=OSU-Micro-Benchmarks/7.1-1-gompi-2023a %scale=1_node /6672deda @BotBuildTests:a64fx+default
P: latency: 1.76 us (r:0, l:None, u:None)
[ OK ] ( 7/10) EESSI_OSU_pt2pt_CPU %benchmark_info=mpi.pt2pt.osu_bw %module_name=OSU-Micro-Benchmarks/7.2-gompi-2023b %scale=1_node /2a9a47b1 @BotBuildTests:a64fx+default
P: bandwidth: 8756.99 MB/s (r:0, l:None, u:None)
[ OK ] ( 8/10) EESSI_OSU_pt2pt_CPU %benchmark_info=mpi.pt2pt.osu_bw %module_name=OSU-Micro-Benchmarks/7.1-1-gompi-2023a %scale=1_node /1b24ab8e @BotBuildTests:a64fx+default
P: bandwidth: 8773.3 MB/s (r:0, l:None, u:None)
[ OK ] ( 9/10) EESSI_LAMMPS_lj %device_type=cpu %module_name=LAMMPS/29Aug2024-foss-2023b-kokkos %scale=1_node /aeb2d9df @BotBuildTests:a64fx+default
P: perf: 524.108 timesteps/s (r:0, l:None, u:None)
[ OK ] (10/10) EESSI_LAMMPS_lj %device_type=cpu %module_name=LAMMPS/2Aug2023_update2-foss-2023a-kokkos %scale=1_node /04ff9ece @BotBuildTests:a64fx+default
P: perf: 579.235 timesteps/s (r:0, l:None, u:None)
[ PASSED ] Ran 6/10 test case(s) from 10 check(s) (0 failure(s), 4 skipped, 0 aborted)
Details
✅ job output file slurm-1256162.out
✅ no message matching ERROR:
✅ no message matching [\s*FAILED\s*].*Ran .* test case
May 12 19:35:32 UTC 2026 uploaded transfer of eessi-2023.06-software-linux-aarch64-a64fx-17786102420.tar.zst to S3 bucket succeeded

@bedroge bedroge merged commit a592a9c into EESSI:main May 12, 2026
88 checks passed
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