-
Elmer
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.
Saatavuus
- 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ä. Sen käyttö on maksutonta kaikille.
Käyttö
Puhdissa ja Mahdissa saatavilla olevat Elmer-versiot voidaan listata komennolla
Roihu-CPU:ssa Elmer-versiot on nimetty elmerfem, ja ne listataan komennolla
LUMIssa on ensin otettava käyttöön CSC:n asentamien ohjelmistojen moduulitiedostot:
Elmerin oletusversio ladataan komennolla
Suosittelemme tämän version käyttöä kaikilla alustoilla (paitsi erityisistä syistä).
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).
Esimerkki rinnakkaisesta eräajokomentosarjasta
Tämä on peruskomentosarja 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ä (emme suosittele käyttämään monisäikeistystä). Seuraava komentosarja lähettää 6 tunnin työn käyttäen 4 solmua ja kaikkia 128 ydintä per solmu (eli yhteensä 512 ydintä).
#!/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"
Peruskomentosarja 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 hyödyllistä käyttää vähemmän ytimiä per solmu kuin mitä on saatavilla suorituskyvyn parantamiseksi. Katso esimerkki solmujen alikäytöstä.