Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

LUMI

LUMI käyttää Apptainerin sijaan SingularityCE:tä. Suosittelemme lukemaan Apptainer-konttien ohjeet, jotka pätevät LUMIn SingularityCE:hen tietyin tällä sivulla selitetyin muutoksin. Käytämme komentoa singularity komennon apptainer sijaan.

Konttien ajaminen

Voimme ajaa komentoja kontista seuraavasti:

singularity exec container.sif mycommand

LUMIssa voimme liittää yleisiä levyalueita konttiin seuraavasti:

singularity exec --bind="/pfs,/users,/projappl,/scratch,/project,/flash" container.sif mycommand

Voimme myös ottaa käyttöön ROCm-tuen LUMIn AMD-GPU:ille seuraavasti:

singularity exec --rocm container.sif mycommand

Konttien rakentaminen

Väliaikaishakemisto

LUMIssa käytämme /tmp:tä väliaikaishakemistona. SingularityCE liittää sen oletusarvoisesti rakennusympäristöön. Siksi väliaikaishakemiston manuaalinen liittäminen ei ole tarpeen.

Välimuistihakemisto

SingularityCE:n välimuistihakemisto voidaan tarvittaessa vaihtaa:

export SINGULARITY_CACHEDIR=/scratch/project_id/$USER/.singularity

Rakennussijainti

Kirjautumissolmulla voimme rakentaa kontti-imagoja, jotka ovat riittävän pieniä eivätkä törmää muistirajoihin. LUMIn virtuaalimuisti on melko suuri (64 GB) ja asetettu valmiiksi kovaan ylärajaan, joten sitä ei tarvitse säätää.

Suuret kontti-imagot on rakennettava laskentasolmulla Slurm-työn kautta. Voimme esimerkiksi varata interaktiivisen Slurm-työn seuraavasti; korvaa vain myproject omalla projektillasi:

srun --account myproject --partition small --time 0:15:00 --mem 8000 --cpus-per-task 1 --pty bash

Laskentasolmulla /tmp on tmpfs, jonka kokoa rajoittaa muisti. Meidän on pyydettävä muistia vähintään kaksi kertaa kontti-imagosi (SIF-tiedoston) pakkaamattoman koon verran, jotta muisti ei lopu kesken.

SIF-imagon rakentaminen määrittelytiedostosta

Voimme kirjoittaa SingularityCE:n määrittelytiedostoja käyttäen tiedostopäätettä .def. Tässä on yksinkertainen esimerkki kontin määrittelystä:

container.def
Bootstrap: docker
From: docker.io/opensuse/leap:15.5

%post
    # Replace the failing commands with always succeeding dummies.
    cp /usr/bin/true /usr/sbin/useradd
    cp /usr/bin/true /usr/sbin/groupadd

    # Continue to install software into the container normally.
    zypper --non-interactive update

LUMIssa meidän on käytettävä prootia SIF-imagojen rakentamiseen SingularityCE:llä. Voimme ladata prootin seuraavasti:

module load LUMI systools

Tämän jälkeen voimme rakentaa kontti-imagoja tavalliseen tapaan seuraavasti:

singularity build container.sif container.def

Älä käytä --fakeroot-valitsinta SingularityCE:n kanssa LUMIssa, sillä se ei toimi samalla tavalla kuin Apptainerissa.

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta