Skip to content

ReSpect

Description

ReSpect is a computer simulation program for relativistic calculations of spectroscopic properties of atoms and molecules combining fully relativistic (four-component) Dirac approach with all-electron Kohn-Sham density functional theory. The program also provides in-built all-electron basis sets of Gaussian-Type Orbitals (GTOs) suitable for relativistic calculations of elements across the periodic table (Z=1-118).

Versions

Following versions of ReSpect package are currently available:

  • Runtime dependencies:

You can load selected version (also with runtime dependencies) as a one module by following command:

   module load ReSpect/5.2.0


User guide

Software documentation and user guide can be found on the official ReSpect website.

Benchmarking ReSpect

In order to better understand how ReSpect utilises the available hardware on Devana and how to get good performance we can examine the effect on benchmark performance of the choice of the number of OMP threads. Since the ReSpect comes as precompiled binaries without MPI support, its performance deteriorates when utilizing more than MPI rank. Thus the only performance gain can be achieved with an increased number of utilized OMP threads.

Following command has been used to run the benchmarks:

    /storage-apps/ReSpect-5.2.0/respect --nt=$SLURM_CPUS_PER_TASK --scf --inp=$trajectory --scratch=$work_dir 

Info

Benchmarks have been run on local /work/ storage native to each compute node, which are generally faster than shared storage hosting /home/ and /scratch/ directories.

Benchmarks have been made on C12 PBE0/ucc-pvtz benzene dimer and C36 PBE0/ucc-pvtz fullerene:

C12 PBE0/ucc-pvtz C36 PBE0/ucc-pvtz
Respect_C12 Respect C36

Numerical values for the benchmark for 1 and 4 MPI ranks are as follows:

MPI/OMP 1 2 4 8 16 32 64
1 56029 28718 14934 7971 4484 2340 1266
4 115028 116937 28467 14475 7500

Numerical values for the benchmark for 1 and 4 MPI ranks are as follows:

MPI/OMP 1 2 4 8 16 32 64
1 2253 1138 573 430 230 106 62
4 9004 4564 2316 1179 317

Info

Running ReSpect on multiple nodes is not possible due to missing MPI parallelization.

Example run script

You can copy and modify this script to respect_run.sh and submit job to a compute node by command sbatch respect_run.sh.

#!/bin/bash
#SBATCH -J "respect_job     # name of job in SLURM
#SBATCH --account=<project> # project number
#SBATCH --partition=        # selected partition (short, medium, long)
#SBATCH --ntasks=1      # number of mpi ranks
#SBATCH --cpus-per-node=    # number of omp threads
#SBATCH --time=hh:mm:ss     # time limit for a job
#SBATCH -o stdout.%J.out    # standard output
#SBATCH -e stderr.%J.out    # error output

# Load module
module load ReSpect/5.2.0

# Input
INPUT=

# Define locations
INIT_DIR=`pwd`
SCRATCH=/scratch/$USER/ReSpect/$SLURM_JOB_ID

# Create working directory and copy input files
mkdir -p $SCRATCH
cp $INIT_DIR/$INPUT.inp $SCRATCH/.

cd $SCRATCH

# Run ReSpect
/storage-apps/ReSpect-5.2.0/respect --nt=$SLURM_CPUS_PER_TASK --scf --inp=C36_respect --scratch=$SCRATCH
Created by: Martin Blaško