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

Initial archdetect support for RISC-V and custom init script for RISC-V repo #568

Closed
wants to merge 85 commits into from

Conversation

bedroge
Copy link
Collaborator

@bedroge bedroge commented May 7, 2024

The added spec file for RISC-V is still empty, and we may want to set $cpu_flag_tag to the right field whenever we want to differentiate between different RISC-V CPUs. But for now this does at least detect the riscv64 architecture, and it will just always fall back to riscv64/generic, which is the only stack that we have anyway.

hmeiland and others added 30 commits January 10, 2024 17:18
…:boegel/software-layer into 2023.06-software.eessi.io_GROMACS-2024.1
…'t want to be prevented from loading local CUDA modules because of the EESSI hook. See EESSI#523
Copy link

eessi-bot bot commented May 7, 2024

Instance eessi-bot-mc-aws is configured to build:

  • arch x86_64/generic for repo eessi-hpc.org-2023.06-compat
  • arch x86_64/generic for repo eessi-hpc.org-2023.06-software
  • arch x86_64/generic for repo eessi.io-2023.06-compat
  • arch x86_64/generic for repo eessi.io-2023.06-software
  • arch x86_64/intel/haswell for repo eessi-hpc.org-2023.06-compat
  • arch x86_64/intel/haswell for repo eessi-hpc.org-2023.06-software
  • arch x86_64/intel/haswell for repo eessi.io-2023.06-compat
  • arch x86_64/intel/haswell for repo eessi.io-2023.06-software
  • arch x86_64/intel/skylake_avx512 for repo eessi-hpc.org-2023.06-compat
  • arch x86_64/intel/skylake_avx512 for repo eessi-hpc.org-2023.06-software
  • arch x86_64/intel/skylake_avx512 for repo eessi.io-2023.06-compat
  • arch x86_64/intel/skylake_avx512 for repo eessi.io-2023.06-software
  • arch x86_64/amd/zen2 for repo eessi-hpc.org-2023.06-compat
  • arch x86_64/amd/zen2 for repo eessi-hpc.org-2023.06-software
  • arch x86_64/amd/zen2 for repo eessi.io-2023.06-compat
  • arch x86_64/amd/zen2 for repo eessi.io-2023.06-software
  • arch x86_64/amd/zen3 for repo eessi-hpc.org-2023.06-compat
  • arch x86_64/amd/zen3 for repo eessi-hpc.org-2023.06-software
  • arch x86_64/amd/zen3 for repo eessi.io-2023.06-compat
  • arch x86_64/amd/zen3 for repo eessi.io-2023.06-software
  • arch aarch64/generic for repo eessi-hpc.org-2023.06-compat
  • arch aarch64/generic for repo eessi-hpc.org-2023.06-software
  • arch aarch64/generic for repo eessi.io-2023.06-compat
  • arch aarch64/generic for repo eessi.io-2023.06-software
  • arch aarch64/neoverse_n1 for repo eessi-hpc.org-2023.06-compat
  • arch aarch64/neoverse_n1 for repo eessi-hpc.org-2023.06-software
  • arch aarch64/neoverse_n1 for repo eessi.io-2023.06-compat
  • arch aarch64/neoverse_n1 for repo eessi.io-2023.06-software
  • arch aarch64/neoverse_v1 for repo eessi-hpc.org-2023.06-compat
  • arch aarch64/neoverse_v1 for repo eessi-hpc.org-2023.06-software
  • arch aarch64/neoverse_v1 for repo eessi.io-2023.06-compat
  • arch aarch64/neoverse_v1 for repo eessi.io-2023.06-software

Copy link

eessi-bot bot commented May 7, 2024

Instance eessi-bot-mc-azure is configured to build:

  • arch x86_64/amd/zen4 for repo eessi-hpc.org-2023.06-compat
  • arch x86_64/amd/zen4 for repo eessi-hpc.org-2023.06-software
  • arch x86_64/amd/zen4 for repo eessi.io-2023.06-compat
  • arch x86_64/amd/zen4 for repo eessi.io-2023.06-software

@bedroge bedroge marked this pull request as draft May 7, 2024 15:11
@bedroge bedroge marked this pull request as ready for review May 7, 2024 15:16
@bedroge
Copy link
Collaborator Author

bedroge commented May 7, 2024

user@starfive:~$ source /cvmfs/riscv.eessi.io/versions/20240402/init/bash
Found EESSI repo @ /cvmfs/riscv.eessi.io/versions/20240402!
archdetect says riscv64/generic
Using riscv64/generic as software subdirectory.
Found Lmod configuration file at /cvmfs/riscv.eessi.io/versions/20240402/software/linux/riscv64/generic/.lmod/lmodrc.lua
Found Lmod SitePackage.lua file at /cvmfs/riscv.eessi.io/versions/20240402/software/linux/riscv64/generic/.lmod/SitePackage.lua
Using /cvmfs/riscv.eessi.io/versions/20240402/software/linux/riscv64/generic/modules/all as the directory to be added to MODULEPATH.
Initializing Lmod...
Prepending /cvmfs/riscv.eessi.io/versions/20240402/software/linux/riscv64/generic/modules/all to $MODULEPATH...
Environment set up to use EESSI (20240402), have fun!

@boegel
Copy link
Contributor

boegel commented May 7, 2024

@bedroge Do we really need to introduce a separate riscv branch here?

Why can't we take an approach like we're doing for zen4, through a subdirectory in easystacks/* ?

@bedroge
Copy link
Collaborator Author

bedroge commented May 7, 2024

@bedroge Do we really need to introduce a separate riscv branch here?

Why can't we take an approach like we're doing for zen4, through a subdirectory in easystacks/* ?

Since it's in a different repo, we need different init scripts etc. I don't think we can (easily) reuse all those files from the production repo?

@bedroge bedroge changed the title Initial archdetect support for RISC-V Initial archdetect support for RISC-V and custom init script for RISC-V repo May 7, 2024
@boegel
Copy link
Contributor

boegel commented May 7, 2024

@bedroge Do we really need to introduce a separate riscv branch here?
Why can't we take an approach like we're doing for zen4, through a subdirectory in easystacks/* ?

Since it's in a different repo, we need different init scripts etc. I don't think we can (easily) reuse all those files from the production repo?

Right, ok.. I forgot about that part.

@bedroge
Copy link
Collaborator Author

bedroge commented May 7, 2024

@bedroge Do we really need to introduce a separate riscv branch here?
Why can't we take an approach like we're doing for zen4, through a subdirectory in easystacks/* ?

Since it's in a different repo, we need different init scripts etc. I don't think we can (easily) reuse all those files from the production repo?

Right, ok.. I forgot about that part.

You can override most of that stuff as a user/builder (EESSI_VERSION_OVERRIDE and EESSI_CVMFS_REPO_OVERRIDE etc), but it's really annoying that you have to do that every time, especially for new users who want to try it out.

Edit: alternatively we could add a check to the production repo init scripts somewhere, and if it detects riscv64, it should just print a warning, automatically override these variables and redirect to the riscv repo?

@boegel
Copy link
Contributor

boegel commented May 7, 2024

@bedroge Do we really need to introduce a separate riscv branch here?
Why can't we take an approach like we're doing for zen4, through a subdirectory in easystacks/* ?

Since it's in a different repo, we need different init scripts etc. I don't think we can (easily) reuse all those files from the production repo?

Right, ok.. I forgot about that part.

You can override most of that stuff as a user/builder (EESSI_VERSION_OVERRIDE and EESSI_CVMFS_REPO_OVERRIDE etc), but it's really annoying that you have to do that every time, especially for new users who want to try it out.

Edit: alternatively we could add a check to the production repo init scripts somewhere, and if it detects riscv64, it should just print a warning, automatically override these variables and redirect to the riscv repo?

Maybe short-term, that makes sense, since to some extent riscv.eessi.io is going to be a temporary repo...
As soon as we have sufficient RISC-V support in software.eessi.io, we want people to actually that?

@ocaisa ocaisa self-assigned this May 21, 2024
@bedroge
Copy link
Collaborator Author

bedroge commented May 21, 2024

I'm closing this PR and will open a new one with the aforementioned approach (changing the init scripts of the production repo, and let the redirect to riscv.eessi.io).

@bedroge bedroge closed this May 21, 2024
@bedroge bedroge deleted the archdetect_riscv branch May 21, 2024 13:38
@boegel boegel added the riscv label May 24, 2024
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.

7 participants