-
Notifications
You must be signed in to change notification settings - Fork 20
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
[sirius] GH200 recipe #96
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
bootstrap: | ||
spec: [email protected] | ||
gcc: | ||
specs: | ||
- [email protected] |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
name: sirius-gh200 | ||
store: /user-environment | ||
description: The latest version of Sirius (v7.5.0) and the tools for building it, configured for GH200. | ||
spack: | ||
repo: https://github.com/spack/spack.git | ||
# commit on develop that updated the sirius package.py for v7.5.0 of sirius | ||
commit: 13b711f | ||
Original file line number | Diff line number | Diff line change | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,32 @@ | ||||||||||||
gcc-env: | ||||||||||||
compiler: | ||||||||||||
- toolchain: gcc | ||||||||||||
spec: gcc | ||||||||||||
mpi: | ||||||||||||
spec: [email protected] | ||||||||||||
gpu: cuda | ||||||||||||
unify: true | ||||||||||||
specs: | ||||||||||||
- cmake | ||||||||||||
- [email protected] | ||||||||||||
- [email protected] | ||||||||||||
- py-mpi4py | ||||||||||||
- py-h5py | ||||||||||||
- py-numpy | ||||||||||||
- py-pybind11 | ||||||||||||
- py-pip | ||||||||||||
- py-pyyaml | ||||||||||||
- py-scipy | ||||||||||||
- py-voluptuous | ||||||||||||
- [email protected] ~cuda | ||||||||||||
- [email protected] +python +tests +fortran +cuda +scalapack ^openblas | ||||||||||||
variants: | ||||||||||||
- +mpi | ||||||||||||
- +cuda | ||||||||||||
- cuda_arch=90 | ||||||||||||
views: | ||||||||||||
default: | ||||||||||||
Comment on lines
+27
to
+28
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Do you expect users to build SIRIUS from source themselves? If yes, we need a It is not yet documented, but the procedure to compile from source should be added to the documentation. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd skip the develop environment here. The "general public" won't build sirius, and those who do will know how to use spack upstream. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I have had a bit of a think about this, and how about the following: The interfaces that you choose to provide (spack, filesystem view, modules) depend on the user community and their needs, and how the uenv maintainer intends to provide support to the users. If you have a community that only use Spack, then you might not need views or modules for development at all. If you have some users who will insist on "building their own" using a view or modules, then configure them in a way that will minimise your maintenance burden. Whatever interfaces are chosen, they should be properly documented in the |
||||||||||||
packages: | ||||||||||||
- git | ||||||||||||
- perl | ||||||||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
default: | ||
features: [sirius, mpi, openmp] | ||
cc: mpicc | ||
cxx: mpic++ | ||
ftn: mpifort | ||
activation: /user-environment/env/default/activate.sh |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
modules: | ||
# Paths to check when creating modules for all module sets | ||
prefix_inspections: | ||
bin: | ||
- PATH | ||
lib: | ||
- LD_LIBRARY_PATH | ||
lib64: | ||
- LD_LIBRARY_PATH | ||
|
||
default: | ||
arch_folder: false | ||
# Where to install modules | ||
roots: | ||
tcl: /user-environment/modules | ||
tcl: | ||
all: | ||
autoload: none | ||
hash_length: 0 | ||
exclude_implicits: true | ||
exclude: ['%[email protected]', 'gcc %[email protected]'] | ||
projections: | ||
all: '{name}/{version}' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it possible to use a released version of Spack (
0.22.0
is now out), and add the SIRIUS package in therepo/
folder if needed? I think this is the preferred way to do things.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is two topics:
master
(because it is more reproducible)v0.21.2
) or release branch (e.g.releases/v0.21
) is betterrepo
path is preferable, if possible.