Opis

GAMESS (General Atomic and Molecular Electronic Structure System) je ab initio računalno-kemijska aplikacija opće namjene te posjeduje sve uobičajene QM/MM metode.

GAMESS je otvorenog koda, a koristi MPI paralelizaciju. Određeni izračuni dopuštaju i OpenMP (threaded) paralelizaciju.

GAMESS se na računalnom klasteru Supek pokreće prilagođenom rungms.mpi skriptom.


Pravilno pokretanje GAMESS-a zahtjeva dobro razumijevanje PBS varijabli, odnosno načina kako se dodjeljuju resursi.

GAMESS zahtjeva da prilikom paralelizacije na svakom čvoru ima jednak i paran broj MPI procesa. Naravno, to znači da možete koristiti i samo jedan računalni čvor.

Verzije

VerzijaModulPodrškaParalelizacijaPrevodiocKnjižniceSupekPadobran
September 30, 2022 R2 Public Releasescientific/gamess/22.09CPUMPI + OpenMPCrayCraycheck mark button(error)

Službena dokumentacija

PBS varijable - resursi

#PBS -l select=4:mpiprocs=4:ncpus=4
#PBS -l place=scatter


PBS resursi mpiprocs i ncpus definirani su po select-u, odnosno po tzv. chunku (komadu čvora).

ncpus predstavlja broj zatraženih CPU jezgara po jednom selectu. To znači da je ukupan broj zatraženih CPU jezgara jednak select×ncpus.

Ako nije eksplicitno definiran, podrazumijeva se ncpus=1.


mpiprocs predstavlja broj MPI procesa po jednom selectu. To znači da je ukupan broj MPI procesa jednak select×mpiprocs.

Za svaki definirani select, u datoteku PBS_NODEFILE zapisuje se po select×mpiprocs hostname-ova, odnosno radnih čvorova (čiji je to komad). Koji će to biti čvorovi, ovisi o "raspodjeli" chunkova, odnosno selectova:

Za svaki zapisani hostname, MPI pokretač mpiexec će pokrenuti će po jedan MPI proces.

Ako nije eksplicitno definiran, podrazmijeva se mpiprocs=1.

Kako bi se za svaki MPI proces dodijelila po jedna CPU jezgra, nužno je da su vrijednosti ncpus i mpiprocs iste.


OpenMP za svoju varijablu OMP_NUM_THREADS preuzima (podrazumijeva) vrijednost ncpus.

Ako ne koristite OpenMP, nužno je u skripti dodatno definirati i export OMP_NUM_THREADS=1, kako bi se pregazila podrazumijevana vrijednost.

PBS primjeri

U nadolazećim primjerima pokazat će se kako različito definirane select i mpiprocs varijable utječu na sadržaj PBS_NODEFILE datoteke.

Kako je ranije objašnjeno, MPI pokretač mpiexec čita sadržaj PBS_NODEFILE datoteke i za svaku liniju (hostname) pokreće po jedan MPI proces.


1. primjer

#PBS -l select=4:mpiprocs=2
#PBS -l place=scatter


x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b1n0.hsn.hpc.srce.hr
x8000c0s0b1n0.hsn.hpc.srce.hr
x8000c0s1b0n0.hsn.hpc.srce.hr
x8000c0s1b0n0.hsn.hpc.srce.hr
x8000c0s1b0n1.hsn.hpc.srce.hr
x8000c0s1b0n1.hsn.hpc.srce.hr

U gore prikazanoj PBS_NODEFILE datoteci možemo uočiti 4 jedinstvena hostname-a (select=4, place=scatter) od kojih se svaki ponavlja 2 puta (mpiprocs=2).

2. primjer

#PBS -l select=4:mpiprocs=2
#PBS -l place=pack


x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr

U gore prikazanoj PBS_NODEFILE datoteci možemo uočiti 8 istih hostname-ova, nastalih kao umnožak 4 chunka s istog čvora (select=4, place=scatter) i 2 MPI procesa po chunk-u (mpiprocs=2).

3. primjer

#PBS -l select=1:mpiprocs=8
#PBS -l place=pack


x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr

U gore prikazanoj PBS_NODEFILE datoteci možemo uočiti isti rezultat kao u 2. primjeru.

4. primjer

#PBS -l select=8
#PBS -l place=pack


x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr
x8000c0s0b0n1.hsn.hpc.srce.hr

U gore prikazanoj PBS_NODEFILE možemo uočiti isti rezultat kao u prethodna dva primjera, budući da se podrazumijeva mpiprocs=1.

GAMESS primjeri

U nadolazećim primjerima pokazat će se različiti načini pokretanja GAMESS-a.

Ulaznu datoteku input.inp možete kopirati iz code block-a niže.

!   File created by the GAMESS Input Deck Generator Plugin for Avogadro
 $BASIS GBASIS=N31 NGAUSS=6 NDFUNC=1 NPFUNC=1 $END
 $CONTRL SCFTYP=RHF RUNTYP=ENERGY DFTTYP=B3LYP $END
 $SYSTEM MWORDS=4000 $END

 $DATA
Title
C1
Br    35,0     3,56792     6,20395     0,27301
O     8,0     5,99385     1,25485     2,14969
O     8,0     4,86398     4,86307     4,91333
O     8,0     9,36952     3,86128     5,45457
O     8,0     1,54687    -0,26364     1,35457
O     8,0    11,23010    -0,35017     7,71431
O     8,0     7,94882    -3,40000     7,34023
O     8,0     7,71226    -3,45738     5,09165
O     8,0     3,54573     4,66607    12,08432
O     8,0     1,06083     5,28575     1,66226
N     7,0     5,86736     3,50561     2,65626
N     7,0     6,76378     4,83325     6,09126
N     7,0     3,13636     1,03709     2,22294
N     7,0     8,95790     1,86028     6,26477
N     7,0     9,37450    -1,11066     6,82270
N     7,0     0,99106     3,20019     2,43191
N     7,0     0,47930     1,60281     6,30486
N     7,0    -4,09822     2,53404     3,48143
N     7,0     0,07650     0,11692     8,10206
N     7,0    -1,61601     1,03380     6,96204
N     7,0    -5,90834     3,08906     2,03608
N     7,0    -6,15293     3,20068     4,22719
C     6,0     6,77054     3,83619     3,77586
C     6,0     7,77853     4,83972     3,18590
C     6,0     7,86928     4,45830     1,73522
C     6,0     6,43765     4,05239     1,43978
C     6,0     5,33264     2,21094     2,56285
C     6,0     6,04418     4,51843     4,95775
C     6,0     3,85334     2,06871     3,03035
C     6,0     3,82518     1,69347     4,53030
C     6,0     7,43867     3,82045     6,93742
C     6,0     2,48426     2,08700     5,12569
C     6,0     6,42368     2,85151     7,55072
C     6,0     9,49202     1,34388     7,53402
C     6,0     8,62178     3,18402     6,16079
C     6,0    10,43357     2,39875     8,19614
C     6,0     1,81613     0,80150     1,92414
C     6,0     0,64934     1,77310     2,35908
C     6,0     1,92868     1,40766     6,36426
C     6,0    10,58420     2,18829     9,71051
C     6,0     5,63196     3,34613     8,74061
C     6,0    10,09604    -0,06626     7,32267
C     6,0    -0,77919     1,60233     1,79357
C     6,0    11,77364     2,60004     7,47908
C     6,0     8,04480    -1,29490     6,17027
C     6,0     6,90311    -0,60391     6,92005
C     6,0    -1,81048     1,99183     2,88756
C     6,0    10,80985     3,51979    10,42475
C     6,0     5,42320    -1,01713     6,76441
C     6,0     4,62016     4,30159     8,59811
C     6,0     5,86515     2,79198    10,01310
C     6,0    -3,21452     2,23620     2,34802
C     6,0     7,87635    -2,81520     6,11632
C     6,0     3,91433     4,75877     9,71382
C     6,0     5,13777     3,22430    11,12151
C     6,0     1,30848     4,10447     1,44103
C     6,0     5,04426    -2,41022     7,25155
C     6,0     4,58305    -0,03324     7,59020
C     6,0     4,18971     4,22448    10,96785
C     6,0    -0,27787     0,95739     7,10655
C     6,0     2,08674     3,67797     0,23409
C     6,0     3,21717     4,39098    -0,19055
C     6,0     1,80685     2,46734    -0,40829
C     6,0    -5,29455     2,91008     3,22888
C     6,0     4,15299     3,77527    -1,03839
C     6,0     2,75670     1,83756    -1,21452
C     6,0     3,95783     2,47120    -1,48620
H     1,0     6,20607     5,46475     6,65425
H     1,0     3,74093     0,30166     1,86990
H     1,0     9,63459     1,68432     5,52462
H     1,0    10,01025    -1,89644     6,68656
H     1,0     0,59762     3,67483     3,23782
H     1,0    -0,57546     0,02060     8,86321
H     1,0     1,03955     0,17581     8,39985
H     1,0    -1,88949     1,72173     6,26525
H     1,0    -2,17398     1,09309     7,79882
H     1,0    -6,86736     2,76982     2,04855
H     1,0    -5,40994     2,68962     1,24739
H     1,0    -5,65740     3,26954     5,11098
H     1,0    -6,68607     4,04472     4,04752
H     1,0     8,07045    -2,75206     8,06255
H     1,0     3,09190     5,49713    11,86526
H     1,0     7,24515     2,90504     4,09623
H     1,0     8,77279     4,80883     3,62297
H     1,0     7,41920     5,86992     3,29675
H     1,0     8,54500     3,61423     1,58821
H     1,0     8,20474     5,29051     1,10705
H     1,0     5,87825     4,96011     1,21269
H     1,0     6,37482     3,37867     0,59775
H     1,0     3,38113     3,03839     2,87192
H     1,0     4,62070     2,20001     5,06906
H     1,0     3,99648     0,61838     4,63248
H     1,0     7,90445     4,39567     7,74781
H     1,0     1,80261     1,75289     4,38402
H     1,0     2,36950     3,17263     5,17808
H     1,0     6,91970     1,95570     7,89964
H     1,0     5,72799     2,52435     6,78214
H     1,0     8,65416     1,19042     8,21306
H     1,0     9,92936     3,36725     8,11349
H     1,0     0,46571     1,43639     3,37840
H     1,0     2,14881     0,33513     6,30793
H     1,0     2,35175     1,84692     7,26882
H     1,0     9,66694     1,74974    10,12094
H     1,0    11,40373     1,49746     9,93107
H     1,0    -0,96209     0,56666     1,48408
H     1,0    -0,93324     2,24205     0,91930
H     1,0    12,46787     1,77469     7,65101
H     1,0    12,26079     3,51550     7,83202
H     1,0    11,63796     2,71101     6,39850
H     1,0     8,12843    -0,91806     5,14459
H     1,0     7,14143    -0,57307     7,98980
H     1,0     6,93468     0,42482     6,55774
H     1,0    -1,48860     2,90243     3,40933
H     1,0    -1,83994     1,20272     3,65067
H     1,0     9,99350     4,22023    10,20834
H     1,0    11,74724     3,98863    10,11234
H     1,0    10,83987     3,37390    11,50761
H     1,0     5,13946    -0,93789     5,70965
H     1,0     4,35297     4,69340     7,61837
H     1,0     6,60342     2,00600    10,15675
H     1,0    -3,18607     3,08078     1,65166
H     1,0    -3,56863     1,34313     1,82331
H     1,0     3,14195     5,50926     9,57976
H     1,0     5,31545     2,79011    12,10182
H     1,0     5,40037    -2,58094     8,27141
H     1,0     5,42058    -3,19176     6,59269
H     1,0     3,95298    -2,52695     7,25648
H     1,0     5,02155     0,15724     8,57356
H     1,0     3,56567    -0,39229     7,75619
H     1,0     4,50859     0,92190     7,07144
H     1,0     0,87795     1,93984    -0,23697
H     1,0     5,06428     4,29397    -1,32622
H     1,0     2,56523     0,83165    -1,58304
H     1,0     4,72425     1,96229    -2,06482
 $END

16 MPI procesa: 16 MPI procesa × 1 čvor

#PBS -q cpu
#PBS -l select=1:mpiprocs=16:ncpus=16

export OMP_NUM_THREADS=1

cd ${PBS_O_WORKDIR}

module load scientific/gamess/22.09

rungms.mpi input.inp

16 MPI procesa: 4 MPI procesa × 4 čvora

#PBS -q cpu
#PBS -l select=4:mpiprocs=4:ncpus=4
#PBS -l place=scatter

export OMP_NUM_THREADS=1

cd ${PBS_O_WORKDIR}

module load scientific/gamess/22.09

rungms.mpi input.inp