Building NWChem 6.1 with Intel 11.1 and Openmpi 1.6 on a IB cluster running CentOS 6.2


Click here for full thread
Just Got Here
intel 12.1 (update 4) worked like a charm & question about possible alternative to .nwchemrc file
Hello Edo,

Thanks so much for your reply. I have not yet tried what you suggested but yesterday, after installing the latest update of the intel compiler (12.1.4), rebuilding the latest openmpi (1.6) with it, nwchem compiled as is with no problem after just the first attempt (!!!).

For posterity, here is the script I used:

#################################
#!/bin/bash

. /u/local/Modules/default/init/modules.sh
module load intel/12.1 openmpi/1.6
module li

export NWCHEM_TOP=/u/local/downloads/nwchem/nwchem-6.1
export NWCHEM_TARGET=LINUX64
echo "NWCHEM_TOP=$NWCHEM_TOP"
echo "NWCHEM_TARGET=$NWCHEM_TARGET"


export ARMCI_NETWORK=OPENIB
export IB_HOME=/usr
export IB_INCLUDE=/usr/include/infiniband/
export IB_LIB=/usr/lib64
#export IB_LIB_NAME="-lrdmacm -libumad -libverbs -ldl -lpthread -lm -Wl,--export-dynamic -lrt -lnsl -lutil"
export IB_LIB_NAME="-lrdmacm -libverbs -lrt -lnsl -lutil -ldl -lm -Wl,--export-dynamic -lrt -lnsl -lutil"
export MSG_COMMS=MPI
export TCGRSH=/usr/bin/ssh
echo "ARMCI_NETWORK=$ARMCI_NETWORK"
echo "IB_HOME=$IB_HOME"
echo "IB_INCLUDE=$IB_INCLUDE"
echo "IB_LIB=$IB_LIB"
echo "IB_LIB_NAME=$IB_LIB_NAME"
echo "MSG_COMMS=$MSG_COMMS"
echo "TCGRSH=$TCGRSH"

export USE_MPI=y
export USE_MPIF=y
export USE_MPIF4=y
export MPI_LOC=/u/local/intel/12.1/openmpi/1.6.0
export MPI_LIB=$MPI_LOC/lib
export MPI_INCLUDE=$MPI_LOC/include
export LIBMPI="-lpthread -L$MPI_LIB -lmpi_f90 -lmpi_f77 -lmpi"
echo "USE_MPI=$USE_MPI"
echo "USE_MPIF=$USE_MPIF"
echo "USE_MPIF4=$USE_MPIF4"
echo "MPI_LOC=$MPI_LOC"
echo "MPI_LIB=$MPI_LIB"
echo "export MPI_INCLUDE=$export MPI_INCLUDE"
echo "LIBMPI=$LIBMPI"

export NWCHEM_MODULES="all python"
export LARGE_FILES=TRUE
export USE_NOFSCHECK=TRUE
export LIB_DEFINES=-DDFLT_TOT_MEM=16777216
echo "NWCHEM_MODULES=$NWCHEM_MODULES"
echo "LARGE_FILES=$LARGE_FILES"
echo "LARGE_FILES=$LARGE_FILES"
echo "LIB_DEFINES=$LIB_DEFINES"

export PYTHONHOME=/usr
export PYTHONVERSION=2.6
export USE_PYTHON64=y
export PYTHONLIBTYPE=so
echo "PYTHONHOME=$PYTHONHOME"
echo "PYTHONVERSION=$PYTHONVERSION"
echo "USE_PYTHON64=$USE_PYTHON64"
echo "PYTHONLIBTYPE=$PYTHONLIBTYPE"


# NOTE, the definition of PYTHONLIBTYPE and the change in config/makefile.h as shown below
# is done to prevent the error:
#
#  File not found:  '/usr/lib64/python2.6/config/libpython2.6.a' 
#
# see http://nwchemgit.github.io/Special_AWCforum/st/id349/#post_1188
#
#sed -i 's/libpython$(PYTHONVERSION).a/libpython$(PYTHONVERSION).$(PYTHONLIBTYPE)/g' config/makefile.h
export MKLROOT=/u/local/compilers/intel/12.1/4/composer_xe_2011_sp1.10.319/mkl
export BLASOPT="-Wl,--start-group  $MKLROOT/lib/intel64/libmkl_intel_ilp64.a $MKLROOT/lib/intel64/libmkl_sequential.a $MKLROOT/lib/intel64/libmkl_core.a -Wl,--end-group -lpthread -lm"
echo "BLASOPT=$BLASOPT"

export FC=/u/local/compilers/intel/12.1/4/composer_xe_2011_sp1.10.319/bin/intel64/ifort
export CC=/u/local/compilers/intel/12.1/4/composer_xe_2011_sp1.10.319/bin/intel64/icc
echo "FC=$FC"
echo "CC=$CC"

echo "### START MAKING####"

#echo "make realclean"
#make realclean

echo "cd $NWCHEM_TOP/src"
cd $NWCHEM_TOP/src
pwd
echo "make nwchem_config"
make nwchem_config
echo " "
echo "########"
echo " "
echo "make FC=$FC CC=$CC"
make FC=$FC CC=$CC
#################################

Can I ask you whether instead of creating a .nwchemrc file in the users's $HOME would be OK to define environmental variables for: nwchem_basis_library, nwchem_nwpw_library, ffield, amber_1, amber_2, amber_3, amber_4, spce, charmm_s, charmm_x?

Also, do you think that not having used scalapack will greatly impact the performance of nwchem?


Raffaella.