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.
Quantum ESPRESSO je aplikacija otvorenog koda, a podržava hibridnu paralelizaciju, MPI + OpenMP,kao i upotrebu grafičkih procesora.
Verzije
verzija | modul | prevodioc | podrška | paralelizacija | uključuje thermo_pw |
---|---|---|---|---|---|
6.8 | scientific/qe/6.8-gnu | GNU | CPU | MPI + OpenMP | v1.6.0 |
scientific/qe/6.8-intel | Intel + MKL | ||||
7.0 | scientific/qe/7.0-gnu | GNU | CPU | MPI + OpenMP | v1.7.0 |
scientific/qe/7.0-intel | Intel + MKL | ||||
7.1 | scientific/qe/7.1-gnu | GNU | CPU | MPI + OpenMP | v1.7.1 |
scientific/qe/7.1-intel | Intel + MKL | ||||
scientific/qe/7.1-nvhpc | NVIDIA HPC | GPU + CPU | OpenMP | ||
7.2 | scientific/qe/7.2-gnu | GNU | CPU | MPI + OpenMP | - |
scientific/qe/7.2-intel | Intel + MKL | ||||
scientific/qe/7.2-gnu+mkl | GNU + MKL | ||||
scientific/qe/7.2-nvhpc | NVIDIA HPC | GPU + CPU | OpenMP |
Službena dokumentacija
Primjeri
Napomene
Tip |
---|
Kad u zaglavlju PBS skripte definirate vrijednost varijable |
Warning |
---|
Podrazumijevano PBS ponašanje je „slobodno" razmještanje chunkova po slobodnim čvorovima. Zbog aktualnog cray-pals buga, trenutno je limitiran broj poslova koje se mogu širiti van čvora kad koriste Cray-ev mpiexec. Ako Vaš posao prijeđe taj limit te proširi svoje MPI procese na druge čvorove, prekinut će se. Kako bi sigurno izbjegli bug, potrebno je sve MPI procese smjestiti na isti čvor. Najjednostavniji način je korištenjem opcije |
Tip |
---|
Kad u zaglavlju PBS skripte definirate vrijednost varijable |
Tip |
---|
MPI pokretač za GNU verzije:
|
Tip |
MPI pokretač za Intel verzije:
|
CPU
MPI
+ OpenMPAko aplikaciju ne želite dijeliti aplikaciju u OpenMP threadove, možete koristiti paralelizaciju isključivo na razini MPI procesaBudući da aplikacija podržava hibridnu paralelizaciju, MPI procese možete podijeliti na OpenMP threadove.
U primjeru niže, aplikacija će
stvoriti 8pokrenuti 32 MPI procesa
, podijeljenih u 4 OpenMP threada.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#PBS -q cpu #PBS -l select=8:ncpus=432 #PBS -l place=pack cd ${PBS_O_WORKDIR} module load scientific/qe/7.1-gnu mpiexec -d ${OMP_NUM_THREADS} --cpu-bind depth pw.x -i calcite.in |
OpenMP
Ako aplikaciju ne želite dijeliti aplikaciju isključivo u OpenMP threadove, možete koristiti paralelizaciju isključivo na razini MPI procesamorate zatražiti jedan računalni čvor, budući da u ovom slučaju aplikacija radi s dijeljenom memorijom.
U primjeru niže, aplikacija će se pokrenuti s 32 MPI procesaOpenMP threada.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#PBS -q cpu #PBS -l selectncpus=32 #PBS -l place=pack cd ${PBS_O_WORKDIR} module load scientific/qe/7.1-gnu mpiexec pw.x -i calcite.in |
OpenMP
Ako 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.
Tip |
---|
QE će vrijednost |
MPI + OpenMP
Budući da aplikacija podržava hibridnu paralelizaciju, MPI procese možete podijeliti na OpenMP threadove.
U primjeru niže, aplikacija će
se pokrenuti s 32stvoriti 8 MPI procesa, podijeljenih u 4 OpenMP threada.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#PBS -q cpu #PBS -l select=8:ncpus=324 #PBS -l place=pack cd ${PBS_O_WORKDIR} module load scientific/qe/7.1-gnu mpiexec -d ${OMP_NUM_THREADS} --cpu-bind depth pw.x -i calcite.in |
GPU
Single GPU
Aplikacija može koristiti jedan grafički procesor koji se definira SGE opcijom ngpus
, a koja će u okolinu izvesti varijablu CUDA_VISIBLE_DEVICES
, čija će vrijednost biti UUID grafičkog procesora koji Vam je sustav dodijelio.
Broj CPU jezgri definira se putem OpenMP dretvi, odnosno u zaglavlju SGE skripte odabirom vrijednosti ncpus
.
U primjeru niže, aplikacija će se pokrenuti s jednim grafičkim procesorom i 4 CPU jezgre.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
#PBS -q gpu #PBS -l select=1:ngpus=1:ncpus=1 cd ${PBS_O_WORKDIR} module load scientific/qe/7.1-nvhpc pw.x -i calcite.in |