Hyppää sisältöön

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:

--mem-per-cpu (MB) = %maxcore

Esimerkiksi 12 MPI-prosessilla ja 32 GB:n kokonaismuistilla: %maxcore 2667 ja --mem-per-cpu=2667.

Työn valmistuttua tarkista todellinen muistinkäyttö komennolla:

sacct -j <jobid> --format=JobID,MaxRSS,Elapsed,State

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ä:

--mem-per-cpu (MB) = %maxcore

Valmistuneen ajon jälkeen tarkista todellinen muistinkäyttö komennolla:

sacct -j <jobid> --format=JobID,MaxRSS,Elapsed,State

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:

Ä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

Onko tämä sivu hyödyllinen?
Kiitos palautteestasi!
Kiitos! Arvostamme palautettasi.

Kerro meille miten voisimme parantaa tätä sivua ottamalla meihin yhteyttä .