quantum-espresso/install
giannozz e49ce4528a Module mpi used in elpa was confusing the script that finds dependencies
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@9458 c92efa57-630b-4861-b058-cf58834340f0
2012-09-29 11:05:45 +00:00
..
Make.BGP eliminated Multigrid dep in Make.something in dir install 2011-03-24 15:44:01 +00:00
Make.BGP-openMP eliminated Multigrid dep in Make.something in dir install 2011-03-24 15:44:01 +00:00
Make.BGP-openMP+FFTW Recent make.sys sample for BG, may be useful 2012-06-28 15:44:23 +00:00
Make.altix eliminated Multigrid dep in Make.something in dir install 2011-03-24 15:44:01 +00:00
Make.cray-xt4 Minor addition to installation system: makefile for cray-xt4 with openmp, 2010-02-25 20:29:47 +00:00
Makefile_iotk extlibs deleted moved to archive and main install 2012-01-03 11:33:44 +00:00
Makefile_lapack extlibs deleted moved to archive and main install 2012-01-03 11:33:44 +00:00
Makefile_lapack_testing_lin extlibs deleted moved to archive and main install 2012-01-03 11:33:44 +00:00
README.CINECA_fermi Added the two available sets of instructions for specific HPC machines, 2012-09-13 09:56:22 +00:00
README.CSCS_rosa Added the two available sets of instructions for specific HPC machines, 2012-09-13 09:56:22 +00:00
clean.sh An error in previous commit. 2012-08-20 15:29:26 +00:00
config.guess More minor tweaking: obsolete or useless variables removed, 2006-09-21 20:07:55 +00:00
config.sub added autoconf-based configure (file "configure.new") and related files 2003-11-13 13:35:10 +00:00
configure Correction to a previous commit (now it integrates ELPA updated with revision 9449 2012-09-26 15:53:20 +00:00
configure.ac Correction to a previous commit (now it integrates ELPA updated with revision 9449 2012-09-26 15:53:20 +00:00
configure.msg.in - better support for SCALAPACK library. 2009-08-20 13:24:31 +00:00
extlibs_makefile extlibs deleted moved to archive and main install 2012-01-03 11:33:44 +00:00
includedep.sh More miscellanous cleanup from Axel: 2006-12-12 11:02:09 +00:00
install-sh added autoconf-based configure (file "configure.new") and related files 2003-11-13 13:35:10 +00:00
iotk_config.h extlibs deleted moved to archive and main install 2012-01-03 11:33:44 +00:00
make.sys.in wget or curl auto-detected by configure. Not sure it always works. 2011-12-14 14:33:34 +00:00
make_blas.inc.in extlibs deleted moved to archive and main install 2012-01-03 11:33:44 +00:00
make_lapack.inc.in extlibs deleted moved to archive and main install 2012-01-03 11:33:44 +00:00
make_wannier90.sys.in make_wannier90.sys.in added to dir install 2010-11-23 11:57:58 +00:00
makedeps.sh Module mpi used in elpa was confusing the script that finds dependencies 2012-09-29 11:05:45 +00:00
moduledep.sh More miscellanous cleanup from Axel: 2006-12-12 11:02:09 +00:00
namedep.sh More miscellanous cleanup from Axel: 2006-12-12 11:02:09 +00:00
plugins_list plugin_list now new url 2012-08-28 13:00:27 +00:00
plugins_makefile Instances of "test ! -e" (true if file does not exist) replaced with "test ! -s" (true if file does not exist, or is empty). This should mitigate the recent problems with empty archives. Tested on SUSE and AIX. 2012-08-22 13:53:59 +00:00
update_version IBM machines do not like "diff -q" 2012-07-20 13:37:00 +00:00

README.CSCS_rosa

Info by Filippo Spiga, Sept. 2012, valid for QE v.5.0.x on machine
MonteRosa (Cray XE6) at CSCS, Lugano:

1. Use PGI compilers by loading the module (module load pgi) just
after the login. Always do that in order to properly export the
environment
2. Use always a hybrid code. The reason is that there are 1 Gbyte
RAM/core and if you put  32 MPI in a single node you are going to
stress the Gemini interconnection. (--enable-openmp)
3. Use ScaLAPACK (--with-scalapack), let the configure detect and use
the default (it will be the CRAY libsci, the make.sys will not show
anything because everything is done by the CRAY wrapper ftn/cc)
4. Always add "ARCH=crayxt" to the configure line before run the
configure in order to properly detect and manage CRAY ftn/cc wrappers:
   ./configure --enable-openmp --enable-parallel --with-scalapack
5. Add manually after the configure "-D__IOTK_WORKAROUND1" in DFLAGS.
This because IOTK has problems with PGI 12.x. This is a mandatory
step.
6. make all (-:

I do not have enough information about single-node performance but I
will suggest to place no more than 16 MPI per node. I usually put 8 or
4.

I use this script for example (6400 cores, 800 MPI, 8 MPI per node, 4
OMP per MPI thread)

#SBATCH --job-name="QE-BENCH-SPIGA"
#SBATCH --nodes=200
#SBATCH --ntasks-per-node=8
#SBATCH --cpus-per-task=4
#SBATCH --time=06:00:00
#SBATCH --output=QE-BENCH.%j.o
#SBATCH --error=QE-BENCH.%j.e
#SBATCH --account=g36

#module load slurm
echo "The current job ID is $SLURM_JOB_ID"
echo "Running on $SLURM_NNODES nodes"
echo "Using $SLURM_NTASKS_PER_NODE tasks per node"
echo "A total of $SLURM_NPROCS tasks is used"

export OMP_NUM_THREADS=4
aprun -n $SLURM_NPROCS -N 8 -d 4 ./pw.x -input SiGe25.in -npool 4 |
tee out.K-REDUCED.MPI-${SLURM_NPROCS}.OMP-${OMP_NUM_THREADS}.NPOOL-4

or this (6400 cores, 800 MPI, 4 MPI per node, 8 OMP per MPI thread)

#!/bin/bash
#SBATCH --job-name="QE-BENCH-SPIGA"
#SBATCH --nodes=200
#SBATCH --ntasks-per-node=4
#SBATCH --cpus-per-task=8
#SBATCH --time=06:00:00
#SBATCH --output=QE-BENCH.%j.o
#SBATCH --error=QE-BENCH.%j.e
#SBATCH --account=g36

echo "The current job ID is $SLURM_JOB_ID"
echo "Running on $SLURM_NNODES nodes"
echo "Using $SLURM_NTASKS_PER_NODE tasks per node"
echo "A total of $SLURM_NPROCS tasks is used"

export OMP_NUM_THREADS=8
aprun -n $SLURM_NPROCS -N 4 -d 8 ./pw.x -input SiGe25.in -npool 4 |
tee out.K-REDUCED.MPI-${SLURM_NPROCS}.OMP-${OMP_NUM_THREADS}.NPOOL-4