Hvis du som forsker nogensinde har prøvet at arbejde på et HPC-anlæg, så ved du, at det i sig selv kan kræve en hel del arbejde at komme i gang med at bruge supercomputeren. Du skal pludselig kende til et set-up med Linux, kommando-linjer, pakke-manager etc. på et niveau, du måske ikke har prøvet før, og det kan for mange være forbundet med et hel del ekstra arbejde, fordi det ikke lige ligger op ad det, de fleste kender til i forvejen, også selvom man er godt forankret i softwareudviklingsprocessen.
Det vil vi i DeiC regi gerne gøre noget ved, for det er vigtigt, at så mange som muligt kan tilgå vores HPC-anlæg, og det skal ikke være IT-udfordringer, der gør om man har adgang til supercomputer-kræfter. Derfor har vi i DeiC udviklet et stykke software, som kaldes ”Cotainr”. Cotainr-værktøjet sørger for, at du kan afvikle direkte på HPC-anlægget via en enkelt fil, så du slipper for at downloade og installere på din laptop.
”Det handler grundlæggende om, at der kan være udfordringer, når man skal gøre sin software tilgængelig på HPC-anlæggene. Man skal downloade og installere software på sin egen computer. Men der findes et alternativ, som handler om at bruge de her containers, hvor man ikke installerer sin software, men hvor den software, man skal bruge, ligger i en fil, som kaldes en ”container”. Man bruger så et specielt program på HPC-anlægget til at afvikle softwaren direkte fra den fil, uden at man har installeret al softwaren lokalt”, fortæller Christian Schou Oxvig, Specialkonsulent i DeiC.
Vi vil gerne hjælpe forskerne til at komme lettere i gang med at anvende vores HPC-anlæg, specielt LUMI supercomputeren. Det betyder i al sin enkelthed, at vi gerne vil flytte os væk fra, at man skal tilegne sig en stor mængde detaljeret ny viden om Linux, supercomputere mv. for at kunne gøre brug af vores anlæg og målet er, at man kan gøre noget, der minder rigtig meget om det, man i forvejen kender til som forsker.
Første use case er Python-miljø’er med AI og ML på LUMI
”I første omgang har vi udviklet en Cotainr-løsning til LUMI, så man kan gøre sin Python/AI/ML software tilgængelig på en let måde. Det er det, vi starter med, fordi vi ved, at der kan være udfordringer her”, fortæller Christian Schou Oxvig, Specialkonsulent i DeiC. "Du vil meget let kunne rykke over på LUMI og afvikle fra vores Cotainr, hvis du arbejder i Python, f.eks. med AI/ML, data science eller SA-analyse, og i forvejen anvender de værktøjer, der hedder Conda og Pip til at holde styr på dine Python-miljøer", fortsætter Christian.
Kaare Mikkelsen fra AU vil anvende Cotainr med Pytorch til træning af deep learning modeller på LUMI
En af de første, som skal i gang med at anvende Cotainr-løsningen på LUMI, er adjunkt Kaare Mikkelsen, AU, som skal bruge Cotainr i sin undervisning og i forbindelse med nogle bachelor- og specialeprojekter. Da vi viste ham, hvad der skal til for at tilgå LUMI’s superkræfter uden Cotainr og bagefter, hvordan han kan tilgå LUMI med Cotainr, blev han meget begejstret. Kaare arbejder med AI/ML i et Python-framework, der hedder Pytorch, og han vil gerne arbejde i dette miljø på GPU’erne på LUMI. Derfor handler det om at få gjort Pytorch-softwaren tilgængelig i en version, der er kompatibel med LUMI. Det er præcis det, som Cotainr hjælper ham med, så han kan tage det set-up, han har, og alle de Python-pakker og de biblioteker, han bruger lokalt på sin laptop, beskrive dem i en fil, og så gå på LUMI og sige ”lav det her miljø til mig”. Det miljø kan Kaare Mikkelsen så køre løs med, når han skal træne sine deep learning neurale netværk på GPU’erne på LUMI. Det specifikke software-miljø, som Kaare har brug for, kan han nu meget lettere sætte op med Cotainr. Desuden kan han lynhurtigt lave en stribe forskellige miljøer, som er rettet mod f.eks. de enkelte projekter.
Cotainr-værktøjet er en del af en større vision i HPC-teamet
Vi vil rigtig gerne udbrede brugen af HPC-anlæg, både de danske og de øvrige internationale anlæg. Det er en del af en større vision, vi har her i HPC-teamet. Med den model vi har, hvor man får tildelt beregningstid på forskellige anlæg, er det vigtigt, at det er let for brugerne at rykke rundt mellem de forskellige anlæg. Vi stiller kapacitet til rådighed på mange forskellige anlæg, og derfor er det vigtigt at sørge for, at brugerne let kan tage den kode, de arbejder på og de simuleringer, de kører og bare flytte dem til et andet anlæg og køre videre.
”I første omgang fokuserer vi på at få Cotainr ud på LUMI, så kommer der flere ”use cases” på hen ad vejen, i forhold til, hvor vi ser behovet. Det er vores klare mål at sprede ideen ud på så mange systemer som muligt for at gøre det enklere at tilgå vores HPC-anlæg”, fortæller Eske Christiansen, Chef for HPC i DeiC.
Vi ved godt, at det er en stor opgave, men vi synes virkelig, at det er vigtigt. Derfor går vi i DeiC foran i dette arbejde, men alle kan bidrage, for løsningen er gratis, open source og ligger frit tilgængelig på GitHub.
Mere information
- Kontakt: Eske Christiansen, eske.christiansen@deic.dk
- Kode på GitHub: https://github.com/DeiC-HPC/cotainr
- Dokumentation på Read the Docs: https://cotainr.readthedocs.io