ELK

Licensing and Access

ELK is freely available under the GNU General Public License. Source code can be obtained via the ELK download webpage.

Running

To access the executables you should load the 'elk' module into your environment.

module load elk/2.3.22

An example OpenMP job script :

#!/bin/bash --login

# PBS job options (name, compute nodes, job time)
#PBS -N elk_omp
#PBS -l select=1
#PBS -l walltime=0:20:00

# Make sure you change this to your budget code
#PBS -A budget

# Load module for ELK
module load elk/2.3.22

# Move to directory that script was submitted from
export PBS_O_WORKDIR=$(readlink -f $PBS_O_WORKDIR)
cd $PBS_O_WORKDIR

# Set the number of threads to 12
export OMP_NUM_THREADS=12

# Launch the parallel job
#   Using 1 processes and 12 OpenMP threads
#  
# Replace elk_inputfile.in with your input file 

aprun -n 1 -d 12 elk elk_inputfile.in

An example MPI/OpenMP job script :

#!/bin/bash --login

# PBS job options (name, compute nodes, job time)
#PBS -N elk_mix
#PBS -l select=2
#PBS -l walltime=0:20:00

# Make sure you change this to your budget code
#PBS -A budget

# Load module for ELK
module load elk/2.3.22

# Make sure any symbolic links are resolved to absolute path
export PBS_O_WORKDIR=$(readlink -f $PBS_O_WORKDIR)               

# Change to the direcotry that the job was submitted from
# (remember this should be on the /work filesystem)
cd $PBS_O_WORKDIR

# Set the number of threads to 4
export OMP_NUM_THREADS=4

# Launch the parallel job
#   Using 2*6=12 MPI processes
#   6 MPI processes per node 
#   3 MPI processes per NUMA region
#   4 OpenMP threads per MPI process
#
# Replace elk_inputfile.in with your own input file

aprun -n 12 -N 6 -S 3 -d 4 elk elk_inputfile.in

Compiling

Compiling ELK