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
Principiante
1.296 Vistas

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 Respuestas
TimP
Colaborador Distinguido III
1.296 Vistas

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.

 

 

 

 

 

 

Steven_L_Intel1
Empleados
1.296 Vistas

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.

may_ka
Principiante
1.296 Vistas

Hidding the libraries shipped with acml did it.

Thanks a lot.

Cheers

Responder