Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

MOLPRO

MOLPRO on ohjelmistopaketti, joka on suunnattu tarkkoihin ab initio -kvanttikemian laskuihin. Ohjelmassa painotetaan erittäin tarkkoja laskentoja, ja elektronikorrelaatio-ongelmaa käsitellään laajasti moniviitekonfiguraatiointeraktion, coupled cluster -menetelmien ja niihin liittyvien menetelmien avulla.

Saatavuus

  • Puhti: 2024.3
  • Mahti: 2024.3

Lisenssi

  • Ohjelmiston käyttö on rajoitettu ei-kaupalliseen tutkimukseen.

Käyttö

Alusta MOLPRO Puhdissa tai Mahdissa:

module load molpro/2024.3

Molpro on käännetty Global Arrays -työkalupakilla (--with-mpi-pr), joka varaa rinnakkaisissa MPI-ajoissa yhden avustajaprosessin solmua kohden.

Huom.

Vaikka jotkin koodin osat tukevat jaetun muistin rinnakkaisuutta (OpenMP), sen käyttöä ei yleisesti suositella.

Esimerkkieräajokomennostot

Huom.

Aaltotoimintoon perustuvat korrelaatiomenetelmät, sekä yhden viitteen että moniviitteiset, tuottavat usein huomattavan määrän levy-I/O:ta. Jotta työn suorituskyky olisi mahdollisimman hyvä ja jotta Lustre-rinnakkaistiedostojärjestelmän ylimääräiseltä kuormitukselta vältyttäisiin, on suositeltavaa käyttää paikallista levyä.

#!/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`
module purge
module load molpro/2024.3

export MOLPRO_TMP=$PWD/MOLPRO_TMP_$SLURM_JOB_ID
mkdir -p $MOLPRO_TMP

$MOLPROP -d$MOLPRO_TMP -I$MOLPRO_TMP -W$PWD test.com
rm -rf $MOLPRO_TMP
#!/bin/bash
#SBATCH --partition=large
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=40
#SBATCH --account=yourproject     # insert here the project to be billed
#SBATCH --time=00:15:00           # time as `hh:mm:ss`
#SBATCH --gres=nvme:100           # requested local disk space in GB
module purge
module load molpro/2024.3
export MOLPRO_TMP=$LOCAL_SCRATCH/MOLPRO_TMP_$SLURM_JOB_ID
mkdir -p $MOLPRO_TMP

$MOLPROP -d$MOLPRO_TMP -I$MOLPRO_TMP -W$PWD test.com
rm -rf $MOLPRO_TMP

Mahdissa on usein tarpeen käyttää vähemmän ytimiä per solmu kuin olisi saatavilla, jotta muistia olisi riittävästi ydintä kohden. Katso lisätietoja Mahdin työkomentoskriptiohjeista.

#!/bin/bash
#SBATCH --partition=test
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=16
#SBATCH --cpus-per-task=8
#SBATCH --account=yourproject     # insert here the project to be billed
#SBATCH --time=0:10:00 # time as hh:mm:ss
# set --ntasks-per-node=X and --cpus-per-task=Y so that X * Y = 128
module purge
module load molpro/2024.3

export MOLPRO_TMP=$PWD/MOLPRO_TMP_$SLURM_JOB_ID
mkdir -p $MOLPRO_TMP

$MOLPROP -d$MOLPRO_TMP -I$MOLPRO_TMP -W$PWD test.com
rm -rf $MOLPRO_TMP

Esimerkki skaalautuvuudesta

Molpron suorituskyky riippuu paljon järjestelmän koosta ja käytetystä laskentamallista. Seuraava taulukko näyttää bentseenin (C6H6) yksittäispiste-energialaskennan seinäkelloajan sekunteina CCSD(T)/aug-cc-pVTZ-tasolla ytimien lukumäärän funktiona. Taulukossa esitetään myös vastaavat ajat, kun käytetään paikallista levyä (NVMe). Huomaa, että rinnakkaisajot varaavat yhden ytimen solmua kohden avustajaprosessille, joten varsinaiseen laskentaan käytetään yhtä ydintä vähemmän per solmu.

Cores Wall time/Lustre (s) Wall time/NVMe (s)
1 11749 10962
5 3254 3228
10 1730 1561
20 1394 1239
40 1112 814
2x20 786 729
2x40 716 701

Viitteet

Kaikissa julkaisuissa, jotka ovat syntyneet MOLPROn käytön tuloksena, on viitattava seuraaviin kolmeen lähteeseen.

  1. H.-J. Werner, P. J. Knowles, G. Knizia, F. R. Manby and M. Schütz, WIREs Comput Mol Sci 2, 242–253 (2012), doi: 10.1002/wcms.82
  2. Hans-Joachim Werner, Peter J. Knowles, Frederick R. Manby, Joshua A. Black, Klaus Doll, Andreas Heßelmann, Daniel Kats, Andreas Köhn, Tatiana Korona, David A. Kreplin, Qianli Ma, Thomas F. Miller, III, Alexander Mitrushchenkov, Kirk A. Peterson, Iakov Polyak, Guntram Rauhut, and Marat Sibaev J. Chem. Phys. 152, 144107 (2020). doi:10.1063/5.0005081
  3. MOLPRO, version , a package of ab initio programs, H.-J. Werner, P. J. Knowles, P. Celani, W. Györffy, A. Hesselmann, D. Kats, G. Knizia, A. Köhn, T. Korona, D. Kreplin, R. Lindh, Q. Ma, F. R. Manby, A. Mitrushenkov, G. Rauhut, M. Schütz, K. R. Shamasundar, T. B. Adler, R. D. Amos, J. Baker, S. J. Bennie, A. Bernhardsson, A. Berning, J. A. Black, P. J. Bygrave, R. Cimiraglia, D. L. Cooper, D. Coughtrie, M. J. O. Deegan, A. J. Dobbyn, K. Doll and M. Dornbach, F. Eckert, S. Erfort, E. Goll, C. Hampel, G. Hetzer, J. G. Hill, M. Hodges and T. Hrenar, G. Jansen, C. Köppl, C. Kollmar, S. J. R. Lee, Y. Liu, A. W. Lloyd, R. A. Mata, A. J. May, B. Mussard, S. J. McNicholas, W. Meyer, T. F. Miller III, M. E. Mura, A. Nicklass, D. P. O'Neill, P. Palmieri, D. Peng, K. A. Peterson, K. Pflüger, R. Pitzer, I. Polyak, P. Pulay, M. Reiher, J. O. Richardson, J. B. Robinson, B. Schröder, M. Schwilk and T. Shiozaki, M. Sibaev, H. Stoll, A. J. Stone, R. Tarroni, T. Thorsteinsson, J. Toulouse, M. Wang, M. Welborn and B. Ziegler, see https://www.molpro.net.

Jotkin lehdet vaativat lyhyemmän kirjoittajaluettelon; tällaisessa tapauksessa tulee käyttää seuraavaa viitettä.

  1. MOLPRO, version , a package of ab initio programs, H.-J. Werner, P. J. Knowles, and others, see https://www.molpro.net.

Riippuen siitä, mitä ohjelmia käytetään, tulee viitata myös lisälähteisiin. Ohjeet löytyvät käsikirjasta.

Lisätietoja

Suomenkielinen tekoälykäännös

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

Klikkaa tästä antaaksesi palautetta