Espresso on CSC

From ICPWiki
Jump to: navigation, search

Espresso on CSC

Here you can find a short introduction on how to compile and use ESPResSo on the CSC computer cluster.

CSC-I (login.csc.uni-frankfurt.de)

Compiling

To be done.

Running

To be done.

CSC-II (drei.csc.uni-frankfurt.de)

Compiling

You have three different options of compiling Espresso on the CSC-II cluster.

All three options assume that you want to use the recent way of configuring using object directories and have the Espresso sources in the following folder:

$SRCDIR = $HOME/src/Espresso

Single Processor

1. Create an object directory

mkdir ~/bin/Espresso/myobj-single
cd ~/bin/Espresso/myobj-single

2. Create and edit the configuation file 'myconfig.h'

cp $SRCDIR/myconfig-sample.h ./myconfig.h
vi myconfig.h

3. Execute configure

$SRCDIR/configure --without-mpi \
                  CPPFLAGS="-I/opt/fftw3/include -I/opt/tcl8.4.9/include" \
                  LDFLAGS="-L/opt/fftw3/lib -L/opt/tcl8.4.9/lib"

4. Build Espresso

make -j

Multi Processor with Ethernet Communication

As above but exchange step 3 by the following:

3. Execute configure

export PATH=/opt/mpich/gcc323/bin/:$PATH
$SRCDIR/configure --with-mpi=mpich \
                  CC="/opt/mpich/gcc323/bin/mpicc" \
                  CPPFLAGS="-I/opt/fftw3/include -I/opt/tcl8.4.9/include" \
                  LDFLAGS="-L/opt/fftw3/lib -L/opt/tcl8.4.9/lib"


Note that if you are compiling old version <2.0 then you might need to copy resulting Makefile.{ext} where {ext} is the name that configure script assigns. Also, make sure that correct mpirun is in the path (/opt/mpich/gcc323/bin/) following flags are needed;

./configure --with-mpi=mpich CC="/opt/mpich/gcc323/bin/mpicc" CPPFLAGS="-I/opt/fftw3/include -I/opt/tcl8.4.9/include -I/opt/mpich/gcc323/include/" LDFLAGS="-L/opt/fftw3/lib -L/opt/tcl8.4.9/lib -L/opt/mpich/gcc323/lib -lmpich -lmpe -lmpe_nompi -lfftw3" -prefix=/your/espresso/bin/path

Multi Processor with Myrinet Communication

As above but exchange step 3 with the following:

3. Execute configure

export PATH=/opt/mpich_gm/gcc323/bin/:$PATH
$SRCDIR/configure --with-mpi=mpich \
                  CC="/opt/mpich_gm/gcc323/bin/mpicc" \
                  CPPFLAGS="-I/opt/fftw3/include -I/opt/tcl8.4.9/include" \
                  LDFLAGS="-L/opt/fftw3/lib -L/opt/tcl8.4.9/lib"

Running

All jobs (even single processor jobs) have to be submitted to the queueing system. Do not run time consuming applications (i.e. any kind of simulation) on the head node. The myrinet partion is only available for jobs that request more than 2 CPUs.

Environment Variables

Make sure that you include

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/fftw3/lib:/opt/tcl8.4.9/lib

in your profile (i.e. ~/.bashrc) in order to find the libraries during runtime.

Sample script for queueing system

To be done

CSC-III (quad.csc.uni-frankfurt.de)

Compiling

You have three different options of compiling Espresso on the CSC-III cluster.

All three options assume that you want to use the recent way of configuring using object directories and have the Espresso sources in the following folder:

$SRCDIR = $HOME/src/Espresso

Single Processor

1. Create an object directory

mkdir ~/bin/Espresso/myobj-single
cd ~/bin/Espresso/myobj-single

2. Create and edit the configuation file 'myconfig.h'

cp $SRCDIR/myconfig-sample.h ./myconfig.h
vi myconfig.h

3. Load needed modules & execute configure

module add fftw/gcc/64/3.1.2
$SRCDIR/configure --without-mpi

4. Build Espresso

make -j


Multi Processor with Ethernet Communication

As above but exchange step 3 by the following:

3. Load needed modules & execute configure

module add fftw/gcc/64/3.1.2 default-ethernet
$SRCDIR/configure

Multi Processor with Ethernet Communication (for versions prior to v2.0)

These steps would be sufficient for your needs (change prefix with an appropriate path)

./configure CC="/usr/local/Cluster-Apps/lam/gcc/64/7.1.1/bin/mpicc" -with-mpi=lam   \
CFLAGS="-I/usr/local/Cluster-Apps/fftw/gcc/64/3.0.1/include" \ 
LDFLAGS="-L/usr/local/Cluster-Apps/fftw/gcc/64/3.0.1/lib -lfftw3" \
-prefix=/home/suzen/usr/local/bin
make 
make install

Multi Processor with Myrinet Communication

As above but exchange step 3 with the following:

3. Load needed modules & execute configure

module add fftw/gcc/64/3.1.2 default-myrinet
$SRCDIR/configure

Running

All jobs (even single processor jobs) have to be submitted to the queueing system. Do not run time consuming applications (i.e. any kind of simulation) on the head node. The myrinet partion is only available for jobs that request more than 4 CPUs.

Environment Variables

You have to add the $ESPRESSO_SCRIPT variable to your environment in order to make parallel jobs work, i.e.:

export ESPRESSO_SOURCE=$HOME/source/Espresso
export ESPRESSO_SCRIPTS=$ESPRESSO_SOURCE/scripts

Sample script for queueing system

To be done