...
GAMESS (General Atomic and Molecular Electronic Structure System) je ab initio računalno-kemijska aplikacija opće namjene te posjeduje za to sve uobičajene QM/MM metode poput HF, DFT, GVB, MCSCF i dr.
GAMESS je otvorenog koda, a koristi MPI paralelizaciju. Određeni izračuni dopuštaju i OpenMP (threaded) paralelizaciju.
Tip |
---|
GAMESS se na računalnom klasteru Supek pokreće prilagođenom |
Warning |
---|
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
Verzija | Modul | Podrška | Paralelizacija | Prevodioc | Knjižnice |
---|---|---|---|---|---|
September 30, 2022 R2 Public Release | scientific/gamess/22.09 | CPU | MPI + OpenMP | Cray | Cray |
Službena dokumentacija
Primjeri
Tip |
---|
Zbog načina kako je GAMESS osmišljen da radi, nužno je da na svakom čvoru ima jednak i paran broj MPI procesa. |
PBS varijable - resursi
Code Block | ||||
---|---|---|---|---|
| ||||
#PBS -l select=4:mpiprocs=4:ncpus=4:ompthreads=1
#PBS -l place=scatter |
Note |
---|
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:
place=scatter
će svaki chunk smjestiti na drugi čvor.place=pack
će svaki chunk smjestiti na isti čvor.place=free
će chunkove smjestiti na one čvorove koji su slobodni, bez konkretne pravilnosti.
Za svaki zapisani hostname, MPI pokretač mpiexec
će pokrenuti će po jedan MPI proces.
Ako nije eksplicitno definiran, podrazmijeva se mpiprocs=1
.
Warningtip |
---|
Kako bi se za svaki MPI proces dodjelila dodijelila po jedna CPU jezgra, nužno je da su vrijednosti |
Warning |
---|
OpenMP za svoju varijablu Ako Ukoliko ne koristite OpenMP, nužno je postaviti |
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
Code Block | ||||
---|---|---|---|---|
| ||||
#PBS -l select=4:mpiprocs=2
#PBS -l place=scatter |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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
Code Block | ||||
---|---|---|---|---|
| ||||
#PBS -l select=4:mpiprocs=2
#PBS -l place=pack |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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
Code Block | ||||
---|---|---|---|---|
| ||||
#PBS -l select=1:mpiprocs=8
#PBS -l place=pack |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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
Code Block | ||||
---|---|---|---|---|
| ||||
#PBS -l select=8
#PBS -l place=pack |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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.
Code Block | ||||
---|---|---|---|---|
| ||||
! 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 16 MPI procesa: 16 MPI procesa × 1 čvor
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#!/bin/bash #PBS -q cpu #PBS -l select=1:mpiprocs=16:ncpus=16:ompthreads=1 cd ${PBS_O_WORKDIR} module load scientific/gamess/22.09 rungms.mpi input.inp |
16 MPI procesa: 4 MPI procesa × 4 čvora
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#!/bin/bash #PBS -q cpu #PBS -l select=4:mpiprocs=4:ncpus=4:ompthreads=1 #PBS -l place=scatter cd ${PBS_O_WORKDIR} module load scientific/gamess/22.09 rungms.mpi input.inp |
...