FIX: use shell instead of bash
This commit is contained in:
48
README.md
48
README.md
@ -4,20 +4,24 @@
|
|||||||
|
|
||||||
## How to use on Merlin systems (Merlin6/Merlin7)
|
## How to use on Merlin systems (Merlin6/Merlin7)
|
||||||
|
|
||||||
0. Load the spack module:
|
Load the spack module
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
[stable] user@login001:~> module load spack
|
[stable] user@login001:~> module load spack
|
||||||
```
|
```
|
||||||
+ If you want to use the unstable software stack do in addition:
|
|
||||||
|
|
||||||
```bash
|
Voilà you're done you can use Spack! :)
|
||||||
|
|
||||||
|
+ Side note: the default software stack loaded for you is stable, which might not contain all the packages you're looking for, </br>
|
||||||
|
so if you want to use the unstable software stack switch to it using:
|
||||||
|
|
||||||
|
```shell
|
||||||
spack env activate -p unstable
|
spack env activate -p unstable
|
||||||
```
|
```
|
||||||
|
|
||||||
### Find out what's already installed
|
## Find out what's already installed
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
[unstable] user@login001:~> spack find
|
[unstable] user@login001:~> spack find
|
||||||
==> In environment unstable
|
==> In environment unstable
|
||||||
==> 1 root specs
|
==> 1 root specs
|
||||||
@ -121,13 +125,13 @@ rrfdppp py-alphafold@2.3.2~cuda build_system=python_pip tqziprv py-alphafold@2.
|
|||||||
As you can see there are two installation of py-alphafold, one with +cuda and one without. </br>
|
As you can see there are two installation of py-alphafold, one with +cuda and one without. </br>
|
||||||
In this particular example, there is only one variant that interests you, so you can do:
|
In this particular example, there is only one variant that interests you, so you can do:
|
||||||
|
|
||||||
``` bash
|
``` shell
|
||||||
spack load py-alphafold +cuda
|
spack load py-alphafold +cuda
|
||||||
```
|
```
|
||||||
|
|
||||||
However if multiple variants are interesting to you and you don't want to have to cite all of them you can do:
|
However if multiple variants are interesting to you and you don't want to have to cite all of them you can do:
|
||||||
|
|
||||||
``` bash
|
``` shell
|
||||||
spack load /tqziprv # refer to the installation with its hash directly.
|
spack load /tqziprv # refer to the installation with its hash directly.
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -136,19 +140,19 @@ spack load /tqziprv # refer to the installation with its hash directly.
|
|||||||
1. Check if your package is already implemented in Spack. <br/>
|
1. Check if your package is already implemented in Spack. <br/>
|
||||||
You can also use the following website: https://packages.spack.io/
|
You can also use the following website: https://packages.spack.io/
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
spack list $pkg_name # e.g opal
|
spack list $pkg_name # e.g opal
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Check the package variants you want to set e.g +cuda +openmp ^openmpi ...
|
2. Check the package variants you want to set e.g +cuda +openmp ^openmpi ...
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
spack info $pkg_name # e.g opal
|
spack info $pkg_name # e.g opal
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Add your package to your personal environment
|
3. Add your package to your personal environment
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
spack add $pkg_name@version +variant1 ^dep1@version1
|
spack add $pkg_name@version +variant1 ^dep1@version1
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -156,31 +160,31 @@ spack add $pkg_name@version +variant1 ^dep1@version1
|
|||||||
/afs/psi.ch/sys/spack/user/$USER/spack-environment/$pkg_name <br/>
|
/afs/psi.ch/sys/spack/user/$USER/spack-environment/$pkg_name <br/>
|
||||||
and tell Spack you want to use it using:
|
and tell Spack you want to use it using:
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
spack develop $pkg_name@version # Skip this if you don't want to develop from local source
|
spack develop $pkg_name@version # Skip this if you don't want to develop from local source
|
||||||
```
|
```
|
||||||
4. Check the whole dependency tree of your spec and <br/>
|
4. Check the whole dependency tree of your spec and <br/>
|
||||||
if you don't need to set more variants
|
if you don't need to set more variants
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
spack concretize
|
spack concretize
|
||||||
```
|
```
|
||||||
|
|
||||||
5. Install the packages in your environment
|
5. Install the packages in your environment
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
spack install # -v for verbose
|
spack install # -v for verbose
|
||||||
```
|
```
|
||||||
|
|
||||||
6. Load your package
|
6. Load your package
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
spack load $pkg_name@version +variant1 ^dep1@version1
|
spack load $pkg_name@version +variant1 ^dep1@version1
|
||||||
```
|
```
|
||||||
|
|
||||||
7. Submit your script
|
7. Submit your script
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
sbatch batch.script
|
sbatch batch.script
|
||||||
```
|
```
|
||||||
### Switching between environments
|
### Switching between environments
|
||||||
@ -189,7 +193,7 @@ There are two environment available to users; stable and unstable. <br/>
|
|||||||
The first one is loaded by default when loading the module. <br/>
|
The first one is loaded by default when loading the module. <br/>
|
||||||
If you want to switch between the two and use different software stack you can use the following command:
|
If you want to switch between the two and use different software stack you can use the following command:
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
spack env activate -p unstable # or stable
|
spack env activate -p unstable # or stable
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -197,13 +201,13 @@ spack env activate -p unstable # or stable
|
|||||||
|
|
||||||
When adding the following command you actually add a package to your own software stack;
|
When adding the following command you actually add a package to your own software stack;
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
spack add $pkg_name@version +variant1 ^dep1@version1
|
spack add $pkg_name@version +variant1 ^dep1@version1
|
||||||
```
|
```
|
||||||
|
|
||||||
You can check which package will be concretized and are in your environment using;
|
You can check which package will be concretized and are in your environment using;
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
[unstable] user@login001:~> spack find
|
[unstable] user@login001:~> spack find
|
||||||
==> In environment unstable
|
==> In environment unstable
|
||||||
==> 1 root specs
|
==> 1 root specs
|
||||||
@ -230,13 +234,13 @@ The installed packages are either packages that were previously installed by adm
|
|||||||
|
|
||||||
If you want to remove this package from your personal env, you can use the following command: <br/>
|
If you want to remove this package from your personal env, you can use the following command: <br/>
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
spack rm $pkg_name@version +variant1 ^dep1@version1
|
spack rm $pkg_name@version +variant1 ^dep1@version1
|
||||||
```
|
```
|
||||||
|
|
||||||
or
|
or
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
[stable] user@login001:~> spack config edit
|
[stable] user@login001:~> spack config edit
|
||||||
spack:
|
spack:
|
||||||
...
|
...
|
||||||
@ -251,7 +255,7 @@ and remove it manually from the spec list.
|
|||||||
|
|
||||||
### Install Spack
|
### Install Spack
|
||||||
|
|
||||||
```bash
|
```shell
|
||||||
user@supersystem:~> cd /scratch/$USER
|
user@supersystem:~> cd /scratch/$USER
|
||||||
|
|
||||||
user@supersystem:~> git clone -c feature.manyFiles=true https://github.com/spack/spack.git
|
user@supersystem:~> git clone -c feature.manyFiles=true https://github.com/spack/spack.git
|
||||||
|
Reference in New Issue
Block a user