Quantcast
Channel: Intel® Software - Intel® Fortran Compiler for Linux* and macOS*
Viewing all articles
Browse latest Browse all 2746

OpenMP + MKL precision ??

$
0
0

Hi, 

I have a problem in the precision of the MKL , with dsyevd by example, when using -openmp even though this part of the code is purely sequential. There is a difference between the solution without openmp , and with openmp ( free for the number of threads).

NOOMP  eigvect           -0.0000015360581732           -0.9999999999988203           -0.9999999999988203            0.0000015360581732

OMP 1  eigvect           -0.0000015360581732           -0.9999999999988203           -0.9999999999988203            0.0000015360581732

OMP 2 eigvect           -0.0000015360581732           -0.9999999999988203           -0.9999999999988203            0.0000015360581732

OMP 3 eigvect           -0.0000015362783716           -0.9999999999988201           -0.9999999999988201            0.0000015362783716

OMP 4 eigvect           -0.0000015360581732           -0.9999999999988203           -0.9999999999988203            0.0000015360581732

I have set MKL_ALL=1, if not then the result is different for 1 ,2 ,3, and 4 threads.  The problem is that those small differences change the behavior later in the program. Considering that i dont want to use openmp in the mkl, i should have the same values. But another thing is,  is that normal that the results are different using threads in mkl ?

Also, if i link with blas lapack instead of MKL, i don't have that problem.

thanks


Viewing all articles
Browse latest Browse all 2746

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>