Compiling nwchem-6.3 in a contemporary HPC with Xeon PHI


Click here for full thread
Clicked A Few Times
Update:
I have learned from the hard way that trying to handle underscore issues in nwchem is a full time job, and better be avoided. At the moment, I have a "compatibility mode" settings which compiles. I am currently doing tests in order to see if it is sensible.

A very interesting point is that, in my previous settings with mpif90, the fortran wrappers (i.e. those ending with _ using wrapper macro of global arrays) were not created, without a single indication why they are not created. You can only see whether they are created or not by using nm (nm -Ca libga.a)

The "compatible" ifort environment settings which ended in a yet untested binary
setenv MKLROOT /apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl
setenv NWCHEM_TARGET LINUX64
setenv BLASOPT "-L/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/lib/intel64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm"
setenv BLAS_LIB "-L/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/lib/intel64 -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm"
setenv BLAS_SIZE 8
setenv ARMCI_NETWORK OPENIB
setenv FC ifort
setenv CC icc
setenv CXX icpc
setenv FXX ifort
setenv MPI_CXX icpc
setenv MPI_CC icc
setenv MPI_F90 ifort
setenv FOPTIMIZE "-O3 -xavx -no-prec-div -funroll-loops"
setenv COPTIMIZE "-O3 -xavx -no-prec-div -funroll-loops"
setenv FFLAGS " -i8 -I/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/include/intel64/ilp64 -I/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/include"
setenv FOPTIONS " -i8 -I/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/include/intel64/ilp64 -I/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/include"
setenv CFLAGS " -DMKL_ILP64 -I/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/include/intel64/ilp64 -I/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/include"
setenv COPTIONS " -DMKL_ILP64 -I/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/include/intel64/ilp64 -I/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/include"
setenv CXXFLAGS " -DMKL_ILP64 -I/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/include/intel64/ilp64 -I/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/include"
setenv CXXOPTIONS " -DMKL_ILP64 -I/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/include/intel64/ilp64 -I/apps/intel/ComposerXE2013/composer_xe_2013.5.192/mkl/include"


The remaining variables necessary for compilation are successfully detected by build_nwchem script
contrib/distro-tools/build_nwchem >& build.log
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Dr. O. Baris Malcioglu,
University of Liege,
Bât. B5 Physique de la matière condensée
allée du 6 Août 17
4000 Liège 1
Belgique