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

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

autoru's picture

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.
michael.chuvelev's picture

Could you please be more specific on which routine fails?

autoru's picture

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...

michael.chuvelev's picture

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?

Login to leave a comment.