Table of Contents |
---|
Opis
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.
Verzije
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 |
Note |
---|
ORCA dolazi u obliku prekompajliranih izvršnih datoteka koje se povezuju na Open MPI knjižnice. |
Službena dokumentacija
- https://www.orcasoftware.de/tutorials_orca/#
- https://orcaforum.kofo.mpg.de/app.php/portal
- ORCA 5.0.4 priručnik
Primjeri korištenja na Supeku i Padobranu
Tip |
---|
ORCA-u možete koristiti na jednak način na oba resursa. |
Warning |
---|
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 |
Warning |
---|
ORCA-ina varijabla |
...
i primjenjuje |
...
se po procesorskoj jezgri. 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. |
Pokretanje s ${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.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#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:
Code Block | ||||
---|---|---|---|---|
| ||||
!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 |
Pokretanje s 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.
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#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 |
...
Code Block | ||
---|---|---|
|
Skripta će prije pokretanja ORCA-ine izvršne datoteke izmijeniti input u skladu sa zaglavljem i traženom MaxCore vrijednošću, pa %pal
i %maxcore
sekcije možete izostaviti iz "izvorne" input datoteke.
Skripta će implementirati korištenje TMPDIR
direktorija, što u slučaju Padobrana dodatno može značiti i postizanje boljih performansi.
...
| |||
!B3LYP DEF2-SVP D4 NEB-TS
%NEB
NEB_END_XYZFILE "products.xyz"
PREOPT_ENDS TRUE
END
* XYZfile 0 1 reactants.xyz |
Skaliranje
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.
Tip |
---|
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. |