Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
6956 Discussions

Data race conditions in daxpy in MKL 10.2 Update 6

AndrewC
New Contributor III
369 Views
I am using MKL to multiply some DP matrices using zgemm3 on a 4 core intel.
The calling code is serial, the only threading is done by MKL.
I am using Inspector XE 2011 to check my code for threading errors.

I am getting multiple data race errors in daxpy. Is this expected?


ID Description Source Function Module State
X22 Read vaone_mkl_em64tD.dll!0x3ab6c9 daxpy vaone_mkl_em64tD.dll Not fixed
X13 Write vaone_mkl_em64tD.dll!0x3ab661 daxpy vaone_mkl_em64tD.dll Not fixed



0 Kudos
8 Replies
Ying_H_Intel
Employee
369 Views
Hi ,

I will look into the problem and get back to you if any updates.

Additionally, you may have known it, we released Parallel Studio XE 2011 yesterday. in that version, a new MKL versionMKL 10.3 release. Would youlike to try it and let me know ifthe problemstill insistant?

Thanks
Ying

Product:
Intel Math Kernel Library 10.3 for Windows*

Description:

Intel Math Kernel Library (Intel MKL) is a highly optimized, extensively threaded, and thread-safe library of mathematical functions for engineering, scientific, and financial applications that require maximum performance. The Intel MKL 10.3 libraries are now ready for download. Intel MKL is available as a stand-alone product and as a part of the Intel Parallel Studio XE 2011, Intel C++ Studio XE 2011, Intel Composer XE 2011, Intel Visual Fortran Composer XE 2011, Intel C++ Composer XE 2011, and Intel Cluster Studio 2011. Please visit the Intel Software Evaluation Center to evaluate this product.

The new Intel MKL 10.3 release provides the following:

  • BLAS: New matrix-vector BLAS functions, Intel AVX optimizations
  • LAPACK: New C interfaces for LAPACK, integrated Netlib LAPACK 3.2.2, Intel AVX optimizations
  • PARDISO: Improved performance scaling, support for zero-based array indexing, and more...
  • Sparse BLAS: Extended data format conversion functions.
  • FFTs: New MPI FFTW 3.3alpha1 wrappers, improved load-balancing of cluster FFTs, Intel AVX optimizations, split-complex data support, Hybrid parallelism (MPI + OpenMP*), and more...
  • VML: A new function for computing (ax+b)/(cy+d), Intel AVX optimizations, and more...
  • VSL: A set of new Summary Statistics functions was added covering basic statistics, covariance and correlation, pooled, group, partial, and robust covariance/correlation, quantiles and streaming quantiles, outliers detection algorithm, and missing values support
  • VSL: Improved performance of SFMT19937 Basic Random Number Generator, Intel AVX optimizations
  • Added runtime dispatching dynamic libraries with single static interface
  • A new directory structure has been established to simplify integration of Intel MKL with the Intel Parallel Studio XE family of products and directories formerly designated as "em64t" are now designated by the "intel64" tag
  • Intel Itanium architecture (IA-64) support is not included in this release. Intel MKL 10.2 is the latest release for IA-64
  • The sparse solver functionality has been fully integrated into the core Intel MKL libraries and the libraries with "solver" in the filename have been removed from the product

Check out the release notes or view the "What's New in Intel MKL" article online for more information.

CODE TIPS

Learn more about Intel MKL 10.3. Register for a webinar on Thursday, Nov.18th 2010: "Get Ready for Intel Math Kernel Library 10.3 - A Component of Intel Composer XE 2011 (Formerly Intel Compiler Professional Edition)."
0 Kudos
AndrewC
New Contributor III
369 Views
Hi,
I am on maint. for the Intel Pro compiler so I have already downloaded Parallel Studio XE 2011. Unfortunately I am a bit nervous about installing it as it includes the 12.0 compiler and lots of changes!

Andrew
0 Kudos
TimP
Honored Contributor III
369 Views
Even with Visual Studio integration, co-existence of 2 major versions of Intel compiler is supported. So you could install the new one and go select the old one.
0 Kudos
Ying_H_Intel
Employee
369 Views
Hi Andrew,

I did a quick test about zgemm3m function in Inspector XE 2011. I haven't seen same data race as your.Could youprovide me a test case?

I noticedin your message there is unknowndll:vaone_mkl_em64tD.dll
do you create a special dll in your code?

Kind Regards,
Ying
0 Kudos
AndrewC
New Contributor III
369 Views
That is simply a custom MKL DLL I built using the MKL makefiles supplied in MKLl/tools/builder
0 Kudos
AndrewC
New Contributor III
369 Views
If I switch from the custom DLL back to the MKL DLL's things make more sense. When using a custom DLL, Inspector XE 2011 gets a bit confused in the stack report , showing zgemm3 and daxpy when it should be showing something else.
0 Kudos
AndrewC
New Contributor III
369 Views
So now using the MKL DLL's I am getting a data sharing error flagged by Inspector XE 2011

READ
mkl_serv_lsame - 0x140c
LSAME - 0x35af4
mkl_serv_iface_lsame - 0x35ae4
mkl_blas_errchk_zgemm3m - 0x34a5c
zgemm3m - 0x32e0a

WRITE

mkl_serv_lsame - 0x13d6
LSAME - 0x35af4
mkl_serv_iface_lsame - 0x35ae4
mkl_blas_errchk_zgemm3m - 0x34a5c
zgemm3m - 0x32e0a



0 Kudos
Ying_H_Intel
Employee
369 Views

Hi
Could you provide usyour test case?
Thiswould help us to understand the information comparing the inspector reportsand the source code.

Thanks
Ying

0 Kudos
Reply