Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti will be decommissioned after Roihu becomes available. Users should clean up unnecessary files and move any required data by the end of August 2026. See the Roihu data preparation instructions for details.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

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