Ohjeita Tritonin ja LUMIn käyttöön
Triton ohjeita
Tritoniin kirjautuminen tapahtuu Aalto Scientific Computing ohjeiden mukaisesti. Käyttäjän päästessä käsiksi Triton-laskentaympäristöön, on työkalut asennettuna ympäristöön valmiina.
Singularityn käyttö Tritonissa ei perustavanlaatuisesti eroa sen käytöstä clusterin ulkopuolella. Tritoniin on asennettuna Apptainer, Singularityn jälkeläinen, sen liityttyä Linux Foundationiin. Apptainerin käyttö ei eroa Singularitysta, ja Tritonissa molempien komentojen ‘singularity’ ‘apptainer’ käyttö toimii.
Perusteelliset ohjeet löytyvät osoitteesta https://coderefinery.github.io/hpc-containers.
Valmiit .sif imaget
Valmiiden kuvien lataaminen onnistuu esimerkiksi Sylabs Cloudista
(osoitteesta https://cloud.sylabs.io/library) ja Docker Hubista (osoitteesta https://hub.docker.com/). Triton ei valmiiksi tue “remote client” yhteyttä Sylabs Cloudin kanssa, jolloin “remote client” on alustettava vakiona uudelleen.
- apptainer remote add-komentoa käyttäen “remote client” on alustettu ja Sylabs Cloud kuvien lataaminen onnistuu komennolla:
apptainer remote add --no-login SylabsCloud cloud.sylabs.io
Tämän jälkeen kontteja ja imageja ladataan käyttämällä pull ja build komentoja.
- pull-komentoa käytetään esimerkiksi seuraavanlaisesti (kontin lataaminen
kirjastosta):
singularity pull library://<NIMI> - build-komentoa käytetään seuraavanlaisesti:
singularity build ubuntu.sif library://ubuntu
build-komentoa käytettäessä kontin nimi tulee spesifioida (ubuntu.sif yllä). Lataamisen lisäksi build -komennolla voi myös luoda uuden imagen toisen pohjalta tai def-tiedoston pohjala. Lisää def-tiedostosta yleisissä ohjeissa.
Joidenkin konttien buildaaminen voi viedä kauan aikaa, tätä varten voi Tritonissa ja LUMIssa varata joko interaktiivisen laskentanoodin tai lähettää ‘sbatch’-komennolla build scriptin rakennettavaksi.
- sinteractive --cores 4 --mem 4000 --tmp 10 --time 0:15:00
Komento varaa interaktiivisen noodin annetuilla parametreilla.
Vaihtoehtoisesti omia .sif kuvia voi kopioida laskentaympäristöön tuetuilla standardeilla, rsync ja sftp.
Konttien ajaminen Tritonissa
https://coderefinery.github.io/hpc-containers/intro_and_motivation/
https://scicomp.aalto.fi/triton/tut/interactive/
Tritoniin kirjauduttuessa palvelu ohjaa automaattisesti kirjautuneen käyttäjän “login nodelle”. Login nodelta pääsee käsiksi Tritonissa säilytettävään dataan, mutta laskentatehoa tältä nodelta ei löydy. Näin ollen kontteja käytettäessä on liityttävä “slurm” jonoon, josta on saatavilla nodeja, joilta löytyy laskentatehoa. Tritonissa laskentatehoon on vaihtoehtoja, joko interaktiivisesti käyttämällä "srun" komentoa tai syöttämällä scriptin "sbatch" komennolla. Interaktiivisen bash shellin saa itselleen käyttöön ajamalla komennon ja mukana tarvittavat määritelmät.
-
srun -p interactive --time=00:20:00 --mem=600M --pty bash
Avaa interaktiivisen bash-komentorivin, jossa määriteltynä 600 M muistia ja käyttöaikaa 20 minuutiksi. "-p interactive" viittaa interaktiiviseen komentoriviin.
-
srun --gpus=1 --pty bash
Tarvittaessa grafiikkasuorittimen laskentatehoa, on spesifioitava
grafiikkasuoritin "srun" komentoa ajettaessa. Tämä komento varaa
spesifioimattoman grafiikkakortin spesifioimattomaksi ajaksi interaktiivista käyttöä varten. -
sinteractive
Varaa interaktiivisen komentorivin.
Jonotuksen jälkeen havaittuasi olevasi laskentanoodilla, toimii Singularity/Apptainer konttien ajaminen normaalilla tavalla.
Vaihtoehtoisesti komennolla ‘sbatch’ voi lähettää slurm-jonoon töitä, jotka ajetaan kontin sisällä.
NVIDIA ja AMD suorittimet
GPU laitteiden läsnäollessa on mahdollista ajaa GPU kiihdytettyjä kontteja Apptainerin ominaisuuksilla. Oletuksena, että hostilta löytyy tarvittavat CUDA/ROCm ajurit, on kontti alustettava joko CUDA tai ROCm tuella riippuen siitä kummalla alustalla sitä käyttää. ‘--nv’ ja ‘--rocm’ flageja käytetään kontteja ajettaessa, ja se toimii ‘run’, ‘exec’, ‘shell’ komentojen liitteenä.
LUMI ohjeita
Singularityn käyttö LUMIn laskentaympäristöissä ei eroa perustavanlaajuisesti sen käytöstä clusterin ulkopuolella. LUMI on varustettu Apptainerilla. Valmiiden imagejen lataaminen onnistuu Sylabs Cloudista (osoitteesta https://cloud.sylabs.io/library) ja Docker Hubista (osoitteesta https://hub.docker.com/). LUMI ei valmiiksi tue “remote client” yhteyttä Sylabs Cloudin kanssa, jolloin “remote client” on alustettava vakiona uudelleen.
- apptainer remote add-komentoa käyttäen “remote client” on alustettu ja Sylabs Cloud imagejen lataaminen onnistuu:
apptainer remote add --no-login SylabsCloud cloud.sylabs.io
Docker kirjastoista kuvia pystyy muuttamaan .sif muotoon tutulla tavalla.