You also need to ensure the -openmp flag gets passed to the linker, that doesn't seem to be the case in your arch file (although it was in the earlier one). I'm afraid I can't think of anything else obviously wrong. We used an arch file (below) recently on another intel system and it worked OK. The major differences are we static linked everything, and used the libfftw3_omp rather than _threads. You could try and see if that helps any?
Cheers
- Iain
CC = cc
CPP =
FC = mpiifort -openmp
LD = mpiifort -openmp
AR = ar -r
FFTW_DIR = /users/fiona/fftw3_intel_threaded
LIBXC_DIR = /users/fiona/lib/libxc-intel
LIBINT_DIR = /users/fiona/lib/libint-intel
LIBSMM_DIR = /users/fiona/lib/cp2klibs-intel
LIBGRID_DIR = /users/fiona/lib/cp2klibs-intel
CPPFLAGS =
DFLAGS = -D__INTEL -D__FFTSG -D__FFTW3 -D__LIBINT -D__LIBXC2 -D__parallel \
-D__BLACS -D__SCALAPACK -D__HAS_smm_dnn -D__HAS_LIBGRID
CFLAGS = $(DFLAGS)
# Version 13.1.0 of compiler
MKLROOT = /apps/dommic/intel/composer_xe_2013.2.146/mkl/
FCFLAGS = $(DFLAGS) -O2 -g -traceback -fpp -free \
-I$(FFTW_DIR)/include
LDFLAGS = $(FCFLAGS) -static-intel
LIBS = $(FFTW_DIR)/lib/libfftw3.a $(FFTW_DIR)/lib/libfftw3_omp.a \
$(MKLROOT)/lib/intel64/libmkl_scalapack_lp64.a \
-Wl,--start-group $(MKLROOT)/lib/intel64/libmkl_intel_lp64.a \
$(MKLROOT)/lib/intel64/libmkl_sequential.a \
$(MKLROOT)/lib/intel64/libmkl_core.a \
$(MKLROOT)/lib/intel64/libmkl_blacs_intelmpi_lp64.a -Wl,--end-group \
-lpthread -lm \
$(LIBINT_DIR)/lib/libderiv.a $(LIBINT_DIR)/lib/libint.a -lstdc++ \
-L$(LIBXC_DIR)/lib -lxc \
$(LIBSMM_DIR)/libsmm_dnn.a $(LIBGRID_DIR)/libgrid.a
OBJECTS_ARCHITECTURE = machine_intel.o
> Institut für Theoretische Physik
> TU Freiberg, Germany
>