-
MOLPRO
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:
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.
- 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
- 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
- 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ä.
- 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.