mkl_p3 vs. mkl_p4 (7.2) on XEON (2.2GHz)

mkl_p3 vs. mkl_p4 (7.2) on XEON (2.2GHz)

I encountered a strange problem on my dual proc. XEON RH Linux 7.1 machine. When I link my program with -lmkl or -lmkl_p4 libraries I have random problems in eigenvalue solver (sometimes it finds 0 eigenvalues, but returns INFO=0 as well). On PIII machine this code works well. Finally, I tried to link -lmkl_p3 on my XEON machine and it works!! But the speed of blas routines is almost 50% down.... Do you have any comments on this problem?

4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Could you please be more specific on which routine fails?

It fails somewhere in dsyevx. If I link with public domain blas (atlas) precompiled for PIII, it works. If I link with mkl_p3 it works. If I link with mkl_p4 (or just mkl - which obviously points to mkl_p4 on XEON) I get ... not crashes, but no result in some cases, i.e. no eigenvalues found, but the return code is zero as well. On the output, the matrix for which I calculate the eigenvalues contains a lot of NaN's, which is not the case if run with mkl_p3. I know the matrix is supposed to bedestroyed after the call but not to such extent...

There could be a difference in accuracy between P3 and P4 code due to vector arithmetics in least significant bits, but NaN sounds very bad. Do you have a testcase? Is it MKL 7.2 Gold you use?

Leave a Comment

Please sign in to add a comment. Not a member? Join today