Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Modified

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.

...

verzijamodul
paralelizacijauključuje thermo_pw
6.8scientific/qe/6.8-gnuCPUMPI + OpenMPv1.6.0
7.0scientific/qe/7.0-gnuCPUMPI + OpenMPv1.7.0
7.1scientific/qe/7.1-gnuCPUMPI + OpenMPv1.7.1
7.1scientific/qe/7.1-nvhpcGPU + CPUOpenMPv1.7.1

Službena dokumentacija

...

Tip

Kad u zaglavlju PBS skripte definirate vrijednost varijable ncpus, u okolinu se automatski doprema ista vrijednost OMP_NUM_THREADS varijable.

CPU

MPI + OpenMP

Budući da aplikacija podržava hibridnu paralelizaciju, MPI procese možete podijeliti na OpenMP threadove.

...

Code Block
languagebash
titlePBS skripta
linenumberstrue
#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
languagebash
titlePBS skripta
linenumberstrue
#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
languagebash
titleBash skripta
linenumberstrue
#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 gpu, odnosno definiranjem opcije -q gpu.


Code Block
languagebash
titleBash skripta
linenumberstrue
#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

...