-
GPAW
GPAW
GPAW on tehokas ohjelmistopaketti elektronisen rakenteen laskentaan. Se perustuu tiheysfunktionaaliteoriaan (DFT), joka on toteutettu projector augmented wave (PAW) -menetelmällä, ja se voi hyödyntää erilaisia kantafunktiojoukkoja (tasaiset reaaliavaruushilat, tasoaallot, lokalisoidut atomiorbitaalit).
Ohjelmiston ominaisuuksia ovat muun muassa:
- kokonaisenergialaskut
- rakenneoptimoinnit
- erilaiset reunaehdot (äärellinen, lanka, laatta, bulkki)
- tehokas rinnakkaistaminen
- virittyneiden tilojen ominaisuudet aikariippuvaisen tiheysfunktionaaliteorian puitteissa
Saatavilla
- Puhti: 20.10.0, 21.1.0, 21.6.0, 22.1.0, 22.8.0
- Mahti: 20.10.0, 21.1.0, 21.6.0, 22.1.0, 22.8.0, 23.9.1, 24.1.0
- Tarkista kaikki saatavilla olevat versiot (ja oletusversio) komennolla
module avail gpaw - Moduuleissa, joiden lopussa on
-omp, valinnainen OpenMP-rinnakkaistus on käytössä, katso lisätietoja GPAW:n dokumentaatiosta rinnakkaisajoista.
PAW-asetukset
Kaikissa asennuksissa (paitsi versiossa 24.1.0) käytetään GPAW:n PAW-asetusten versiota 0.9.20000.
Lisenssi
GPAW on vapaata ohjelmistoa, joka on saatavilla GPL-lisenssillä, versio 3+.
Käyttö
Koska oletusversio, joka on saatavilla komennolla module load gpaw, voi
vaihtua uusien versioiden asennuksen yhteydessä, suosittelemme aina lataamaan
tietyn GPAW-version:
Huomio
CSC:n ympäristössä GPAW-laskennat ajetaan komennolla gpaw-python.
ELPAn käyttöönotto
Mahdissa GPAW voi käyttää ELPA-kirjastoa diagonalisaatiovaiheen nopeuttamiseen. Erityisesti LCAO-laskennoissa ELPA voi parantaa
suorituskykyä. Jotta ELPAa voidaan käyttää, asetus 'use_elpa' : True täytyy sisällyttää GPAW-syötteen rinnakkaistusasetuksiin
(katso lisätietoja GPAW:n dokumentaatiosta).
Eräajokomentosarjojen esimerkkejä
#!/bin/bash -l
#SBATCH --time=00:30:00
#SBATCH --partition=large
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=40
#SBATCH --mem-per-cpu=2GB
#SBATCH --account=<project>
##SBATCH --mail-type=END #uncomment to get mail
# this script runs a 80 core (2 full nodes) gpaw job, requesting
# 30 minutes time and 2 GB of memory for each core
module load gpaw/21.1.0
srun gpaw-python input.py
#!/bin/bash -l
#SBATCH --time=00:30:00
#SBATCH --partition=medium
#SBATCH --nodes=10
#SBATCH --ntasks-per-node=32
#SBATCH --cpus-per-task=4
#SBATCH --account=<project>
##SBATCH --mail-type=END #uncomment to get mail
# this script runs a 1280 core (10 full nodes) gpaw job, using hybrid
# MPI/OpenMP parallelization with 4 OpenMP threads per node,
# requesting 30 minutes time.
# Please experiment with optimum MPI task / OpenMP thread ratio with
# your particular input
# Note: only the modules with "-omp" ending supports OpenMP
# (default version in Mahti is OpenMP enabled)
module load gpaw/21.1.0-omp
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
srun gpaw-python input.py
#!/bin/bash -l
#SBATCH --time=00:30:00
#SBATCH --partition=medium
#SBATCH --nodes=10
#SBATCH --ntasks-per-node=128
#SBATCH --account=<project>
##SBATCH --mail-type=END #uncomment to get mail
# this script runs a 1280 core (10 full nodes) gpaw job, using pure
# MPI parallelization requesting 30 minutes time.
module load gpaw/21.1.0
export OMP_NUM_THREADS=1
srun gpaw-python input.py