Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Linking against acml

may_ka
Beginner
1,292 Views

Hi there,

I am running into problems linking against acml 5.3.1 with ifort 14.0.1

while "gfortran -o TestACML TestACML.f90 -L /opt/acml5.3.1/gfortran64_int64/lib/" compiles without error,

"ifort -o TestACML TestACML.f90 -L/opt/acml5.3.1/ifort64_int64/lib/" produces:

/opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/for_main.o: In function `main':
/export/users/nbtester/efi2linux_nightly/branch-14_0/20140423_000000/libdev/frtl/src/libfor/for_main.c:(.text+0x31): undefined reference to `__intel_new_feature_proc_init'
/tmp/ifortWpNhTz.o: In function `MAIN__':
TestACML.f90:(.text+0x1f): undefined reference to `__intel_new_feature_proc_init'
/opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libifcore.a(for_init.o): In function `for__signal_handler':
for_init.c:(.text+0x8ce): undefined reference to `_intel_fast_memmove'
for_init.c:(.text+0x8e7): undefined reference to `_intel_fast_memmove'
for_init.c:(.text+0x900): undefined reference to `_intel_fast_memmove'
for_init.c:(.text+0x919): undefined reference to `_intel_fast_memmove'
for_init.c:(.text+0x932): undefined reference to `_intel_fast_memmove'
/opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/libifcore.a(for_init.o):for_init.c:(.text+0x94e): more undefined references to `_intel_fast_memmove' follow

 

I found that acml ships with additional libraries libifcoremt_pic.a, libimf.a, libiomp5.a, libiomp5.so, libirc.a, libsvml.a, which have siblings in /opt/intel/composer_xe_2013_sp1.3.174/compiler/lib/intel64/

 

Any suggestions??

 

Thanks

Karl

0 Kudos
3 Replies
TimP
Honored Contributor III
1,292 Views

does it work with -L specification ahead of source file or with -static-Intel?  As the .a libraries with your compiler are likely newer than the ones which acml distributed, you might try hiding those older ones.  adding -# to the options would show detail of the link script set up by Ifort.

One of my customers found better performance even on amd platform with mkl so acml may not be kept up to date.

 

 

 

 

 

 

0 Kudos
Steven_L_Intel1
Employee
1,292 Views

The underlying problem is that you're linking against older copies of the Intel Fortran run-time libraries. My guess is that your ACML distribution is including these inappropriately - check for libifcore.a in the ACML directory, for example. I also agree with Tim that Intel MKL will likely give you better performance even on AMD processors.

0 Kudos
may_ka
Beginner
1,292 Views

Hidding the libraries shipped with acml did it.

Thanks a lot.

Cheers

0 Kudos
Reply