Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-optimal CPU detection of neoverse_v1 using archspec #320

Open
laraPPr opened this issue Aug 29, 2023 · 9 comments
Open

Non-optimal CPU detection of neoverse_v1 using archspec #320

laraPPr opened this issue Aug 29, 2023 · 9 comments

Comments

@laraPPr
Copy link
Collaborator

laraPPr commented Aug 29, 2023

When setting up the EESSI environment on the neoverse_v1 nodes on aws/citc archspec detects neoverse_n1 instead of neoverse_v1.

@fair-mastodon-c7g-2xlarge-0002 ~]$ source /cvmfs/pilot.eessi-hpc.org/versions/2023.06/init/bash

Found EESSI pilot repo @ /cvmfs/pilot.eessi-hpc.org/versions/2023.06!

archspec says aarch64/neoverse_n1

Using aarch64/neoverse_n1 as software subdirectory.

Using /cvmfs/pilot.eessi-hpc.org/versions/2023.06/software/linux/aarch64/neoverse_n1/modules/all as the directory to be added to MODULEPATH.

Found Lmod configuration file at /cvmfs/pilot.eessi-hpc.org/versions/2023.06/software/linux/aarch64/neoverse_n1/.lmod/lmodrc.lua

Initializing Lmod...

Prepending /cvmfs/pilot.eessi-hpc.org/versions/2023.06/software/linux/aarch64/neoverse_n1/modules/all to $MODULEPATH...

Environment set up to use EESSI pilot software stack, have fun!
@laraPPr
Copy link
Collaborator Author

laraPPr commented Aug 29, 2023

cat /proc/cpuinfo on c7g-2xlarge

processor	: 0

BogoMIPS	: 2100.00

Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm ssbs dcpodp svei8mm svebf16 i8mm bf16 dgh rng

CPU implementer	: 0x41

CPU architecture: 8

CPU variant	: 0x1

CPU part	: 0xd40

CPU revision	: 1

@laraPPr
Copy link
Collaborator Author

laraPPr commented Aug 29, 2023

There are two missing CPU features on c7g-2xlarge: paca and pacg
You can check the list here

@boegel boegel changed the title Non-optimal CPU detection of neoverse_v1 Non-optimal CPU detection of neoverse_v1 using archspec Aug 31, 2023
@boegel
Copy link
Contributor

boegel commented Aug 31, 2023

Together with #322, this is enough motivation to switch to using our own minimal archdetect implementation rather than relying on archspec for EESSI pilot 2023.06, I think...

@ocaisa
Copy link
Member

ocaisa commented Aug 31, 2023

@boegel There's an error in archdetect that is fixed as part of #264

@boegel
Copy link
Contributor

boegel commented Sep 1, 2023

@laraPPr Can you check whether archdetect correctly detects both neoverse_v1 and zen3 (cfr. #322), using:

EESSI_USE_ARCHDETECT=1 source /cvmfs/pilot.eessi-hpc.org/versions/2023.06/init/bash

@EESSI EESSI deleted a comment from boegel Sep 1, 2023
@laraPPr
Copy link
Collaborator Author

laraPPr commented Sep 1, 2023

Results on zen3: #322 (comment)

  • c7g.2xlarge
[laraPPr@fair-mastodon-c7g-2xlarge-0001 ~]$ EESSI_USE_ARCHDETECT=1 source /cvmfs/pilot.eessi-hpc.org/versions/2023.06/init/bash

Found EESSI pilot repo @ /cvmfs/pilot.eessi-hpc.org/versions/2023.06!

2023-09-01 12:10:56 [INFO] cpupath: best match for host CPU: aarch64/arm/neoverse-v1

archdetect says aarch64/arm/neoverse-v1

Using aarch64/arm/neoverse-v1 as software subdirectory.

ERROR: EESSI software layer at /cvmfs/pilot.eessi-hpc.org/versions/2023.06/software/linux/aarch64/arm/neoverse-v1 not found!

@laraPPr
Copy link
Collaborator Author

laraPPr commented Sep 1, 2023

The error is because archdetect finds neoverse-v1 instead of neoverse_v1
This is also the case for neoverse_n1 which archdetect recognizes as neoverse-n1

@boegel
Copy link
Contributor

boegel commented Sep 1, 2023

And there's the extra arm/ subdirectory which doesn't exist.

@ocaisa
Copy link
Member

ocaisa commented Sep 3, 2023

As part of #264, I've fixed the Arm detection and added an additional check in CI that ensures that whatever archdetect spits out actually exists as an option.

trz42 pushed a commit to trz42/software-layer that referenced this issue Apr 14, 2024
{2023.06}[2023a] Highway v1.0.4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants