Table of Contents |
---|
Opis
Quantum ESPRESSO je računalno-kemijska aplikacija koja je optimizirana za simulacije u fizici čvrstog stanja. Temelji se na teoriji funkcionala gustoće, a koristi se ravninskim valovima (engl. plane wave) koji se koriste za opisivanje ponašanja elektrona u čvrstom stanju.
...
verzija | modul | paralelizacija | uključuje thermo_pw | |
---|---|---|---|---|
6.8 | scientific/qe/6.8-gnu | CPU | MPI + OpenMP | v1.6.0 |
7.0 | scientific/qe/7.0-gnu | CPU | MPI + OpenMP | v1.7.0 |
7.1 | scientific/qe/7.1-gnu | CPU | MPI + OpenMP | v1.7.1 |
7.1 | scientific/qe/7.1-nvhpc | GPU + CPU | OpenMP | v1.7.1 |
Službena dokumentacija
...
Tip |
---|
Kad u zaglavlju PBS skripte definirate vrijednost varijable |
CPU
MPI + OpenMP
Budući da aplikacija podržava hibridnu paralelizaciju, MPI procese možete podijeliti na OpenMP threadove.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#PBS -N run-pw #PBS -q cpu #PBS -l select=8:ncpus=4 MPI_NUM_PROCESSES=$(cat ${PBS_NODEFILE} | wc -l) cd ${PBS_O_WORKDIR} module load scientific/qe/7.1-gnu mpiexec -n ${MPI_NUM_PROCESSES} -d ${OMP_NUM_THREADS} --cpu-bind depth pw.x -i calcite.in |
MPI
Ukoliko aplikaciju ne želite dijeliti aplikaciju u OpenMP threadove, možete koristiti paralelizaciju isključivo na razini MPI procesa.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#PBS -N run-pw #PBS -q cpu #PBS -l select=32:ncpus=1 MPI_NUM_PROCESSES=$(cat ${PBS_NODEFILE} | wc -l) cd ${PBS_O_WORKDIR} module load scientific/qe/7.1-gnu mpiexec -n ${MPI_NUM_PROCESSES} -d ${OMP_NUM_THREADS} --cpu-bind depth pw.x -i calcite.in |
OpenMP
Ukoliko aplikaciju želite dijeliti isključivo u OpenMP threadove, morate zatražiti jedan računalni čvor, budući da u ovom slučaju aplikacija radi s dijeljenom memorijom.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#PBS -N run-pw #PBS -q cpu #PBS -l select=1:ncpus=32 MPI_NUM_PROCESSES=$(catcd ${PBS_O_NODEFILE} | wc -l)WORKDIR} module load scientific/qe/7.1-gnu pw.x -i calcite.in |
GPU
OpenMP
Aplikacija može koristiti jedan grafički procesor koji se definira SGE opcijom ngpus
, dok se broj CPU jezgri definira se putem OpenMP dretvi, odnosno u zaglavlju SGE skripte odabirom vrijednosti ncpus
.
Pritom je važno da zatražite jedan računalni čvor tj. select=1
, budući da u ovom slučaju aplikacija radi s dijeljenom memorijom.
U primjeru niže, aplikacija će se pokrenuti s jednim grafičkim procesorom i 4 CPU jezgre.
Warning |
---|
GPU poslovi izvršavaju se u redu poslova |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#PBS -q gpu
#PBS -l select=1:ngpus=1:ncpus=4
#PBS -N run-pw
cd ${PBS_O_WORKDIR}
module load scientific/qe/7.1-gnu
pw.x -i calcite.in |
...