DIRAC¶
Popis¶
Program DIRAC počíta molekulárne vlastnosti pomocou relativistických kvantovochemických metód. Pomenovaný je podľa P.A.M. Diraca, otca relativistickej teórie elektrónovej štruktúry.
Oficiálna dokumentácia¶
Dokumentáciu a návod pre používateľa nájdete na oficiálnej webovej stránke DIRAC.
Dostupné verzie¶
Aktuálne sú dostupné nasledujúce verzie DIRAC:
- Spúšťacie závislosti:
- Žiadne, požadované knižnice a závislosti sa načítajú automaticky spolu s modulom
DIRAC/22.0-foss-2021a.
- Žiadne, požadované knižnice a závislosti sa načítajú automaticky spolu s modulom
Modul DIRAC môžete načítať pomocou nasledujúceho príkazu:
module load DIRAC/22.0-foss-2021a
- Spúšťacie závislosti:
- Žiadne, požadované knižnice a závislosti sa načítajú automaticky spolu s modulom
DIRAC/25.0-intel-2022b-int64.
- Žiadne, požadované knižnice a závislosti sa načítajú automaticky spolu s modulom
Modul DIRAC môžete načítať pomocou nasledujúceho príkazu:
module load DIRAC/25.0-intel-2022b-int64
Táto verzia je zostavená s 64-bitovými celými číslami (int64), čo umožňuje alokovať väčšie množstvá pamäte.
DIRAC benchmark¶
Aby sme lepšie pochopili, ako DIRAC využíva dostupný hardvér na Devane a ako dosiahnuť dobrý výkon, môžeme preskúmať vplyv výberu počtu MPI rankov a OMP vlákien na uzol na výkon benchmarkov.
Na spustenie benchmarkov bol použitý nasledujúci príkaz:
export OMP_NUM_THREADS=$ntomp
pam-dirc --mpi=$ntmpi --ag=$mem_cpu --scratch=$dirac_dir --inp=$benchmark.inp --mol=$benchmark.mol
echo "scale=0; ($SLURM_MEM_PER_NODE / (64 / $ntomp))" | bc. Dočasný pracovný adresár dirac_dir bol nastavený na /scratch.
Benchmarky boli zmerané pre nasledujúce systémy:
pbf.mol
INTGRL
DHF energy calculation for Ba atom
dyall.v2z basis set
C 2 0 A
82. 1
Pb .0000000000 .0000000000 2.0575
LARGE BASIS dyall.cv2z
9. 1
F 0.0000000000 0.0000000000 0.00
LARGE BASIS dyall.cv2z
FINISH
pbf-ccsdt-505000-cv2z.inp
**DIRAC
.TITLE
PbF
.WAVE F
.4INDEX
**GENERAL
**INTEGRALS
.PRINT
1
*READIN
.UNCONTRACTED
**HAMILTONIAN
.X2C
*AMFI
.AMFICH
+6
**WAVE FUNCTIONS
.SCF
.RELCCSD
*SCF
.CLOSED SHELL
90
.OPEN SHELL
1
1/2
.MAXITR
200
.ERGCNV
1.0D-9 1.0D-9
.EVCCNV
5.0D-6 5.0D-6
.PRINT
1
**MOLTRA
.ACTIVE
energy -50.0 100.0 1.0
.PRINT
1
**RELCC
.NELEC
32 31
.ENERGY
.PRINT
1
*CCENER
.NTOL
9
.MAXIT
150
*END OF
SCF výpočet molekuly PbF s využitím 2-komponentného X2C Hamiltoniánu.
| Výkon na jednom uzle | Výkon na viacerých uzloch |
|---|---|
![]() |
![]() |
SCF výpočet molekuly PbF s využitím 4-komponentného Dirac-Coulombovho Hamiltoniánu (DCSSSS) v spojení s GAUNT korekciou interakcie dvoch elektrónov
| Výkon na jednom uzle | Výkon na viacerých uzloch |
|---|---|
![]() |
![]() |
Príklad spúšťacieho skriptu¶
Tento skript si môžete skopírovať a upraviť na dirac_run.sh a odoslať úlohu na výpočtový uzol príkazom sbatch dirac_run.sh.
#!/bin/bash
#SBATCH -J "dirac_job" # name of job in SLURM
#SBATCH --account=<project> # project account
#SBATCH --partition=long # selected partition, short, medium or long
#SBATCH --nodes=1 # number of used nodes
#SBATCH --ntasks= # number of mpi tasks (parallel run)
#SBATCH --cpus-per-task= # number of cpus per mpi task (parallel run)
#SBATCH --time=72:00:00 # time limit for a job
#SBATCH -o stdout.%J.out # standard output
#SBATCH -e stderr.%J.out # error output
#SBATCH --exclusive # exclusive run on node
module load DIRAC/22.0-foss-2021a
INPUT=dirac.inp # input file
MOL=dirac.xyz # xyz or mol file
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
mkdir -p /scratch/$SLURM_JOB_ACCOUNT/$SLURM_JOB_ID
pam-dirc --mpi=$SLURM_NTASKS --inp=$INPUT --scratch=/scratch/$SLURM_JOB_ACCOUNT/$SLURM_JOB_ID --mol=$MOL



