|
|
|
@ -31,20 +31,22 @@ Nello specifico, configuriamo la generazione dei moduli tramite il file di confi
|
|
|
|
|
dei moduli in `/mnt/raid/software/spack/etc/spack/modules.yaml`
|
|
|
|
|
```yaml
|
|
|
|
|
modules:
|
|
|
|
|
default:
|
|
|
|
|
enable:
|
|
|
|
|
- tcl
|
|
|
|
|
tcl:
|
|
|
|
|
hash_length: 0
|
|
|
|
|
include:
|
|
|
|
|
- gcc
|
|
|
|
|
exclude_implicits: true
|
|
|
|
|
projections:
|
|
|
|
|
all: '{name}/{version}-{compiler.name}-{compiler.version}'
|
|
|
|
|
gcc: '{name}/{version}'
|
|
|
|
|
all:
|
|
|
|
|
conflict:
|
|
|
|
|
- '{name}'
|
|
|
|
|
default:
|
|
|
|
|
enable:
|
|
|
|
|
- tcl
|
|
|
|
|
tcl:
|
|
|
|
|
hash_length: 0
|
|
|
|
|
include:
|
|
|
|
|
- gcc
|
|
|
|
|
exclude_implicits: true
|
|
|
|
|
projections:
|
|
|
|
|
all: '{name}/{version}-{compiler.name}-{compiler.version}'
|
|
|
|
|
gcc: '{name}/{version}'
|
|
|
|
|
^mpi: '{name}/{version}-{^mpi.name}-{^mpi.version}-{compiler.name}-{compiler.version}'
|
|
|
|
|
all:
|
|
|
|
|
conflict:
|
|
|
|
|
- '{name}'
|
|
|
|
|
autoload: direct
|
|
|
|
|
```
|
|
|
|
|
Per aggiornare i moduli si può usare il comando
|
|
|
|
|
```bash
|
|
|
|
@ -89,7 +91,10 @@ module purge
|
|
|
|
|
```
|
|
|
|
|
È importante che si faccia uso sempre di catene di moduli compatibili, ovvero
|
|
|
|
|
di moduli (software) generato/compilato con il medesimo compilatore. Altrimenti
|
|
|
|
|
si rischia la creazione di ambienti inconsistenti e impossibili da usare.
|
|
|
|
|
si rischia la creazione di ambienti inconsistenti e impossibili da usare. I file
|
|
|
|
|
di modulo sono generati in modo da richiedere il caricamento delle dipendenze
|
|
|
|
|
dirette che sono state usate nella loro creazione, tipicamente dipendenze sulla implementazione di MPI scelta (`OpenMPI` o `MPICH`).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**Esempio:** carichiamo un diverso compilatore, al *login* la richiesta
|
|
|
|
|
```bash
|
|
|
|
|