Difference between revisions of "Espresso on CSC"

From ICPWiki
Jump to navigation Jump to search
 
(12 intermediate revisions by 3 users not shown)
Line 8: Line 8:
 
To be done.
 
To be done.
  
== CSC-II (drei.csc.uni-frankfurt.de) ===
+
== CSC-II (drei.csc.uni-frankfurt.de) ==
 
=== Compiling ===  
 
=== Compiling ===  
 
You have three different options of compiling Espresso on the CSC-II cluster.
 
You have three different options of compiling Espresso on the CSC-II cluster.
Line 38: Line 38:
 
                   CPPFLAGS="-I/opt/fftw3/include -I/opt/tcl8.4.9/include" \
 
                   CPPFLAGS="-I/opt/fftw3/include -I/opt/tcl8.4.9/include" \
 
                   LDFLAGS="-L/opt/fftw3/lib -L/opt/tcl8.4.9/lib"
 
                   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 ====
 
==== Multi Processor with Myrinet Communication ====
Line 76: Line 84:
 
  vi myconfig.h
 
  vi myconfig.h
 
3. Load needed modules & execute configure
 
3. Load needed modules & execute configure
  module add gcc fftw/gcc/64
+
  module add fftw/gcc/64/3.1.2
 
  $SRCDIR/configure --without-mpi
 
  $SRCDIR/configure --without-mpi
 
4. Build Espresso
 
4. Build Espresso
 
  make -j
 
  make -j
 +
  
 
==== Multi Processor with Ethernet Communication ====
 
==== Multi Processor with Ethernet Communication ====
Line 85: Line 94:
  
 
3. Load needed modules & execute configure
 
3. Load needed modules & execute configure
  module add fftw/gcc/64 mpich/ge/gcc/64
+
  module add fftw/gcc/64/3.1.2 default-ethernet
  $SRCDIR/configure --with-mpi=mpich \
+
  $SRCDIR/configure
    CC="/usr/local/Cluster-Apps/mpich/ge/gcc/64/1.2.7/bin/mpicc \
+
 
    CPPFLAGS="$CPPFLAGS -I/usr/local/Cluster-Apps/mpich/ge/gcc/64/1.2.7/include" \
+
==== Multi Processor with Ethernet Communication (for versions prior to v2.0)====
    LDFLAGS="$LDFLAGS -L/usr/local/Cluster-Apps/mpich/ge/gcc/64/1.2.7/lib"
+
 
 +
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 ====
 
==== Multi Processor with Myrinet Communication ====
Line 95: Line 112:
  
 
3. Load needed modules & execute configure
 
3. Load needed modules & execute configure
  module add fftw/gcc/64 mpich/mx/gcc/64 mx/64
+
  module add fftw/gcc/64/3.1.2 default-myrinet
$SRCDIR/configure --with-mpi=mpich \
+
$SRCDIR/configure
  CC="/usr/local/Cluster-Apps/mpich/mx/gcc/64/1.2.6..0.94/bin/mpicc" \
 
  CPPFLAGS="$CPPFLAGS -I/usr/local/Cluster-Apps/mpich/mx/gcc/64/1.2.6..0.94/include -I/usr/local/Cluster-Apps/mx/mx-1.1.1/include" \
 
  LDFLAGS="$LDFLAGS -L/usr/local/Cluster-Apps/mpich/mx/gcc/64/1.2.6..0.94/lib -L/usr/local/Cluster-Apps/mx/mx-1.1.1/lib" \
 
  LIBS="-lmyriexpress"
 
  
 
=== Running ===
 
=== Running ===
Line 107: Line 120:
  
 
==== Environment Variables ====
 
==== Environment Variables ====
You have to add the $ESPRESSO_SCRIPT varibale to your environment in order to make parallel jobs work, i.e.:
+
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_SOURCE=$HOME/source/Espresso
 
  export ESPRESSO_SCRIPTS=$ESPRESSO_SOURCE/scripts
 
  export ESPRESSO_SCRIPTS=$ESPRESSO_SOURCE/scripts
 
Furthermore, it advisable to include the following line, which lets you use the complete functionality of the queueing system.
 
 
module add torque maui
 
  
 
==== Sample script for queueing system ====
 
==== Sample script for queueing system ====
 
To be done
 
To be done

Latest revision as of 16:46, 28 June 2007

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