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 |
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. |
Verzija | Modul | Podrška | Paralelizacija | Prevodioc | Knjižnice | Supek | Padobran |
---|---|---|---|---|---|---|---|
September 30, 2022 R2 Public Release | scientific/gamess/22.09 | CPU | MPI + OpenMP | Cray | Cray |
#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:
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
.
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 Ako ne koristite OpenMP, nužno je u skripti dodatno definirati i |
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.
#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
).
#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
).
#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.
#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
.
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 |
#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 |
#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 |