Hyppää sisältöön

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.

Onko tämä sivu hyödyllinen?
Kiitos palautteestasi!
Kiitos! Arvostamme palautettasi.

Kerro meille miten voisimme parantaa tätä sivua ottamalla meihin yhteyttä .