<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic One more data race threading issue in zgetrf (10.3 update 5) in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764217#M126</link>
    <description>Very interesting. I did not know it. Tell explicitly as storage for a two-dimensional array is selected. &lt;BR /&gt;This selection of storage depends on the translator?</description>
    <pubDate>Wed, 31 Aug 2011 19:33:05 GMT</pubDate>
    <dc:creator>yuriisig</dc:creator>
    <dc:date>2011-08-31T19:33:05Z</dc:date>
    <item>
      <title>One more data race threading issue in zgetrf (10.3 update 5)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764212#M121</link>
      <description>MKL 10.3 update 5 has made many strides over previous versions in fixing data races in multi-thread applications. I run tests on my code under Intel Inspector XE , and the data races inside MKL are almost gone &lt;BR /&gt;... EXCEPT for this one that keeps cropping up. I do not believe it is a "harmless" data race. They never are...&lt;BR /&gt;&lt;BR /&gt;This needs to run with OpenMP on, obviously.&lt;BR /&gt;ID  Problem Sources Modules State&lt;BR /&gt;P1  Data race testzgetrf.cpp testzgetrf.exe New&lt;BR /&gt;&lt;BR /&gt;The actual data race (write) is at this location.&lt;BR /&gt;&lt;BR /&gt;mkl_core.dll!mkl_serv_deallocate - mkl_core.dll:4937&lt;BR /&gt;testzgetrf.exe!zgetrf - testzgetrf.exe:6101&lt;BR /&gt;testzgetrf.exe!test - testzgetrf.cpp:27&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;[cpp]#include "mkl_lapack.h"
#include &lt;IOSTREAM&gt;
void test()
{
#define NSIZE 20
		#pragma omp parallel for
		for( int iLoop=0;iLoop&amp;lt;20;iLoop++){
			MKL_Complex16 a[NSIZE][NSIZE];
			for( int i=0;i&lt;NSIZE&gt;&lt;J&gt;.real=1;
						a&lt;I&gt;&lt;J&gt;.imag=0;
					}else{
						a&lt;I&gt;&lt;J&gt;.real=0;
						a&lt;I&gt;&lt;J&gt;.imag=0;
					}
				}
			}
			int M = NSIZE;
			int N = NSIZE;
			int info;
			int ipvt[NSIZE];
			zgetrf(&amp;amp;M, &amp;amp;N, (MKL_Complex16 *)a, &amp;amp;M, ipvt, &amp;amp;info);
			//std::cout &amp;lt;&amp;lt; info &amp;lt;&amp;lt; std::endl;
		}
}

int main(int argc, char * argv[])
{
	test();
	return 0;
}

[/cpp]&lt;/J&gt;&lt;/I&gt;&lt;/J&gt;&lt;/I&gt;&lt;/J&gt;&lt;/I&gt;&lt;/J&gt;&lt;/NSIZE&gt;&lt;/IOSTREAM&gt;&lt;/PRE&gt; &lt;BR /&gt;</description>
      <pubDate>Tue, 30 Aug 2011 16:24:38 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764212#M121</guid>
      <dc:creator>AndrewC</dc:creator>
      <dc:date>2011-08-30T16:24:38Z</dc:date>
    </item>
    <item>
      <title>One more data race threading issue in zgetrf (10.3 update 5)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764213#M122</link>
      <description>MKL_Complex16a[NSIZE][NSIZE];??????????</description>
      <pubDate>Wed, 31 Aug 2011 10:03:49 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764213#M122</guid>
      <dc:creator>yuriisig</dc:creator>
      <dc:date>2011-08-31T10:03:49Z</dc:date>
    </item>
    <item>
      <title>One more data race threading issue in zgetrf (10.3 update 5)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764214#M123</link>
      <description>And your point is what?</description>
      <pubDate>Wed, 31 Aug 2011 13:46:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764214#M123</guid>
      <dc:creator>AndrewC</dc:creator>
      <dc:date>2011-08-31T13:46:41Z</dc:date>
    </item>
    <item>
      <title>One more data race threading issue in zgetrf (10.3 update 5)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764215#M124</link>
      <description>It is an one-dimensional array.</description>
      <pubDate>Wed, 31 Aug 2011 14:45:11 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764215#M124</guid>
      <dc:creator>yuriisig</dc:creator>
      <dc:date>2011-08-31T14:45:11Z</dc:date>
    </item>
    <item>
      <title>One more data race threading issue in zgetrf (10.3 update 5)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764216#M125</link>
      <description>zgetrf expects a NxM matrix of complex double.&lt;BR /&gt;It declares a block of memory that can be though of as a one-d array [NSIZE*NSIZE] or a 2D array [NSIZE][NSIZE], lapack does not care how you declare your memory as long as the layout is column major, and since my array is square that is not an issue. &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 31 Aug 2011 15:54:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764216#M125</guid>
      <dc:creator>AndrewC</dc:creator>
      <dc:date>2011-08-31T15:54:57Z</dc:date>
    </item>
    <item>
      <title>One more data race threading issue in zgetrf (10.3 update 5)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764217#M126</link>
      <description>Very interesting. I did not know it. Tell explicitly as storage for a two-dimensional array is selected. &lt;BR /&gt;This selection of storage depends on the translator?</description>
      <pubDate>Wed, 31 Aug 2011 19:33:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764217#M126</guid>
      <dc:creator>yuriisig</dc:creator>
      <dc:date>2011-08-31T19:33:05Z</dc:date>
    </item>
    <item>
      <title>One more data race threading issue in zgetrf (10.3 update 5)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764218#M127</link>
      <description>Is this a Turing test? And way off-topic</description>
      <pubDate>Wed, 31 Aug 2011 19:36:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764218#M127</guid>
      <dc:creator>AndrewC</dc:creator>
      <dc:date>2011-08-31T19:36:57Z</dc:date>
    </item>
    <item>
      <title>One more data race threading issue in zgetrf (10.3 update 5)</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764219#M128</link>
      <description>I hinted that you are mistaken. Consider an example of the fragmented storage.&lt;BR /&gt;</description>
      <pubDate>Wed, 31 Aug 2011 23:03:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/One-more-data-race-threading-issue-in-zgetrf-10-3-update-5/m-p/764219#M128</guid>
      <dc:creator>yuriisig</dc:creator>
      <dc:date>2011-08-31T23:03:59Z</dc:date>
    </item>
  </channel>
</rss>

