We are currently evaluating a replacement of our Netlib Blas/Lapack libs by the Intel MKL. As we need identical computation results on different hardware, we have done some tests and realised that the the results from the MKL routines differ not only between different cpus but also depend on the architecture of the application (32/64bit) from which they are called. Switching to MKL_CBWR_COMPATIBLE mode as described in other posts seem to make the results independent of the cpu type. However, the divergences between 32 and 64 bit application on same cpu remains.
Up to now we have not found any setting or configuration that help. So we would be interested in any tips. Anything we can try?
Our application runs on Windows 10 and is compiled in native C++ as 32 and 64 bit edition by Visual Studio 2019. MKL version is 2019 update 4.
We are focusing on eigenvector calculations. An example for calling dggev and zgeev could be made available.
Thanks and regards,