Περιγραφή¶
Quantum Espresso is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale.
Quantum Espresso 7.2.0¶
Παράδειγμα χρήσης¶
Το script υποβολής της εργασίας, έστω QE-7.2.0-case.sh
, θα έχει την ακόλουθη μορφή:
SLURM submission script
#!/bin/bash
#SBATCH --job-name=QE-7.2.0-case
#SBATCH --partition=batch
#SBATCH --ntasks=40
#SBATCH --time=20:00
module load intel/2021.5.0-12.2.0 intel-oneapi-mpi/2021.9.0-stjyqgr
module load quantum-espresso/7.2-jnqwg4m
export ESPRESSO_PSEUDO=$PWD
echo "running the geometry relaxation for CO...\c"
echo "Run starts : `date +'%Y-%m-%d %H:%M:%S:%N '` "
echo "Running Quantum Espresso with" $SLURM_NTASKS "MPI tasks"
time mpiexec pw.x < co.rx.in > output.log
echo "Run ends : `date +'%Y-%m-%d %H:%M:%S:%N '` "
Στο $HOME
μας στο login node, δημιουργούμε ένα νέο φάκελο
# mkdir QE-7.2.0-case
# cd QE-7.2.0-case
όπου τοποθετούμε τα παρακάτω αρχεία εισόδου:
Η υποβολή της εργασίας γίνεται με την εντολή sbatch <filename.sh>
ως εξής:
# sbatch QE-7.2.0-case.sh
Παρακολουθούμε με την εντολή squeue
την εξέλιξη της εργασίας.
Eφόσον η εργασία έχει εκκινήσει μπορούμε να ελέγχουμε την πρόοδο της επίλυσης μέσω των αρχείων εξόδου. Π.χ.:
# tail -f output.log
Πληροφορίες εγκατάστασης¶
Για την εγκατάσταση έχουν χρησιμοποιηθεί τα εξής λογισμικά:
intel/2021.5.0-12.2.0
intel-oneapi-mpi/2021.9.0-stjyqgr
Χρήση με THERMO_PW 1.8.1¶
THERMO PW 1.8.1
Thermo_pw reads the same input as the pw.x code of QE and produces postscript figures of some material properties.
Τα example scripts του thermo_pw μπορούν να χρησιμοποιηθούν στην συστοιχία ακολουθώντας την παρακάτω διαδικασία.
Δημιουργούμε ένα νέο φάκελο, όπου αντιγράφουμε τα examples του thermo_pw τα οποία περιλαμβάνουν τα αρχεία environment_variables
και thermo_pw.sh
:
# mkdir thermo_pw
# module load intel/2021.5.0-12.2.0 intel-oneapi-mpi/2021.9.0-stjyqgr
# module load quantum-espresso/7.2-jnqwg4m
# cp -r $QUANTUM_ESPRESSO_ROOT/examples thermo_pw_examples
Για να προχωρήσουμε στην υποβολή μίας εργασίας που τρέχει το run_example script του example01
εκτελούμε τις παρακάτω εντολές:
# cd thermo_pw_examples/example01
# sbatch thermo_pw.sh
Eφόσον η εργασία έχει εκκινήσει μπορούμε να ελέγχουμε την πρόοδο της επίλυσης μέσω των αρχείων εξόδου. Π.χ.:
# tail -f output.log
Παλαιότερες εκδόσεις QE + ThermoPW¶
Εκτός από την έκδοση Quantum Espresso 7.2 και ThermoPW 1.8.1, διατίθενται και οι εξής παλαιότερες εκδόσεις:
Quantum Espresso 7.1.0 και ThermoPW 1.7.1
- Module files:
# module load gcc/9.4.0 openmpi/4.1.2-nfk6aky # module load quantum-espresso/7.1-jzwixr3
- Για την εγκατάσταση έχουν χρησιμοποιηθεί τα εξής λογισμικά:
gcc/9.4.0
openmpi/4.1.2
Παράδειγμα submission script: QE-7.1.0-case.sh
:
#!/bin/bash
#SBATCH --job-name=QE-7.1.0-case
#SBATCH --partition=batch
#SBATCH --ntasks=40
#SBATCH --time=20:00
module load gcc/9.4.0 openmpi/4.1.2-nfk6aky quantum-espresso/7.1-jzwixr3
export ESPRESSO_PSEUDO=$PWD
echo "running the geometry relaxation for CO...\c"
echo "Run starts : `date +'%Y-%m-%d %H:%M:%S:%N '` "
echo "Running Quantum Espresso with" $SLURM_NTASKS "MPI tasks"
time srun pw.x < co.rx.in > output.log
echo "Run ends : `date +'%Y-%m-%d %H:%M:%S:%N '` "
Quantum Espresso 6.7.0 και ThermoPW 1.4.1
- Module files:
# module load gcc/10.2.0 mvapich2/2.3.4 # module load quantum-espresso/6.7.0
- Για την εγκατάσταση έχουν χρησιμοποιηθεί οι εξής μεταγλωττιστές:
gcc/10.2.0
mvapich2/2.3.4
openblas/0.3.12
netlib-scalapack/2.1.0
fftw/3.3.8
- Για την γραμμική άλγεβρα και τον διακριτό μετασχηματισμό Fourier χρησιμοποιήθηκε η βιβλιοθήκη:
intel-mkl-2020.3.279
Παράδειγμα submission script: QE-6.7.0-case.sh
#!/bin/bash
#SBATCH --job-name=QE-6.7.0-case
#SBATCH --partition=batch
#SBATCH --ntasks-per-node=20
#SBATCH --nodes=2
#SBATCH --time=20:00
module load gcc/10.2.0 mvapich2/2.3.4
module load quantum-espresso/6.7.0
export ESPRESSO_PSEUDO=$PWD
echo "running the geometry relaxation for CO...\c"
echo "Run starts : `date +'%Y-%m-%d %H:%M:%S:%N '` "
echo "Running Quantum Espresso with" $SLURM_NTASKS "MPI tasks"
time srun pw.x < co.rx.in > output.log
echo "Run ends : `date +'%Y-%m-%d %H:%M:%S:%N '` "
Quantum Espresso 7.3.0 (GPU Accelerated)¶
Παράδειγμα χρήσης¶
Το script υποβολής της εργασίας, έστω QE-7.3.0-GPU-case.sh
, θα έχει την ακόλουθη μορφή:
SLURM submission script
#!/bin/bash
#SBATCH --job-name=QE-7.3.0-GPU-case
#SBATCH --partition=ampere
#SBATCH --time=10:00
#SBATCH --gres=gpu:1 # Select N=1,2,...,8 GPUS
#SBATCH --ntasks=1 # Allocate 1 task per GPU
# for optimal performance
module load centos8 nvhpc/23.11 openmpi/4.1.6
module load quantum-espresso/7.3
export ESPRESSO_PSEUDO="${PWD}"
echo "running the geometry relaxation for CO...\c"
echo "Run starts : `date +'%Y-%m-%d %H:%M:%S:%N '` "
echo "Running Quantum Espresso with" $SLURM_NTASKS "MPI tasks"
# Optional: Disable NVFORTRAN warning
# https://docs.nvidia.com/hpc-sdk/compilers/hpc-compilers-user-guide/index.html#env-vars-nv-no-stop-msg
export NO_STOP_MESSAGE=yes
time srun pw.x < co.rx.in > output.log
echo "Run ends : `date +'%Y-%m-%d %H:%M:%S:%N '` "
Στο $HOME
μας στο login node, δημιουργούμε ένα νέο φάκελο
# mkdir QE-7.3.0-GPU
# cd QE-7.3.0-GPU
όπου τοποθετούμε τα παρακάτω αρχεία εισόδου:
Η υποβολή της εργασίας γίνεται με την εντολή sbatch <filename.sh>
ως εξής:
# sbatch QE-7.3.0-GPU-case.sh
Παρακολουθούμε με την εντολή squeue
την εξέλιξη της εργασίας.
Eφόσον η εργασία έχει εκκινήσει μπορούμε να ελέγχουμε την πρόοδο της επίλυσης μέσω των αρχείων εξόδου. Π.χ.:
# tail -f output.log
Πληροφορίες εγκατάστασης¶
Για την εγκατάσταση έχουν χρησιμοποιηθεί τα εξής λογισμικά:
- NVIDIA SDK 23.11 (
nvhpc/23.11
) - CUDA Toolkit 11.8.0 (
cuda/11.8.0
) - OpenMPI 4.1.6 with CUDA support (
openmpi/4.1.6
) - FFTW3 (
fftw/3.3.10
)
Χρήσιμες πληροφορίες¶
Το αρχείο εισόδου για αυτό το test case έχει δημιουργηθεί με βάση το παράδειγμα example02 του Quantum Espresso.
Περισσότερα παραδείγματα μπορείτε να βρείτε εδώ.
Αρχεία pseudopotentials μπορείτε να αναζητήσετε εδώ.