Intel® MPI Library
Get help with building, analyzing, optimizing, and scaling high-performance computing (HPC) applications.
2161 Discussions

undefined symbol: __intel_cpu_indicator

Sangamesh_B_
Beginner
1,034 Views
Hi,

An MD applicatuion Amber-9 is installed with IntelMKL-8.0.2 and Intel Fortran-10.1.018 On Rocks-5.1 Linux cluster, CentOS-5.2.
There were no errors during compilation.

When executed the executable it gives:

# make test.serial
cd dmp; ./Run.dmp
../../exe/sander: symbol lookup error: ../../exe/sander: undefined symbol: __intel_cpu_indicator
./Run.dmp: Program error
make: *** [test.sander.BASIC] Error 1

The config.h file that the Makefile uses is:

#------------------------------------------------------------------------------
# C compiler
#------------------------------------------------------------------------------
#CC= gcc
CC= icc
#CPLUSPLUS=g++
CPLUSPLUS=icpc
CFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -m64 -O2 -Bstatic
CPPFLAGS= $(AMBERBUILDFLAGS)

#------------------------------------------------------------------------------
# Fortran preprocessing and compiler.
# FPPFLAGS holds the main Fortran options, such as whether MPI is used.
#------------------------------------------------------------------------------
FPPFLAGS= -P -DMKL $(AMBERBUILDFLAGS)
FPP= cpp -traditional $(FPPFLAGS)
FC= ifort
FFLAGS= -w95 -Bstatic -mp1 -O0 $(LOCALFLAGS) $(AMBERBUILDFLAGS)
FOPTFLAGS= -w95 -Bstatic -mp1 -ip -O3 -tpp7 -axWP $(LOCALFLAGS) $(AMBERBUILDFLAGS)
FREEFORMAT_FLAG= -FR

#------------------------------------------------------------------------------
# Loader:
#------------------------------------------------------------------------------
LOAD= ifort $(LOCALFLAGS) $(AMBERBUILDFLAGS)
#LOADCC= gcc $(LOCALFLAGS) $(AMBERBUILDFLAGS)
LOADCC= icc $(LOCALFLAGS) $(AMBERBUILDFLAGS)
LOADLIB= -L/opt/intel/mkl/8.0.2/lib/em64t -lvml -lmkl_lapack -lmkl -lguide -lpthread
LM= -lm
LOADPTRAJ= ifort -nofor_main $(LOCALFLAGS) $(AMBERBUILDFLAGS)
XHOME= /usr/X11R6
XLIBS= -L/usr/X11R6/lib64 -L/usr/X11R6/lib


Let me know how to resolve this issue?

Thanks
0 Kudos
3 Replies
TimP
Honored Contributor III
1,034 Views
Apparently, you are using an MKL which is enough older than your ifort that you see conflicts about which library contains certain run-time functions. In such situations, the advice becomes relevant about not forcing the use of the older OpenMP library from the MKL, instead allowing ifort to use its own OpenMP library (preferably libiomp).
You see the problem at run time, when you have dynamic linked the OpenMP library (as is recommended), but the one you linked against is not the first one found in LD_LIBRARY_PATH. So, when you force the link against the older one, you must fix the LD_LIBRARY_PATH for your application accordingly on each node.
Such problems ought not to be encountered when using the MKL provided along with ifort in any of the ifort Professional versions, beginning with 10.1, including all ifort versions since 11.0 or Cluster Tools Compiler Edition.
0 Kudos
Sangamesh_B_
Beginner
1,034 Views
Quoting - tim18
Apparently, you are using an MKL which is enough older than your ifort that you see conflicts about which library contains certain run-time functions. In such situations, the advice becomes relevant about not forcing the use of the older OpenMP library from the MKL, instead allowing ifort to use its own OpenMP library (preferably libiomp).
You see the problem at run time, when you have dynamic linked the OpenMP library (as is recommended), but the one you linked against is not the first one found in LD_LIBRARY_PATH. So, when you force the link against the older one, you must fix the LD_LIBRARY_PATH for your application accordingly on each node.
Such problems ought not to be encountered when using the MKL provided along with ifort in any of the ifort Professional versions, beginning with 10.1, including all ifort versions since 11.0 or Cluster Tools Compiler Edition.

I got it suucessful compilation and execution by using Intel MKL 10.

Do you mean to set LD_LIBRARY_PATH to Intel Fortran 10.1 libraries ? What about MKL-8 -- lower preference or completely skipped?
0 Kudos
TimP
Honored Contributor III
1,034 Views
Quoting - sangamesh

I got it suucessful compilation and execution by using Intel MKL 10.

Do you mean to set LD_LIBRARY_PATH to Intel Fortran 10.1 libraries ? What about MKL-8 -- lower preference or completely skipped?
Avoid using the libguide from MKL 8 as the libguide and libiomp for ifort 10.1 are more up to date and should take dare of MKL 8 compatibly. Since you have MKL 10, that would be preferable.
0 Kudos
Reply