<?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 Help with OMP in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Help-with-OMP/m-p/745317#M1913</link>
    <description>&lt;IF this="" is="" the="" wrong="" forum=""&gt;&lt;BR /&gt;I have some code, stripped example below, which is causing a R/W data race condition reported by Inspector XE 2011 thread checking inside my function do_work.&lt;BR /&gt;The data1 and data2 arrays are arrays of C++ objects and are pased by reference to do_work&lt;BR /&gt;The objects do memory allocation operations inside do_work, but I am compiling /MD so memory allocate/deallocate is thread-safe.&lt;BR /&gt;All objects in do_work are local, there is no shared, global, data.&lt;BR /&gt;The XE tools are great , but I am baffled!&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;[cpp]#ifdef _OPENMP
#pragma omp parallel for
#endif
	for(int kxIndex=0;kxIndex &lt;NKX&gt; &lt;BR /&gt;&lt;BR /&gt;&lt;/NKX&gt;&lt;/PRE&gt;&lt;/IF&gt;</description>
    <pubDate>Thu, 11 Nov 2010 19:20:16 GMT</pubDate>
    <dc:creator>AndrewC</dc:creator>
    <dc:date>2010-11-11T19:20:16Z</dc:date>
    <item>
      <title>Help with OMP</title>
      <link>https://community.intel.com/t5/Software-Archive/Help-with-OMP/m-p/745317#M1913</link>
      <description>&lt;IF this="" is="" the="" wrong="" forum=""&gt;&lt;BR /&gt;I have some code, stripped example below, which is causing a R/W data race condition reported by Inspector XE 2011 thread checking inside my function do_work.&lt;BR /&gt;The data1 and data2 arrays are arrays of C++ objects and are pased by reference to do_work&lt;BR /&gt;The objects do memory allocation operations inside do_work, but I am compiling /MD so memory allocate/deallocate is thread-safe.&lt;BR /&gt;All objects in do_work are local, there is no shared, global, data.&lt;BR /&gt;The XE tools are great , but I am baffled!&lt;BR /&gt;&lt;BR /&gt;&lt;PRE&gt;[cpp]#ifdef _OPENMP
#pragma omp parallel for
#endif
	for(int kxIndex=0;kxIndex &lt;NKX&gt; &lt;BR /&gt;&lt;BR /&gt;&lt;/NKX&gt;&lt;/PRE&gt;&lt;/IF&gt;</description>
      <pubDate>Thu, 11 Nov 2010 19:20:16 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Help-with-OMP/m-p/745317#M1913</guid>
      <dc:creator>AndrewC</dc:creator>
      <dc:date>2010-11-11T19:20:16Z</dc:date>
    </item>
    <item>
      <title>Help with OMP</title>
      <link>https://community.intel.com/t5/Software-Archive/Help-with-OMP/m-p/745318#M1914</link>
      <description>I found the solution to my problem, and it is a bit "odd".&lt;BR /&gt;my do_work() function called a function in another compilation unit that was compiled /Qparallel&lt;BR /&gt;This instructs the Intel compiler to attempt some auto-parallelism&lt;BR /&gt;Once I removed /Qparallel the problems went away.&lt;BR /&gt;&lt;BR /&gt;I am not sure why /Qparallel and opemp paralleism would conflict in such a way....</description>
      <pubDate>Sat, 13 Nov 2010 00:53:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Help-with-OMP/m-p/745318#M1914</guid>
      <dc:creator>AndrewC</dc:creator>
      <dc:date>2010-11-13T00:53:12Z</dc:date>
    </item>
    <item>
      <title>Help with OMP</title>
      <link>https://community.intel.com/t5/Software-Archive/Help-with-OMP/m-p/745319#M1915</link>
      <description>And by the way, Parallel Studio Advisor and Parallel Studio Inspector XE 2011 are absolutely fantastic. Absolutely indispensible tools.&lt;BR /&gt;</description>
      <pubDate>Sat, 13 Nov 2010 00:54:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Help-with-OMP/m-p/745319#M1915</guid>
      <dc:creator>AndrewC</dc:creator>
      <dc:date>2010-11-13T00:54:39Z</dc:date>
    </item>
  </channel>
</rss>

