-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Moved personal non-spacksites use and other site setup to wiki
- Loading branch information
1 parent
7ce3148
commit e79971a
Showing
1 changed file
with
0 additions
and
96 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -183,99 +183,3 @@ You can set a different build_stage in your site's `config.yaml` file (suggested | |
Spack's default config.yaml for your site is in `$site_root/$site_name/etc/spack/defaults/config.yaml`. Each site has its own. | ||
|
||
Note: spacksites deliberately ignores any other local Spack config files to avoid clashes with other Spack setups you may have: [Personal spack config - ignored](spacksites/README.md#personal-spack-config---ignored) | ||
|
||
|
||
## Get started with a personal install | ||
|
||
This is for non-spacksites-managed personal Spack use. | ||
|
||
``` | ||
git clone -c feature.manyFiles=true https://github.com/spack/spack.git | ||
``` | ||
|
||
A script to load the SCLs which will make Python 3.8 and GCC 11.2 available to you on the nodes: | ||
Referring to this from now on as `load_scls.sh`. | ||
|
||
``` | ||
#!/bin/bash | ||
# Source this. | ||
UCL_SCLS="rh-python38 devtoolset-11" | ||
for a in ${UCL_SCLS} | ||
do | ||
source /opt/rh/${a}/enable | ||
done | ||
export X_SCLS="${UCL_SCLS} ${X_SCLS}" | ||
``` | ||
|
||
You can then `source load_scls.sh` and will see the following are now available: | ||
|
||
``` | ||
[cceahke@login13 spack]$ which g++ | ||
/opt/rh/devtoolset-11/root/usr/bin/g++ | ||
[cceahke@login13 spack]$ which python | ||
/opt/rh/rh-python38/root/usr/bin/python | ||
``` | ||
|
||
Spack setup: do we want to do this? It sets `$SPACK_ROOT` among other things. | ||
|
||
``` | ||
source spack/share/spack/setup-env.sh | ||
``` | ||
|
||
Spack's default config.yaml is `$SPACK_ROOT/etc/spack/defaults/config.yaml`. Things I changed straight away: | ||
|
||
``` | ||
build_stage: | ||
- $user_cache_path/stage | ||
build_jobs: 4 | ||
``` | ||
|
||
`build_stage` is where all the temporary building happens and must not be in `/tmp`. | ||
|
||
You can then start to use Spack. | ||
|
||
``` | ||
spack list gromacs | ||
spack info --all gromacs | ||
``` | ||
|
||
See which compilers spack finds: if you sourced setup-env.sh before sourcing load_scls.sh then it will not look in our new `/opt/rh/devtoolset-11`. | ||
|
||
``` | ||
spack compilers | ||
==> Available compilers | ||
-- gcc rhel7-x86_64 --------------------------------------------- | ||
[email protected] [email protected] | ||
``` | ||
|
||
So tell it to look for the new one. | ||
|
||
``` | ||
spack compiler add /opt/rh/devtoolset-11/root/usr/bin/ | ||
==> Added 1 new compiler to /home/cceahke/.spack/linux/compilers.yaml | ||
[email protected] | ||
==> Compilers are defined in the following files: | ||
/home/cceahke/.spack/linux/compilers.yaml | ||
``` | ||
|
||
## Other setups | ||
|
||
Spack has a repo at https://github.com/spack/spack-configs | ||
|
||
- LLNL, 2021, TREX Hackathon, Intro to Spack: https://www.trex-coe.eu/sites/default/files/TREX%20Build-systems%20Hackathon%20-%20Nov%202021/TREX%20-%20Spack%20presentation.pdf | ||
- LLNL, 2022, Software Deployment Process at NERSC: Deploying the Extreme-scale Scientific Software Stack (E4S) Using Spack at the National Energy Research Scientific Computing Center (NERSC): https://escholarship.org/uc/item/5zh5z08q | ||
- EPCC, 2020, Software Packages in HPC with Spack and EasyBuild (brief overview): https://www.archer2.ac.uk/training/courses/200617-spack-easybuild/ | ||
|
||
### User-level | ||
|
||
- ORNL, installing own user packages with a base central environment and chained Spack instances https://docs.olcf.ornl.gov/software/spack_env/summit_spack_env.html | ||
|
||
### Additional | ||
|
||
- E4S as mentioned above uses Spack and provides a build cache and containers. Attempts to put together an interoperable set of packages. "The Extreme-Scale Scientific Software Stack (E4S) is a community effort supported by the Exascale Computing Project (ECP) to provide an ecosystem of open source software packages for developing, deploying and running scientific applications on HPC platforms." | ||
- https://e4s-project.github.io/ | ||
- This may be of use if we have more AMD and need to build with AOCC/AOCL. | ||
- AMD, Spack support of HPC applications https://developer.amd.com/spack/ |