Hyppää sisältöön

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

Warning!

Puhti and Mahti are being decommissioned in stages, and their storage areas will become fully unavailable from 15 October 2026. Clean up unnecessary files and move any data you need to keep by 31 August 2026. See the Roihu data migration guide for instructions on transferring your data to Roihu.

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

AMS

Amsterdam Modeling Suite (AMS) on kattava laskennallisen kemian ohjelmistopaketti. Sen mukana tulee graafinen käyttöliittymä, AMS-GUI, joka tarjoaa intuitiivisen tavan simulaatioiden määrittämiseen, ajamiseen ja analysointiin.

Saatavuus

  • Puhti: AMS, versio 2024.102, 2025.105
  • Mahti: AMS, versio 2024.102, 2025.105
  • Roihu-CPU: AMS, versio 2026.104

Lisenssi

  • Lisenssi oikeuttaa ohjelmiston käyttöön kaikki akateemiset tutkijat ja opiskelijat akateemisessa oppilaitoksessa, jossa "Academic" tarkoittaa "tutkintoja myöntävään oppilaitokseen kuuluvaa".
  • Lisenssi ei sisällä oikeutta ohjelmiston käyttöön valtion laboratorioiden työntekijöille tai muiden ei-akateemisten voittoa tavoittelemattomien tutkimuslaitosten työntekijöille.
  • Lisenssi sallii vain voittoa tavoittelemattoman ei-kaupallisen käytön.
  • Lisenssi sulkee pois kaiken sopimustutkimuksen, rojaltituottoa tuottavan toiminnan ja muun rahalliseen hyötyyn johtavan toiminnan.
  • Tutkimusryhmät, jotka tarvitsevat AMS-ohjelmistopaketin muita moduuleja, voivat hankkia itselleen lisenssin ohjelmien ajamiseen CSC:n tietokoneilla.

Käyttö

Alusta AMS Puhdissa ja Mahdissa:

module load ams/2025.105

Alusta AMS Roihu-CPU:ssa:

module load ams/2026.104

Esimerkkieräajokomennostot

Huomaa

Erityisesti jotkin ominaisuuslaskennat voivat olla hyvin levy-I/O-intensiivisiä. Tällaiset ajot hyötyvät nopean paikallisen tallennustilan (NVMe) käytöstä Puhdissa, Mahdissa tai Roihussa. Paikallislevyn käyttö tällaisissa ajoissa vähentää myös Lustre-rinnakkaistiedostojärjestelmän kuormitusta.

#!/bin/bash
#SBATCH --partition=test
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=40      # MPI tasks per node
#SBATCH --account=yourproject     # insert here the project to be billed 
#SBATCH --time=00:15:00           # time as `hh:mm:ss`
#SBATCH --mem-per-cpu=1500        # requested memory per process in MB
module purge
module load ams/2025.105
export SCM_TMPDIR=$PWD/$SLURM_JOB_ID
mkdir -p $SCM_TMPDIR
# Create an example input file from the examples 
sed '1,4d;$d;/Print/,/End/d' $AMSHOME/examples/Benchmarks/ADF/Si35_TZ2P/Si35_TZ2P.run  > ./Si35_TZ2P.inp
"$AMSBIN/ams" < ./Si35_TZ2P.inp > ./Si35_TZ2P.log
#!/bin/bash
#SBATCH --partition=large
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=40      # MPI tasks per node
#SBATCH --account=yourproject     # insert here the project to be billed
#SBATCH --time=00:15:00           # time as `hh:mm:ss`
#SBATCH --mem-per-cpu=1500        # requested memory per process in MB
#SBATCH --gres=nvme:100           # requested local disk space in GB
module load ams/2025.105
export SCM_TMPDIR=$LOCAL_SCRATCH
# Create an example input file from the examples
sed '1,4d;$d;/Print/,/End/d' $AMSHOME/examples/Benchmarks/ADF/Si35_TZ2P/Si35_TZ2P.run  > ./Si35_TZ2P.inp
"$AMSBIN/ams" < ./Si35_TZ2P.inp > ./Si35_TZ2P.log
#!/bin/bash
#SBATCH --partition=medium
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=128 # MPI tasks per node
#SBATCH --account=yourproject # insert here the project to be billed
#SBATCH --time=00:20:00       # time as `hh:mm:ss`
module purge
module load ams/2025.105
export SCM_TMPDIR=$PWD/$SLURM_JOB_ID
mkdir -p $SCM_TMPDIR

# Create an example input file from the examples
sed '1,4d;$d;/Print/,/End/d' $AMSHOME/examples/Benchmarks/ADF/Si35_TZ2P/Si35_TZ2P.run  > ./Si35_TZ2P.inp
"$AMSBIN/ams" < ./Si35_TZ2P.inp > ./Si35_TZ2P.log
#!/bin/bash
#SBATCH --partition=small
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=128 # MPI tasks per node
#SBATCH --account=yourproject # insert here the project to be billed
#SBATCH --time=00:20:00       # time as `hh:mm:ss`
#SBATCH --gres=nvme:100
module purge
module load ams/2025.105
export SCM_TMPDIR=$LOCAL_SCRATCH
mkdir -p $SCM_TMPDIR

# Create an example input file from the examples
sed '1,4d;$d;/Print/,/End/d' $AMSHOME/examples/Benchmarks/ADF/Si35_TZ2P/Si35_TZ2P.run  > ./Si35_TZ2P.inp
"$AMSBIN/ams" < ./Si35_TZ2P.inp > ./Si35_TZ2P.log
#!/bin/bash
#SBATCH --partition=small
#SBATCH --nodes=1
#SBATCH --ntasks=128              # MPI tasks
#SBATCH --account=yourproject     # insert here the project to be billed
#SBATCH --time=00:20:00           # time as `hh:mm:ss`
#SBATCH --mem-per-cpu=1500M       # requested memory per process
module purge
module load ams/2026.104
export SCM_TMPDIR=$PWD/$SLURM_JOB_ID
mkdir -p $SCM_TMPDIR
# Create an example input file from the examples
sed '1,4d;$d;/Print/,/End/d' $AMSHOME/examples/Benchmarks/ADF/Si35_TZ2P/Si35_TZ2P.run > ./Si35_TZ2P.inp
"$AMSBIN/ams" < ./Si35_TZ2P.inp > ./Si35_TZ2P.log

Ydinten määrän valinta Roihu-CPU:ssa

Roihun M-solmuissa on 384 ydintä, mutta ADF ei skaalaudu tehokkaasti koko solmulle tyypillisissä ajoissa. Alla oleva taulukko näyttää Si35_TZ2P- vertailuajon skaalautuvuuden — huomaa, että skaalautuvuus riippuu vahvasti järjestelmästä ja mallista, joten näitä lukuja kannattaa käyttää ohjeellisina eikä absoluuttisina arvoina. 128–192 ydintä tarjoaa parhaan tasapainon tehokkuuden ja nopeuden välillä tässä tapauksessa. Tämän yli seinäkelloaika paranee tuskin lainkaan, kun taas muistinkäyttö ja laskutuskustannukset kasvavat merkittävästi. Koko solmun ajoissa käytä paikallista NVMe-väliaikaistallennusta (katso "Roihu-CPU, local disk" -välilehdet), jotta vältät AMS:n rank-kohtaisten väliaikaistiedostojen aiheuttaman I/O-kilpailun.

MPI ranks CPU efficiency Wall time
48 ~95% ~437 s
96 ~91% ~385 s
128 ~90% ~302 s
192 ~85% ~252 s
384 (full node) ~75% ~247 s
#!/bin/bash
#SBATCH --partition=small
#SBATCH --nodes=1
#SBATCH --ntasks=128              # MPI tasks
#SBATCH --account=yourproject     # insert here the project to be billed
#SBATCH --time=00:20:00           # time as `hh:mm:ss`
#SBATCH --mem-per-cpu=1500M       # requested memory per process
module purge
module load ams/2026.104
# On Roihu, local NVMe scratch is available via $TMPDIR (no --gres flag needed)
export SCM_TMPDIR=$TMPDIR/ams_$SLURM_JOB_ID
mkdir -p $SCM_TMPDIR
# Create an example input file from the examples
sed '1,4d;$d;/Print/,/End/d' $AMSHOME/examples/Benchmarks/ADF/Si35_TZ2P/Si35_TZ2P.run > ./Si35_TZ2P.inp
"$AMSBIN/ams" < ./Si35_TZ2P.inp > ./Si35_TZ2P.log

Katso myös

Katso "Roihu-CPU"-välilehdeltä suositukset ydinten määrälle. Jos koko solmun ajo vaatii maksimaalista I/O-suorituskykyä, harkitse hajautetun NVMe:n vaihtoehtoa "Roihu-CPU, disaggregated NVMe" -välilehdellä.

Paikallisen NVMe-levytilan enimmäismäärä, joka on käytettävissä hakemistossa $TMPDIR, riippuu Slurm-osiosta ja solmutyypistä. Jaetuilla solmuilla (esim. small- ja longrun-osioissa) käytettävissäsi on 20 GiB väliaikaistallennustilaa. Koko solmuilla (medium- ja large-osiot) käytettävissäsi on 600 GiB paikallista tallennustilaa. Katso lisätietoja Roihun tallennusdokumentaatiosta.

Hajautettu NVMe Roihussa

Roihu tarjoaa keskitetyn 307,2 TB:n nopean NVMe-tallennuspoolin, jota palvellaan InfiniBand NDR:n yli. I/O-intensiivisissä koko solmun ajoissa tämä voi olla suorituskykyisempi kuin sekä Lustre scratch että solmukohtainen $TMPDIR. Se vaatii koko solmun osion (medium tai large) ja #BB_LUA burst-buffer -direktiivin — tuki jaetuille solmuille ei ole vielä saatavilla. Katso Roihun levyalueet täydet tiedot.

#!/bin/bash
#SBATCH --partition=medium
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=384     # full node required for disaggregated NVMe
#SBATCH --account=yourproject     # insert here the project to be billed
#SBATCH --time=00:20:00           # time as `hh:mm:ss`
#BB_LUA SBF storagesize=100GB path=/run/sbb/<user>
module purge
module load ams/2026.104
# Disaggregated NVMe is mounted at the path specified in #BB_LUA above
export SCM_TMPDIR=/run/sbb/<user>/ams_$SLURM_JOB_ID
mkdir -p $SCM_TMPDIR
# Create an example input file from the examples
sed '1,4d;$d;/Print/,/End/d' $AMSHOME/examples/Benchmarks/ADF/Si35_TZ2P/Si35_TZ2P.run > ./Si35_TZ2P.inp
"$AMSBIN/ams" < ./Si35_TZ2P.inp > ./Si35_TZ2P.log

Si35_TZ2P:n vertailuajotulokset 384 rankilla

Vertailuajot osoittivat, että hajautettu NVMe tarjoaa parhaan suorituskyvyn koko solmun ADF-ajoille ja päihittää sekä Lustre scratchin että solmukohtaisen $TMPDIR:n:

Scratch location Wall time CPU efficiency Billing units
Lustre scratch ~247 s ~75% ~20 BU
$TMPDIR (node-local) ~230 s ~91% ~19 BU
Disaggregated NVMe ~190 s ~89% ~15 BU

Huomaa, että skaalautuvuus riippuu vahvasti järjestelmästä ja mallista. Katso "Roihu-CPU"-välilehdeltä ohjeita ydinten määrän valintaan.

AMS-GUI

AMS:n mukana tulee integroitu graafinen käyttöliittymä, AMS-GUI, jonka avulla mallinnustehtävien määrittäminen, ajaminen ja analysointi on helppoa. Voit testata käyttöliittymää Puhdin selainkäyttöliittymän kautta, mutta laajempaan käyttöön suosittelemme asentamaan käyttöliittymän omalle kannettavalle tietokoneellesi tai työasemallesi. Yksityiskohtaiset ohjeet löydät AMS-GUI-dokumentaatiosta.

Viitteet

Käytöstäsi riippuen varmista, että viittaat asianmukaisesti AMS-ajuriin, käytettyihin laskentamoottoreihin sekä ominaisuuksien viitteisiin. Lisätietoja on asiaankuuluvassa AMS-dokumentaatiossa

Lisätietoja

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta