NWChem
These tests were performed on Taavare (16 procs and 64 GB RAM per node and with Infini band) in the year 2013. The input file can be found at this link. (http://www.nwchem-sw.org/images/Input_c240_pbe0.nw)
Performance with the above input file
64_proc - 972 sec
48_proc - 1202 sec
32_proc - 1761 sec
16_proc - 3366 sec
Performance when the memory of the above input file is changed.
64_proc + memory option removed - 1616 sec
64_proc + memory option and with "noverify" - 1609 sec
64_proc + memory total 20GB - 968 sec
64_proc + memory total 20GB - 974 sec
So, leaving memory option (as mentioned in the NWCHEM manual) is NOT GOOD. Give memory to get best performance depending on your system's memory.
Environment to create NWCHEM
This environment is created with the help of Karteek Kumar Bejagam. This may need to be changed to enhance the performance further. The below environment gave the performance similar to what NWCHEM website has mentioned.
export NWCHEM_TOP="/lustre/home/pati/Softwares/nwchem-6.3_2013-10-17"
export TARGET=LINUX64 # may not be required and it may be NWCHEM_TARGET
export LARGE_FILES=TRUE
export ENABLE_COMPONENT=yes
export TCGRSH=/usr/bin/ssh
export NWCHEM_TARGET=LINUX64
export NWCHEM_MODULES="all"
export LIB_DEFINES="-DDFLT_TOT_MEM=16777216"
export USE_MPI=y
export USE_MPIF=y
export USE_MPIF4=y
export IB_HOME=/usr
export IB_INCLUDE=$IB_HOME/include/infiniband
export IB_LIB=$IB_HOME/lib64
export IB_LIB_NAME="-libumad -libverbs -lpthread -lrt"
export ARMCI_NETWORK=OPENIB
#export ARMCI_NETWORK=MELLANOX
export MKL_INCLUDE=$MKLROOT/include/intel64/ilp64
export BLAS_LIB="-L$MKLROOT/lib/intel64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm"
export BLASOPT="$BLAS_LIB"
export BLAS_SIZE=8
export SCALAPACK_SIZE=8
export SCALAPACK="-L$MKLROOT/lib/intel64 -lmkl_scalapack_ilp64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lmkl_blacs_intelmpi_ilp64 -lpthread -lm"
export SCALAPACK_LIB="$SCALAPACK"
export USE_SCALAPACK=y
export MPI_HOME=/home/intel-2013/impi/4.1.0.024
export MPI_LOC=$MPI_HOME
export MPI_LIB=$MPI_LOC/lib64
export MPI_INCLUDE=$MPI_LOC/include64
export LIBMPI="-L/share/apps/intel/impi/4.1.0.024/intel64/lib -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /share/apps/intel/impi/4.1.0.024/intel64/lib -Xlinker -rpath -Xlinker /share/apps/intel/mpi-rt/4.1 -lmpi -lmpigf -lmpigi -lrt -lpthread -lmpi_ilp64"
export CXX=icpc
export CC=icc
export FC=ifort
export PYTHONPATH="/usr"
export PYTHONHOME="/usr"
export PYTHONVERSION="2.6"
export USE_PYTHON64=y
export PYTHONLIBTYPE=so
export MPICXX=mpiicpc
export MPICC=mpiicc
export MPIF77=mpiifort
make nwchem_config
nohup make > make.log &