ORCA
ORCA on ab initio -kvanttikemian ohjelmistopaketti, joka sisältää moderneja elektronirakennemenetelmiä, kuten tiheysfunktionaaliteorian, monikappalehäiriöteorian, coupled cluster -menetelmät, moniviitemenetelmät sekä semi-empiiriset kvanttikemian menetelmät. Sen pääasiallinen sovellusalue on suuremmat molekyylit, siirtymämetalli- kompleksit ja niiden spektroskooppiset ominaisuudet. ORCAa kehitetään Frank Neesen tutkimusryhmässä. Ilmainen versio on saatavilla vain akateemiseen käyttöön akateemisissa instituutioissa.
Saatavuus
- Roihu-CPU: 6.1.1
Huomaa, että lisenssisyistä jokaisen käyttäjän on asennettava oma kopionsa ohjelmasta.
Lisenssi
ORCAn käyttäjien tulee rekisteröityä, hyväksyä EULA, ladata ja asentaa ohjelmasta oma yksityinen kopio ( ORCA-foorumin verkkosivuston kautta). Ilmainen versio on saatavilla vain akateemiseen käyttöön akateemisissa instituutioissa.
Käyttö
- Lataa ORCA 6.1.1, Linux, x86-64, shared-version,
orca_6_1_1_linux_x86-64_shared_openmpi418_avx2.tar.xz - Siirrä ladattu tiedosto laskentaprojektisi sovellusalueelle
(
/projappl/<proj>/<user>/orca/) - Pura paketti:
mkdir -p /projappl/<project>/<user>/orca
cd /projappl/<project>/<user>/orca
tar xf orca_6_1_1_linux_x86-64_shared_openmpi418_avx2.tar.xz
Roihussa aseta ORCADIR ennen moduulin lataamista. Tällöin moduuli
lataa tarvittavat MPI-kirjastot (gcc/15.2.0, openmpi/5.0.10)
automaattisesti — manuaalisia moduulilatauksia ei tarvita.
Työt on lähetettävä CPU-kirjautumissolmulta (roihu-cpu).
Esimerkkiajoskriptit
Note
Aaltotoimintopohjaiset korrelaatiomenetelmät, sekä yhden viitteen että moniviitteen menetelmät, tuottavat usein huomattavan määrän levy-I/O:ta. Jotta työn suorituskyky olisi mahdollisimman hyvä ja Lustre-rinnakkaistiedostojärjestelmän ylimääräiseltä kuormitukselta vältyttäisiin, on suositeltavaa käyttää paikallista levyä silloin kun se on saatavilla.
Roihussa moduuli lataa MPI:n automaattisesti. mpirun-kääreskriptiä
ei tarvita. Aseta ORCADIR ennen moduulin lataamista. Täydellinen lista
käytettävissä olevista partitioista löytyy sivulta
Roihun eräajopartitiot.
Note
Laskentasolmujen paikalliset NVMe-levyt ovat käytettävissä muuttujan $TMPDIR kautta. "small"-partitiossa töillä on käytettävissä 20 GiB:n kiintiö, kun taas "medium"- solmuilla käytettävissä on 600 GiB. $TMPDIR-tallennustilaa ei tarvitse varata erikseen Slurmissa, jotta se olisi käytettävissä.
#!/bin/bash
#SBATCH --partition=small # see batch-job-partitions for all options
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=12
#SBATCH --mem-per-cpu=2667 # MB; total memory = nprocs * maxcore
#SBATCH --account=yourproject
#SBATCH --time=01:00:00
export ORCADIR=/projappl/<project>/<user>/orca/orca_6_1_1_linux_x86-64_shared_openmpi418_avx2
module purge
module load orca/6.1.1
${ORCADIR}/orca orca6.inp > orca6.out
Muisti — ORCAn %maxcore-direktiivi asettaa muistin MPI-prosessia kohti
megatavuina. Vastaavan --mem-per-cpu-arvon tulee olla sama:
Esimerkiksi 12 MPI-prosessilla ja 32 GB:n kokonaismuistilla:
%maxcore 2667 ja --mem-per-cpu=2667.
Työn valmistuttua tarkista todellinen muistinkäyttö komennolla:
Note
Muista säätää syötetiedostosi %pal nprocs pyydettyjen MPI-tehtävien
kokonaismäärän mukaan (--nodes × --ntasks-per-node).
Esimerkki skaalautuvuudesta
Seuraavat tulokset saatiin Roihussa naftaleenin
DLPNO-CCSD(T)/aug-cc-pVTZ-yksittäispistelaskennassa käyttäen
%maxcore 5000 (6 tehtävää: %maxcore 8000) M-solmulla Lustre scratchilla.
Työt ajettiin peräkkäin. Jaettujen solmujen seinäajat voivat vaihdella
samalle solmulle sijoitettujen töiden I/O- ja muistiväyläkiistan vuoksi.
| MPI tasks | Wall time | Peak scratch | MaxRSS total | %maxcore |
|---|---|---|---|---|
| 6 | 56 min | ~32 GB | 47 GiB | 8000 MB |
| 12 | 48 min | ~34 GB | 59 GiB | 5000 MB |
| 24 | 38 min | ~34 GB | 117 GiB | 5000 MB |
| 48 | 31 min | ~34 GB | 231 GiB | 5000 MB |
Syötetiedosto on saatavilla osoitteessa naphthalene_dlpno.inp.
DLPNO-CCSD(T) skaalautuu hyvin rinnakkaisesti tässä järjestelmässä. Scratch-levyn huippukäyttö (~34 GB) on käytännössä riippumaton ytimien määrästä — integraalien kokonaistyö määräytyy järjestelmän koon, ei prosessien lukumäärän mukaan. Muisti tehtävää kohti pienenee prosessien määrän kasvaessa, mikä heijastaa DLPNO:n aluejakoa.
Muistivaatimusten arviointi
ORCAn %maxcore asettaa muistin MPI-prosessia kohti megatavuina. Aseta
--mem-per-cpu vastaamaan sitä:
Valmistuneen ajon jälkeen tarkista todellinen muistinkäyttö komennolla:
Jaa MaxRSS MPI-tehtävien määrällä saadaksesi todellisen huippumuistin
prosessia kohti ja säädä %maxcore- ja --mem-per-cpu-arvoja sen mukaisesti.
Huomaa, että ORCA voi vaatia enemmän muistia prosessia kohti pienemmällä tehtävämäärällä
— jos pienennät %pal nprocs-arvoa, kasvata %maxcore-arvoa suhteellisesti.
Viitteet
ORCAn yleiset viitteet ovat:
- Frank Neese. The ORCA program system. Wiley Interdiscip. Rev. Comput. Mol. Sci., 2(1):73–78, 2012. doi:https://doi.wiley.com/10.1002/wcms.81.
- Frank Neese. Software update: the ORCA program system, version 4.0. Wiley Interdiscip. Rev. Comput. Mol. Sci., 8(1):e1327, 2018. doi:https://doi.wiley.com/10.1002/wcms.1327.
- Frank Neese, Frank Wennmohs, Ute Becker, and Christoph Riplinger. The ORCA quantum chemistry program package. J. Chem. Phys., 152(22):224108, 2020. doi:https://aip.scitation.org/doi/10.1063/5.0004608.
Älä viittaa ainoastaan yllä oleviin yleisiin viitteisiin, vaan viittaa lisäksi myös alkuperäisiin artikkeleihin, joissa kuvataan tutkimuksissasi käyttämiesi menetelmien kehitys ja ORCA-toteutus!
Lisätietoja
- ORCA Forum (kirjaudu samoilla tunnuksilla, joita käytit lataamiseen)
- ORCA 6 Changes
- ORCA 6 Manual
- ORCA 6 Tutorials
- ORCA YouTube channel
- ORCA Input Library, containing example inputs