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

MKL and Inspector 2016 and uniniatialized reads in syrk

erling_andersen
New Contributor I
262 Views

Using Inspector 2016 on Windows I can see there are uniniatialized reads dsyrk occasionally. When I replace the syrk call by the equivalent  loops then it goes away.

To be fair in both cases the results are the same but I am worried anyway.

I am fully aware I do not have a proof of an issue yet. However, are you interested in a small example? Or is it well know that Inspector produces false results on MKL. I think you claim valgrind cannot be trusted.

Thanks in advance.

 

 

 

0 Kudos
6 Replies
Gennady_F_Intel
Moderator
262 Views

thanks for report. I didn't see such problem earlier and will check the problem on my side. in the case if the problem will not be detected, I will ask your case. I will back to you soon.

--Gennady

0 Kudos
Gennady_F_Intel
Moderator
262 Views

I don't see problem on my side wrt issue you reported. I've  selected Memory error Analysis with widest scope of memory analysis type ( when the expected overhead 20-80x ). Could you give your example? may be it would help to see the similar behavior. 

--Gennady

 

0 Kudos
erling_andersen
New Contributor I
262 Views

Thanks. I will try to construct an example. It might take some days before I get back.

0 Kudos
mecej4
Honored Contributor III
262 Views

I have seen similar diagnoses of "uninitialized read" from diagnostic tools such as Intel Inspector, IBM/Rational Purify and Valgrind in one innocuous situation: a partly initialized array is saved before modification and the saved copy may be used for restoration at a later time.

The uninitialized elements of the array are never used in the algorithm, and have no effect on the results of the program; it would be a nuisance to save only those elements of the array that are going to be used even if we know which ones they are, and often we do not know which ones to save in advance.

However, the diagnostic tools are probably unable to distinguish between such benign "assignments" and the harmful usage of uninitialized variables in expressions.

0 Kudos
Gennady_F_Intel
Moderator
262 Views

yes, it might be the reason of that. In my examples, I used mkl_calloc(*,*) routine which initializes the allocated arrays with zeros. 

0 Kudos
erling_andersen
New Contributor I
262 Views

That is a good point. I agree it can happen if the leading dimension is bigger than the actual dimension for instance. That can lead copying of  uniniatialized data you will never use.

 

0 Kudos
Reply