Hyppää sisältöön

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

Warning!

Puhti and Mahti will be decommissioned after Roihu becomes available. Users should clean up unnecessary files and move any required data by the end of August 2026. See the Roihu data preparation instructions for details.

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

TURBOMOLE

TURBOMOLE on nopea ja vakaa kvanttikemian ohjelmistopaketti, jossa on erittäin tehokkaat toteutukset useille laskennallisille menetelmille (HF/DFT/MP2/CC). Ominaisuuksia voidaan laskea sekä perustiloille että viritystiloille. TURBOMOLE on suunniteltu suurten järjestelmien tehokkaaseen tutkimukseen.

Saatavuus

  • Puhti: 7.5.1, 7.6, 7.7, 7.8
  • Mahti: 7.5.1, 7.6, 7.7, 7.8

Lisenssi

  • Voit käyttää ohjelmistoa ainoastaan voittoa tavoittelemattomaan tutkimukseen.
  • Vain akateemisten (eli tutkintoja myöntävien) instituuttien käyttäjät saavat käyttää ohjelmistoa.

Käyttö

Alusta TURBOMOLE-ympäristö:

module load turbomole/7.8

Esimerkki eräajokomentosarjasta Puhdissa MPI-rinnakkaistusta käyttäen

#!/bin/bash
#SBATCH --partition=test
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=40 # MPI tasks per node
#SBATCH --account=<project>  # insert here the project to be billed 
#SBATCH --time=00:10:00           # time as `hh:mm:ss`
export PARA_ARCH=MPI         # use MPI 
module load turbomole/7.8
export SLURM_CPU_BIND=none
# This setting of TURBOTMPDIR assumes that the job is 
# submitted from a directory below /scratch/<project>
export TURBOTMPDIR=`echo $PWD |cut -d'/' -f1-3`"/TM_TMPDIR/"$SLURM_JOB_ID
mkdir -p $TURBOTMPDIR
export PARNODES=$SLURM_NTASKS  # for MPI
export PATH=$TURBODIR/bin/`$TURBODIR/scripts/sysname`:$PATH
jobex -ri -c 300 > jobex.out

Esimerkki eräajokomentosarjasta Puhdissa SMP-rinnakkaistusta käyttäen

#!/bin/bash
#SBATCH --partition=test
#SBATCH --nodes=1            # for SMP only 1 is possible
#SBATCH --cpus-per-task=40   # SMP threads
#SBATCH --account=<project>  # insert here the project to be billed
#SBATCH --time=00:10:00      # time as `hh:mm:ss`
export PARA_ARCH=SMP         # use SMP threads   
module load turbomole/7.8
# This setting of TURBOTMPDIR assumes that the job is 
# submitted from a directory below /scratch/<project>
export TURBOTMPDIR=`echo $PWD |cut -d'/' -f1-3`"/TM_TMPDIR/"$SLURM_JOB_ID
mkdir -p $TURBOTMPDIR
export PARNODES=$SLURM_CPUS_PER_TASK  # for SMP
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
export PATH=$TURBODIR/bin/`$TURBODIR/scripts/sysname`:$PATH
jobex -ri -c 300 > jobex.out

Huomautus

Toisinaan mpshift-laskennat keskeytyvät, koska paikallinen /tmp täyttyy. Ongelma voidaan kiertää määrittelemällä $TMPDIR uudelleen:

export TMPDIR=$TURBOTMPDIR

Huomautus

Erityisesti jotkin aaltofunktioon perustuvat elektronikorrelaatiomenetelmät voivat olla hyvin levy-I/O-intensiivisiä. Tällaiset ajot hyötyvät Puhdin nopean paikallisen tallennustilan käytöstä. Paikallisen levyn käyttö tällaisissa ajoissa vähentää myös Lustre-rinnakkaistiedostojärjestelmän kuormitusta.

Esimerkki eräajokomentosarjasta Puhdissa MPI-rinnakkaistusta ja paikallista levyä käyttäen

#!/bin/bash
#SBATCH --partition=small
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=40 # MPI tasks per node
#SBATCH --account=<project>  # insert here the project to be billed
#SBATCH --time=00:10:00      # time as `hh:mm:ss`
#SBATCH --gres=nvme:100      # requested local disk in GB
export PARA_ARCH=MPI         # use MPI
module load turbomole/7.8
export SLURM_CPU_BIND=none
# define local disk as scratch
export TURBOTMPDIR=$LOCAL_SCRATCH/$SLURM_JOBID
mkdir -p $TURBOTMPDIR
export PARNODES=$SLURM_NTASKS  # for MPI
export PATH=$TURBODIR/bin/`$TURBODIR/scripts/sysname`:$PATH
dscf > dscf.out
ccsdf12 > ccsdt.out

Esimerkki eräajokomentosarjasta Mahdissa MPI-rinnakkaistusta käyttäen

#!/bin/bash
#SBATCH --partition=medium
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=128 # MPI tasks per node
#SBATCH --account=<project>   # insert here the project to be billed
#SBATCH --time=00:60:00       # time as `hh:mm:ss`
export PARA_ARCH=MPI          # use MPI
module load turbomole/7.8
export SLURM_CPU_BIND=none
# This setting of TURBOTMPDIR assumes that the job is 
# submitted from a directory below /scratch/<project>
export TURBOTMPDIR=`echo $PWD |cut -d'/' -f1-3`"/TM_TMPDIR/"$SLURM_JOB_ID
mkdir -p $TURBOTMPDIR
export PARNODES=$SLURM_NTASKS  # for MPI
export PATH=$TURBODIR/bin/`$TURBODIR/scripts/sysname`:$PATH
jobex -ri -c 300 > jobex.out

NumForce-laskennat

NumForce on työkalu, jota voidaan käyttää toisten derivaattojen (molekyyli-Hessen matriisin) laskemiseen kaikille menetelmille, joille analyyttiset gradientit ovat saatavilla TURBOMOLEssa. NumForce-ajo käynnistää 3*N*2 (N = atomien lukumäärä) toisistaan riippumatonta gradienttilaskentaa. Yleensä on tehokkainta, että yksittäiset gradienttilaskennat ajetaan sarjallisina (unset PARA_ARCH). Kunkin sarjallisen laskennan odotetaan kestävän suunnilleen saman ajan, joten optimaalisesti gradienttilaskentojen kokonaismäärän tulisi olla varattujen ytimien kokonaislukukerrannainen.

NumForce-vaihe ajotiedostossa:

unset PARA_ARCH
export HOSTS_FILE=$PWD/turbomole.machines
rm -f $HOSTS_FILE
srun hostname > $HOSTS_FILE
ulimit -s unlimited
kdg tmpdir
NumForce -ri -central -mfile $HOSTS_FILE > NumForce.out

Viitteet

Mainitse ohjelmistopaketin käyttö versionumero huomioiden:

  • TURBOMOLE V7.8, a development of University of Karlsruhe and Forschungszentrum Karlsruhe GmbH, 1989-2007, TURBOMOLE GmbH, since 2007; available from https://www.turbomole.org
  • Myös katsausartikkeli tulisi mainita: https://doi.org/10.1063/5.0004635
  • Tieteelliset julkaisut edellyttävät käytettyjen menetelmien ja prosessien asianmukaista viittaamista. TURBOMOLE-moduulien tulosteiden otsakkeet sisältävät asiaankuuluvat artikkelit.

Lisätietoja

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta