<?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 If you want to see whether in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Nested-OMP-on-Xeon-Phi-using-OMP4/m-p/1059787#M6870</link>
    <description>&lt;P&gt;If you want to see whether spread or close took effect, you could set MIC_KMP_AFFINITY=verbose.&amp;nbsp; Are you serious about wanting to set both at the same time?&lt;/P&gt;

&lt;P&gt;One might guess that your intentions align with OpenMP 4 teams concept.&amp;nbsp; OMP_NESTED doesn't have good affinity options.&lt;/P&gt;</description>
    <pubDate>Thu, 20 Nov 2014 15:01:00 GMT</pubDate>
    <dc:creator>TimP</dc:creator>
    <dc:date>2014-11-20T15:01:00Z</dc:date>
    <item>
      <title>Nested OMP on Xeon Phi using OMP4</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Nested-OMP-on-Xeon-Phi-using-OMP4/m-p/1059786#M6869</link>
      <description>&lt;P&gt;Xeon Phi has 60 cores and 4 threads per core. I am writing an experiment that will have 1 master thread on each core, and each of these will spawn&amp;nbsp; 4 slave threads.&lt;/P&gt;

&lt;P&gt;Looking at the manual &lt;A href="https://software.intel.com/en-us/node/512835" target="_blank"&gt;https://software.intel.com/en-us/node/512835&lt;/A&gt; it seems that I want to set the envars:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;MIC_OMP_NESTED=TRUE
MIC_OMP_PROC_BIND="spread, close"
MIC_OMP_NUM_THREADS=60&lt;/PRE&gt;

&lt;P&gt;Is this correct? I've tested this and it doesn't die... Is there a way I can get the runtime to spitout affinity debug info about where it is actually placing things so I can be certain?&lt;/P&gt;

&lt;P&gt;Cheers,&lt;/P&gt;

&lt;P&gt;James&lt;/P&gt;</description>
      <pubDate>Wed, 19 Nov 2014 21:02:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Nested-OMP-on-Xeon-Phi-using-OMP4/m-p/1059786#M6869</guid>
      <dc:creator>james_B_8</dc:creator>
      <dc:date>2014-11-19T21:02:10Z</dc:date>
    </item>
    <item>
      <title>If you want to see whether</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Nested-OMP-on-Xeon-Phi-using-OMP4/m-p/1059787#M6870</link>
      <description>&lt;P&gt;If you want to see whether spread or close took effect, you could set MIC_KMP_AFFINITY=verbose.&amp;nbsp; Are you serious about wanting to set both at the same time?&lt;/P&gt;

&lt;P&gt;One might guess that your intentions align with OpenMP 4 teams concept.&amp;nbsp; OMP_NESTED doesn't have good affinity options.&lt;/P&gt;</description>
      <pubDate>Thu, 20 Nov 2014 15:01:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Nested-OMP-on-Xeon-Phi-using-OMP4/m-p/1059787#M6870</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2014-11-20T15:01:00Z</dc:date>
    </item>
    <item>
      <title>Thanks.</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Nested-OMP-on-Xeon-Phi-using-OMP4/m-p/1059788#M6871</link>
      <description>&lt;P&gt;Thanks.&lt;/P&gt;

&lt;P&gt;KMP_AFFINITY=verbose does indeed output verbose info for OMP_PROC_BIND.&lt;/P&gt;

&lt;P&gt;I think it's working with the envars in my OP. Looking at the case of 2 master threads each spawning 2 slaves I get:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;OMP: Info #242: KMP_AFFINITY: pid 50593 thread 0 bound to OS proc set {1}
...
OMP: Info #242: OMP_PROC_BIND: pid 50593 thread 1 bound to OS proc set {119}
...
OMP: Info #242: OMP_PROC_BIND: pid 50593 thread 2 bound to OS proc set {2}
OMP: Info #242: OMP_PROC_BIND: pid 50593 thread 3 bound to OS proc set {120}
OMP: Info #242: OMP_PROC_BIND: pid 50593 thread 2 bound to OS proc set {120}
OMP: Info #242: OMP_PROC_BIND: pid 50593 thread 3 bound to OS proc set {2}
OMP: Info #242: OMP_PROC_BIND: pid 50593 thread 2 bound to OS proc set {2}
OMP: Info #242: OMP_PROC_BIND: pid 50593 thread 3 bound to OS proc set {120}
OMP: Info #242: OMP_PROC_BIND: pid 50593 thread 2 bound to OS proc set {120}
OMP: Info #242: OMP_PROC_BIND: pid 50593 thread 3 bound to OS proc set {2}
OMP: Info #242: OMP_PROC_BIND: pid 50593 thread 2 bound to OS proc set {2}
OMP: Info #242: OMP_PROC_BIND: pid 50593 thread 3 bound to OS proc set {120}
OMP: Info #242: OMP_PROC_BIND: pid 50593 thread 2 bound to OS proc set {120}&lt;/PRE&gt;

&lt;P&gt;0 and 1 are the 'masters' and threads 2 and 3 are the 'slaves' here. It thread numbering for the slaves is a bit tricky here. It seems that they are bound to the OS proc next to the OS proc of their parent. Where they end up depends entirely on which master spawns them first. This seems sensible to me.&lt;/P&gt;

&lt;P&gt;I will try out omp teams.&lt;/P&gt;

&lt;P&gt;Cheers,&lt;/P&gt;

&lt;P&gt;james&lt;/P&gt;</description>
      <pubDate>Thu, 20 Nov 2014 16:17:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Nested-OMP-on-Xeon-Phi-using-OMP4/m-p/1059788#M6871</guid>
      <dc:creator>james_B_8</dc:creator>
      <dc:date>2014-11-20T16:17:29Z</dc:date>
    </item>
    <item>
      <title>James,</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Nested-OMP-on-Xeon-Phi-using-OMP4/m-p/1059789#M6872</link>
      <description>&lt;P&gt;James,&lt;/P&gt;

&lt;P&gt;Try:&lt;/P&gt;

&lt;PRE class="brush:plain;"&gt;MIC_OMP_NESTED=TRUE
MIC_OMP_PROC_BIND="spread, close"
MIC_OMP_NUM_THREADS=60,4
&lt;/PRE&gt;

&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Sat, 22 Nov 2014 16:20:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Nested-OMP-on-Xeon-Phi-using-OMP4/m-p/1059789#M6872</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2014-11-22T16:20:32Z</dc:date>
    </item>
  </channel>
</rss>

