ORCA je računalno-kemijska aplikacija općenitog tipa koji nudi širok raspon metoda.
ORCA je zatvorenog koda i dolazi s Open MPI implementacijom MPI-ja.
Verzija | Modul | Podrška | Paralelizacija | Supek | Padobran |
---|---|---|---|---|---|
4.2.1 | scientific/orca/4.2.1 | CPU | Open MPI 3 | ||
5.0.3 | scientific/orca/5.0.3 | CPU | Open MPI 4 | ||
5.0.4 | scientific/orca/5.0.4 | CPU | Open MPI 4 | ||
5.0.4 | scientific/orca/5.0.4-openmpi5 | CPU | Open MPI 5 |
ORCA dolazi u obliku prekompajliranih izvršnih datoteka koje se povezuju na Open MPI knjižnice. |
ORCA-u možete koristiti na jednak način na oba resursa. |
Zbog nemogućnosti starijih verzija Open MPI-ja da iskoriste puni potencijal Supekove Slingshot mreže, odnosno nemogućnosti širenja van jednog čvora u slučaju Padobrana, potrebno je aplikaciju zadržati unutar granica jednog čvora, koristeći PBS opciju:
To nije slučaj kod modula |
ORCA-ina varijabla Međutim, program može i zauzeti više od toga pa se savjetuje koristiti broj koji je oko 75% zatražene memorije (po selectu) u zaglavlju PBS skripte. |
${ORCA_ROOT}/orca
Broj procesorskih jezgri ili radne memorije u ulaznu (.inp
) datoteku možete unijeti ručno.
U primjeru niže, aplikacija će se pokrenuti sa 16 MPI procesa.
#PBS -q cpu #PBS -l select=16:mem=5000mb #PBS -l place=pack cd ${PBS_O_WORKDIR} module load scientific/orca/5.0.4 ${ORCA_ROOT}/orca hydrolysis.inp |
Prije pokretanja skripte, nužno je prilagoditi input datoteku:
!B3LYP DEF2-SVP D4 NEB-TS %pal nprocs 16 end %maxcore 3932 %NEB NEB_END_XYZFILE "products.xyz" PREOPT_ENDS TRUE END * XYZfile 0 1 reactants.xyz |
runorca.mpi
Kao jednostavnija alternativa, izrađena je skripta runorca.mpi
Skripta će prije pokretanja ORCA-ine izvršne datoteke izmijeniti input, odnosno njegove %pal
i %maxcore
linije u skladu sa zaglavljem, odnosno definiranim brojem procesorskih jezgara i memorijom (maxcore
vrijednost se automatski postavlja kao 75% mem
vrijednosti po procesorskoj jezgri). Iz tog razloga, te linije možete izostaviti iz "izvorne" input datoteke.
Uz to, skripta će implementirati korištenje TMPDIR
direktorija, što u slučaju Padobrana dodatno može značiti i postizanje boljih performansi.
#PBS -q cpu #PBS -l select=16:mem=5000mb #PBS -l place=pack cd ${PBS_O_WORKDIR} module load scientific/orca/5.0.4 runorca.mpi --input hydrolysis.inp |
!B3LYP DEF2-SVP D4 NEB-TS %NEB NEB_END_XYZFILE "products.xyz" PREOPT_ENDS TRUE END * XYZfile 0 1 reactants.xyz |
Niže su prikazani rezultati bencmarka za tipične ORCA izračune. Korišten je sustav uobičajene složenosti, odnosno organski spoj od stotinjak atoma.
Rezultati daju grubi uvid u skaliranje aplikacije, a mogu se tumačiti kao orijentacijske vrijednosti broja procesorskih (CPU) jezgri.
Skalabilnost značajnije pada nakon otprilike 16 jezgri (i ponekad ranije) za sustav tipične složenosti. Daljnje povećanje procesorskih jezgri dovodi do marginalnih povećanja performansi, a učinkovitost korištenja resursa pada. Stoga se preporuča koristiti manji broj jezgri i radije pokrenuti više poslova za isti set slobodnih resursa budući da se tako koristi učinkovitije. Dugoročno korištenje većeg broja CPU jezgri povećava Vaš udio CPU walltime-a u ukupnom (klasterskom) CPU walltime-u, što negativno utječe na Vaš fairshare udio. |
! B3LYP/G 6-31G** D3BJ ENGRAD
! B3LYP/G 6-31G** D3BJ FREQ
! B3LYP/G 6-311+G** D3BJ NMR
! B3LYP/G 6-31+G** D3BJ,
%tddft nroots=8 end