Hyppää sisältöön

Puhdin ja Mahdin laskentapalvelut ovat poistuneet käytöstä. Puhdin ja Mahdin kirjautumisnoodit sekä tallennustila ovat saatavilla 15. lokakuuta 2026 asti, mutta ne eivät enää ole palvelusopimusten piirissä. Ryhdythän toimiin datan siirtämiseksi Roihuun välittömästi. Ohjeita löydät sivulta Roihun datan siirto-opas.

Elmer

Elmer on CSC:n avoimen lähdekoodin elementtimenetelmään perustuva monifysikaalinen simulointiohjelmistopaketti. Se sisältää moduuleja virtaus- ja kiinteän aineen mekaniikkaan, akustiikkaan sekä sähkömagneettiseen dynamiikkaan.

Elmer hyödyntää kolmansien osapuolten avoimen lähdekoodin ohjelmia esi- (esim. Gmsh) ja jälkikäsittelyyn (esim. ParaView, Visit). Asennettu versio sisältää Elmer/Ice-ratkaisijat, joita tarvitaan glasiologisiin simulaatioihin (jäätiköt, mannerjäätiköt). Elmer hyödyntää MPI-kirjastoa rinnakkaislaskentaan, ja joihinkin ratkaisijoihin on jo toteutettu OpenMP-rinnakkaissäikeistysohjeet.

Saatavilla

  • Puhti: 9.0
  • Mahti: 9.0
  • LUMI: 9.0
  • Roihu-CPU: 26.2.1

Lisenssi

Elmer on lisensoitu GPL-lisenssillä ja (elmersolver.lib-kirjaston osalta) LGPL-lisenssillä. Se on vapaasti kaikkien käytettävissä.

Käyttö

Puhdissa ja Mahdissa saatavilla olevat Elmer-versiot voidaan listata komennolla

module avail elmer

Roihu-CPU:ssa Elmer-versiot on nimetty elmerfem, ja ne listataan komennolla

module avail elmerfem

LUMIssa on ensin otettava käyttöön CSC:n asentamien ohjelmistojen moduulitiedostot:

module use /appl/local/csc/modulefiles/
module avail elmer

Elmerin oletusversio ladataan komennolla

module load elmer/latest

Suosittelemme tämän version käyttöä (paitsi erityisistä syistä) kaikilla alustoilla.

Huomaa, että tätä versiota päivitetään usein. Jos tapauksessasi on mukana käännettynä koodina lisättyjä User Functions -toimintoja, varmista, että käännät ne uudelleen tällaisen päivityksen jälkeen (päivämäärä näytetään moduulia ladattaessa).

Esimerkkieräajo rinnakkaislaskentaan

Tämä on perusskripti 30 minuutin yhden solmun työlle, jossa käytetään kaikkia 40 ydintä ja varataan 2 Gt muistia jokaiselle ytimelle. Elmerin syötetiedosto on myrun.sif.

#!/bin/bash 
#SBATCH --time=00:30:00
#SBATCH --job-name=jobname
#SBATCH --output=%x.%j.out
#SBATCH --error=%x.%j.err
#SBATCH --partition=small
#SBATCH --ntasks-per-node=40
#SBATCH --nodes=1
#SBATCH --mem-per-cpu=2G
#SBATCH --account=<project>

module load elmer/latest
# make sure the SIF is in the start-info
echo myrun.sif > ELMERSOLVER_STARTINFO
echo "starting Elmer simulation with SIF file"
cat ELMERSOLVER_STARTINFO
srun ElmerSolver
echo "done"

Suurin ero Mahdissa on se, että vain kokonaisia solmuja voidaan varata. Yksi solmu sisältää 128 ydintä. Seuraava skripti lähettää 6 tunnin työn käyttäen 4 solmua ja kaikkia 128 ydintä per solmu (eli yhteensä 512).

#!/bin/bash 
#SBATCH --time=06:00:00
#SBATCH --job-name=jobname
#SBATCH --output=%x.%j.out
#SBATCH --error=%x.%j.err
#SBATCH --partition=medium
#SBATCH --account=<project>
#SBATCH --nodes=4
#SBATCH --ntasks-per-node=128

export OMP_NUM_THREADS=1
module load elmer/latest
# make sure the SIF is in the start-info
echo myrun.sif > ELMERSOLVER_STARTINFO
echo "starting Elmer simulation with SIF file"
cat ELMERSOLVER_STARTINFO
srun ElmerSolver
echo "done"

Perusskripti 1 tunnin työlle, jossa käytetään 4 solmua ja yhteensä 128 ydintä. Elmerin syötetiedosto on myrun.sif.

#!/bin/bash 
#SBATCH --time=01:00:00
#SBATCH --job-name=jobname
#SBATCH --output=%x.%j.out
#SBATCH --error=%x.%j.err
#SBATCH --partition=small
#SBATCH --account=<project>
#SBATCH --nodes=4
#SBATCH --ntasks=128

module use /appl/local/csc/modulefiles/
module load elmer/latest
# make sure the SIF is in the start-info
echo myrun.sif > ELMERSOLVER_STARTINFO
echo "starting Elmer simulation with SIF file"
cat ELMERSOLVER_STARTINFO
srun ElmerSolver
echo "done"

Ohjeet töiden lähettämiseen ja seurantaan löytyvät CSC:n dokumentaatiosta ja LUMIn dokumentaatiosta.

Joissakin Elmer-tapauksissa voi olla edullista käyttää vähemmän ytimiä per solmu kuin on saatavilla suorituskyvyn parantamiseksi. Katso esimerkki alitäytöstä.

Lisätietoja

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta