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

libguide.so in ifc 8.0 and mkl6.1

L__D__Marks
New Contributor II
595 Views
I posted this message to the mkl discussion group a couple of days ago, but so far no responses so I thought I'd try here.
It looks like the versions of libguide.so which come with ifc 8.0 and mkl6.1 are different; the one with ifc 8.0 cannot be used for mkl6.1 since it does not have all the required routines. This is for a redhat 9.0 system where I cannot do a -static link. I can only get the code to run by setting LD_LIBRARY_PATH to look first at the mkl6.1 library. Has anyone worked out the "best" strategy to this?
N.B., in calculations on a dual-memory 3.4G P4 attempts to use more than one thread seem to be really bad, slowing down the code by 50% -- perhaps due to inconsistencies in libguide.so???
0 Kudos
2 Replies
TimP
Honored Contributor III
595 Views
I don't think you can blame libguide.so for reduced performance with HyperThreading on P4. It's a typical characteristic of highly optimized code, where a single thread can saturate resources of the CPU. You have several ways to cut it back to a single thread, including setting environment variable OMP_NUM_THREADS=1. HyperThreading is most effective in code which involves stalls which cause alternate threads to go idle, but MKL is generally successful in eliminating those. You could try your own Fortran versions of your favorite MKL functions, with and without OpenMP, to get more verification.
0 Kudos
L__D__Marks
New Contributor II
595 Views

What I found was that a program which is 90% lapack/blas took ~200 secs with one thread (default or OMP_NUM_THREADS=1) and ~350 secs with two (OMP_NUM_THREADS=2).

More to the point, I have to use the mkl6.1 libguide.so since the ifc (ifort) version does not have all the routines, for instance (something like, forgotten the exact name) intel_fast_mem . Should I just trust that the mkl library is "better", live with what seems to work or be concerned that there might be something going wrong/inaccurate by forcing ifort to use the mkllibrary?

0 Kudos
Reply