- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page