Introduksjon
For å forenkle oppsett av miljøer for kompilatorer, MPI-versjoner og applikasjoner har Colossus -pakken installert. Dette gir et verktøy man kan benytte for å gjøre dynamisk modifikasjon av en brukers miljø via modulefiles.
Hver modulfil inneholder informasjonen som trengs for å konfigurere skallet for et miljø. Vanligvis modifiserer en modulfil miljøvariabler som PATH, MANPATH, LD_LIBRARY_PATH, CPATH og PKG_CONFIG_PATH for å gi tilgang til en applikasjon eller et bibliotek. For å starte en modulfil kjører du module kommandoen med argumenter.
I TSD kan module kommandoen brukes fra kommandolinjen på submit host og som en del av et jobbskript når du sender en jobb til Colossus. Du kan nå submit host som er tildelt prosjektet ditt ved å koble til pXX-hpc-01.tsd.usit.no, ved å bruke PUTTY fra Windows VM, eller ved å bruke ssh fra prosjektets Linux VM.
Liste tilgjengelige moduler
De tilgjengelige modulfilene kan listes ved å benytte kommandoen module avail. Eksempel:
$ module avail ----------------- /cluster/software/MODULEFILES/custom ----------------------- atlas-lapack/3.10.3 matlab/R2018b bcftools/1.8 netcdf-fortran.gnu/4.4.4 bedtools/2.17.0 netcdf.gnu/4.6.1 bismark/0.22.1 openmpi.gnu/1.8 bowtie/1.2.2 openmpi.gnu/3.1.3 [...] ----------------- /cluster/software/MODULEFILES/easybuild/all ---------------- AFNI/18.3.00-foss-2018b-Python-3.6.6 libreadline/7.0-GCCcore-6.4.0 Anaconda3/5.3.0 libreadline/7.0-GCCcore-7.3.0 arpack-ng/3.7.0-foss-2019a libreadline/8.0-GCCcore-8.2.0 [...]
Du vil se custom og Easybuild-moduler. Easybuild-modulene er vanligvis de nyeste og bør foretrekkes. Når du laster inn en custom modul, vises et varsel for å avklare dette.
Du kan også angi et navn:
$ module avail MATLAB ----------------- /cluster/software/MODULEFILES/easybuild/all ---------------- MATLAB/2017b MATLAB/2018a MATLAB/2018b MATLAB/2019a MATLAB/2019b MATLAB/2020a MATLAB/2020b
Lasting av modules
Modulfiler kan brukes fra de fleste skall, så vel som Perl og Python. Modulfiler kan lastes og av-lastes på kommandolinjen eller i skriptene dine ved å skrive:
module load software/version module unload software/version
Hvis en versjon ikke er spesifisert, vil ingen programvare lastes inn. For å oppnå reproduserbarhet tvinger vi brukere til å laste spesifikke versjoner av modulfiler.
Du vil få en liste over lastede modulfiler slik:
$ module list Currently Loaded Modulefiles: 1) MATLAB/2020b
For å se nøyaktig hva en modulfil gjør med miljøet ditt, skriv inn:
module show modulefile/version
Bytt til en annen versjon av en modul
Å bytte til en annen versjon er som å laste en spesifikk versjon. For eksempel, hvis du ønsker å bytte fra den nåværende lastede R-bundle-Bioconductor
til en nyere:
module switch R-bundle-Bioconductor/3.9-foss-2019a-R-3.6.0 R-bundle-Bioconductor/3.11-foss-2020a-R-4.0.0
Denne, mer kompakte syntaksen vil også fungere:
module switch R-bundle-Bioconductor R-bundle-Bioconductor/3.11-foss-2020a-R-4.0.0
Laste flere moduler samtidig
En modul laster inn alle nødvendige avhengigheter sammen med den overordnede modulen. Dette kan føre til konflikter når ulike moduler har motstridende avhengigheter, f.eks. de er avhengige av motstridende versjoner av verktøykjedene (foss, GCC, GCCcore
). Vi anbefaler å laste inn modulene sekvensielt og løse eventuelle konflikter. Når moduler lastes inn på nytt med en versjonsendring, indikerer dette en konflikt og vil bryte avhengighetene til de tidligere lastede modulene, f.eks.:
module load R-bundle-Bioconductor/3.11-foss-2020a-R-4.0.0 module load libGLU/9.0.0-foss-2018b The following have been reloaded with a version change: 1) FFTW/3.3.8-gompi-2020a => FFTW/3.3.8-gompi-2018b 2) GCC/9.3.0 => GCC/7.3.0-2.30 3) GCCcore/9.3.0 => GCCcore/7.3.0 4) GMP/6.2.0-GCCcore-9.3.0 => GMP/6.1.2-GCCcore-7.3.0
Rense for moduler
Vi anbefaler å benytte
module purge
før noen module load kommandoer i jobbskript, for å forhindre arving av miljøvariabler satt av module kommandoer i skallet som brukes når jobben sendes.
Hjelp
Det finnes en hjelpetekst for de fleste modulfilene. For å se den, skriv inn:
module help modulefile/version
For ytterligere dokumentasjon, se hjemmeside.
Tilpass standard modulfiler
You may add loading of modulefiles to your .bash_login file to make sure your favorite modulefile is always loaded when logging in. For instance, to always have the MATLAB/2020b modulefile load on login, add:
Du kan legge til lasting av modulfiler til .bash_login filen din for å sikre at din favoritt modulfile alltid er lastet inn når du logger på. For eksempel å alltid ha MATLAB/2020b modulfilen lastet ved pålogging, legg til:
module load MATLAB/2020b
til din .bash_login fil.
Ring oss
Vi har åpent mellom 08:30 og 17:00 på hverdager,
og mellom 10:00 og 15:00 på lørdager.
Telefonnummer: 22 84 00 04
Send inn sak til oss
Du kan sende inn din forespørsel via e-post til: it-hjelp@uio.no.
Gå til e-postBook et videomøte over Zoom
Er du student eller ansatt kan du avtale veiledningstime hos UiO Helpdesk over Zoom. Tilgjengelige tider er tirsdag til torsdag mellom 11:00 og 13:00.
Book et videomøte