<?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 Hi Timofey, in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926187#M13895</link>
    <description>&lt;P&gt;Hi Timofey,&lt;/P&gt;
&lt;P&gt;I don't see your main program, can you post it?&lt;/P&gt;
&lt;P&gt;Regards.&lt;/P&gt;</description>
    <pubDate>Wed, 11 Sep 2013 18:58:41 GMT</pubDate>
    <dc:creator>Loc_N_Intel</dc:creator>
    <dc:date>2013-09-11T18:58:41Z</dc:date>
    <item>
      <title>Using MIC offload in OpenMP parallel sections</title>
      <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926186#M13894</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;
&lt;P&gt;I want to make parallel summing in MIC and CPU with OpenMP. I split arrays in 2 parts. First part will be offloaded to MIC and summed there. Second part we be summed on CPU. I made 4 tests:&lt;/P&gt;
&lt;P&gt;1. Both parts summed on CPU. This test used to be sure the summing code is valid.&lt;/P&gt;
&lt;P&gt;2. MIC part offloaded to MIC and summed. CPU part summed on CPU.&lt;/P&gt;
&lt;P&gt;3. MIC part offloaded to MIC and summed. CPU part summed on CPU. Both actions works in one section of parallel sections OpenMP.&lt;/P&gt;
&lt;P&gt;4. MIC part offloaded to MIC and summed. CPU part summed on CPU. Both actions works in different sections of parallel sections OpenMP.&lt;/P&gt;
&lt;P&gt;Here is tests code.&lt;/P&gt;
&lt;P&gt;[cpp]&lt;/P&gt;
&lt;P&gt;void test1(double* arrays, long arraySize, long arraysNumber, long micArraysNumber,double *sums, int iterations)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf("Test 1 - plain summing\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;arraysSum(arrays, arraySize, micArraysNumber, sums, iterations);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;arraysSum(&amp;amp;arrays[micArraysNumber*arraySize], arraySize, arraysNumber - micArraysNumber, &amp;amp;sums[micArraysNumber], iterations);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void test2(double* arrays, long arraySize, long arraysNumber, long micArraysNumber,double *sums, int iterations)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf("Test 2 - offload and find sums\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma offload_transfer target(mic)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(arrays[0:arraySize*micArraysNumber]: ALLOC) \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(sums[0:micArraysNumber]: ALLOC)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma offload target(mic) \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(arrays: length(0) REUSE) \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out(sums: length(micArraysNumber) REUSE)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;arraysSum(arrays, arraySize, micArraysNumber, sums, iterations);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma offload_transfer target(mic)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(arrays[0:arraySize*micArraysNumber]: FREE) \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(sums[0:micArraysNumber]: FREE)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;arraysSum(&amp;amp;arrays[micArraysNumber*arraySize], arraySize, arraysNumber - micArraysNumber, &amp;amp;sums[micArraysNumber], iterations);&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void test3(double* arrays, long arraySize, long arraysNumber, long micArraysNumber,double *sums, int iterations)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf("Test 3 - offload and find sums inside parallel sections\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma omp parallel sections shared(arrays, sums)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma omp section&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma offload_transfer target(mic)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(arrays[0:arraySize*micArraysNumber]: ALLOC) \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(sums[0:micArraysNumber]: ALLOC)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma offload target(mic) \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(arrays: length(0) REUSE) \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out(sums: length(micArraysNumber) REUSE)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;arraysSum(arrays, arraySize, micArraysNumber, sums, iterations);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma offload_transfer target(mic)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(arrays[0:arraySize*micArraysNumber]: FREE) \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(sums[0:micArraysNumber]: FREE)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;arraysSum(&amp;amp;arrays[micArraysNumber*arraySize], arraySize, arraysNumber - micArraysNumber, &amp;amp;sums[micArraysNumber], iterations);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;void test4(double* arrays, long arraySize, long arraysNumber, long micArraysNumber,double *sums, int iterations)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf("Test 4 - offload data outside parallel sections and find sums inside parallel sections\n");&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma offload_transfer target(mic)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(arrays[0:arraySize*micArraysNumber]: ALLOC) \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(sums[0:micArraysNumber]: ALLOC)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma omp parallel sections shared(arrays, sums)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma omp section&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma offload target(mic) \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(arrays: length(0) REUSE) \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; out(sums: length(micArraysNumber) REUSE)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;arraysSum(arrays, arraySize, micArraysNumber, sums, iterations);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma omp section&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;arraysSum(&amp;amp;arrays[micArraysNumber*arraySize], arraySize, arraysNumber - micArraysNumber, &amp;amp;sums[micArraysNumber], iterations);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;#pragma offload_transfer target(mic)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(arrays[0:arraySize*micArraysNumber]: FREE) \&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(sums[0:micArraysNumber]: FREE)&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;[/cpp]&lt;/P&gt;
&lt;P&gt;Tests 1,2,3 works good. Test 4 returns "offload error: process on the device 0 was terminated by signal 11". Sometimes test4 works after launching test3.&lt;/P&gt;
&lt;P&gt;Compile options: icc&amp;nbsp; -Wall -openmp -fPIC&lt;/P&gt;
&lt;P&gt;See main and utility functions in attached file.&lt;/P&gt;
&lt;P&gt;Does anybody have idea why there is offload error?&lt;/P&gt;
&lt;P&gt;Timofey&lt;/P&gt;</description>
      <pubDate>Wed, 11 Sep 2013 15:34:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926186#M13894</guid>
      <dc:creator>Timofey_R_</dc:creator>
      <dc:date>2013-09-11T15:34:54Z</dc:date>
    </item>
    <item>
      <title>Hi Timofey,</title>
      <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926187#M13895</link>
      <description>&lt;P&gt;Hi Timofey,&lt;/P&gt;
&lt;P&gt;I don't see your main program, can you post it?&lt;/P&gt;
&lt;P&gt;Regards.&lt;/P&gt;</description>
      <pubDate>Wed, 11 Sep 2013 18:58:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926187#M13895</guid>
      <dc:creator>Loc_N_Intel</dc:creator>
      <dc:date>2013-09-11T18:58:41Z</dc:date>
    </item>
    <item>
      <title>Oops, forget to click Start</title>
      <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926188#M13896</link>
      <description>&lt;P&gt;Oops, forget to click Start Upload.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 11 Sep 2013 19:04:26 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926188#M13896</guid>
      <dc:creator>Timofey_R_</dc:creator>
      <dc:date>2013-09-11T19:04:26Z</dc:date>
    </item>
    <item>
      <title>Your include file is still</title>
      <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926189#M13897</link>
      <description>&lt;P&gt;Your include file is still missing.&lt;/P&gt;</description>
      <pubDate>Wed, 11 Sep 2013 19:24:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926189#M13897</guid>
      <dc:creator>TimP</dc:creator>
      <dc:date>2013-09-11T19:24:29Z</dc:date>
    </item>
    <item>
      <title>I didn't use include file for</title>
      <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926190#M13898</link>
      <description>&lt;P&gt;I didn't use include file for this program.&lt;/P&gt;</description>
      <pubDate>Wed, 11 Sep 2013 20:19:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926190#M13898</guid>
      <dc:creator>Timofey_R_</dc:creator>
      <dc:date>2013-09-11T20:19:15Z</dc:date>
    </item>
    <item>
      <title>Hi Timofey,</title>
      <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926191#M13899</link>
      <description>&lt;P&gt;Hi Timofey,&lt;/P&gt;
&lt;P&gt;As Tim said, the file "pgdm-be-Phi.h" is missing. But if I just comment out the line&amp;nbsp;to ignore&amp;nbsp;the missing file, I still can compile and run your program.&lt;/P&gt;
&lt;P&gt;I run and re-run it many times, including resetting the coprocessor, and&amp;nbsp;the program&amp;nbsp;always returns the right result without any error. I don't see the error your reported at all.&amp;nbsp;What MPSS version and&amp;nbsp;Intel compiler version are you using?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 11 Sep 2013 21:04:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926191#M13899</guid>
      <dc:creator>Loc_N_Intel</dc:creator>
      <dc:date>2013-09-11T21:04:48Z</dc:date>
    </item>
    <item>
      <title>You are right - I forgot to</title>
      <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926192#M13900</link>
      <description>&lt;P&gt;You are right - I forgot to remove pgdm-be-Phi.h from sources. It doesn't matter for this program so it can be deleted.&lt;/P&gt;
&lt;P&gt;icc version information:&lt;/P&gt;
&lt;P&gt;Intel(R) C Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 13.0.1.117 Build 20121010&lt;/P&gt;
&lt;P&gt;I searched mpss commands here &lt;A href="http://software.intel.com/en-us/articles/intel-xeon-phi-coprocessor-developers-quick-start-guide" target="_blank"&gt;http://software.intel.com/en-us/articles/intel-xeon-phi-coprocessor-developers-quick-start-guide&lt;/A&gt;. micinfo and mpssinfo commands are absent. The only command which is available is micctrl but I didn't find any prefix which returns mpss version.&lt;/P&gt;
&lt;P&gt;Can you give me advice how to get mpss version please?&lt;/P&gt;</description>
      <pubDate>Wed, 11 Sep 2013 21:53:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926192#M13900</guid>
      <dc:creator>Timofey_R_</dc:creator>
      <dc:date>2013-09-11T21:53:53Z</dc:date>
    </item>
    <item>
      <title>Timofey,</title>
      <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926193#M13901</link>
      <description>&lt;P&gt;Timofey,&lt;/P&gt;
&lt;P&gt;As an expriment. Replace your parallel sections with:&lt;/P&gt;
&lt;P&gt;[cpp]&lt;BR /&gt;#pragma omp parallel shared(arrays, sums)&amp;nbsp; &lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; if(omp_get_thread_num() == 0)&lt;BR /&gt;&amp;nbsp; {&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma offload target(mic)&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; in(arrays: length(0) REUSE)&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; out(sums: length(micArraysNumber) REUSE)&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arraysSum(arrays, arraySize, micArraysNumber, sums, iterations);&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; &lt;BR /&gt;&amp;nbsp; }&amp;nbsp; &lt;BR /&gt;&amp;nbsp; if(omp_get_thread_num() == 1) // assure only team member 1 executes this&lt;BR /&gt;&amp;nbsp; {&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; arraysSum(&amp;amp;arrays[micArraysNumber*arraySize], arraySize, arraysNumber - micArraysNumber, &amp;amp;sums[micArraysNumber], iterations);&amp;nbsp; &lt;BR /&gt;&amp;nbsp; }&amp;nbsp; &lt;BR /&gt;}&amp;nbsp; &lt;BR /&gt;[/cpp]&lt;/P&gt;
&lt;P&gt;The intention of the above test is to assure the master thread of the thread team of the parallel region, which is also the same thread that ran the code prior to the parallel region, is the thread executing the call to the MIC.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Sat, 14 Sep 2013 13:13:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926193#M13901</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2013-09-14T13:13:59Z</dc:date>
    </item>
    <item>
      <title>Timofey, are you sure you're</title>
      <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926194#M13902</link>
      <description>&lt;P&gt;Timofey, are you sure you're looking in the correct place? &amp;nbsp;micctrl by default is installed in /usr/sbin/ by the MPSS 2 installer, which conceivably you might have in your PATH. &amp;nbsp;micinfo and mpssinfo can be found in /opt/intel/mic/bin, which might not be in your PATH.. &amp;nbsp;If you don't find them there, then there may be a problem with your MPSS installation.&lt;/P&gt;</description>
      <pubDate>Sun, 15 Sep 2013 22:03:12 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926194#M13902</guid>
      <dc:creator>robert-reed</dc:creator>
      <dc:date>2013-09-15T22:03:12Z</dc:date>
    </item>
    <item>
      <title>To: jimdempseyatthecove</title>
      <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926195#M13903</link>
      <description>&lt;P&gt;To: &lt;A href="http://software.intel.com/en-us/user/100158"&gt;jimdempseyatthecove&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I execute your experiment. I got the same offload error. I tried to switch thread numbers in conditions and got the same error. I disable CPU code and got the same error. If I launch CPU code only then it works.&lt;/P&gt;
&lt;P&gt;To: &lt;A href="http://software.intel.com/en-us/user/336358"&gt;robert-reed (Intel)&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I asked our administrators about MPSS. They said MPSS is disabled on our cluster by default. Then we tried to launch my program with MPSS and got the same error as earlier.&lt;/P&gt;
&lt;P&gt;MPSS version is 2.1.5889-14.&lt;/P&gt;</description>
      <pubDate>Tue, 17 Sep 2013 07:40:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926195#M13903</guid>
      <dc:creator>Timofey_R_</dc:creator>
      <dc:date>2013-09-17T07:40:32Z</dc:date>
    </item>
    <item>
      <title>Timofey,</title>
      <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926196#M13904</link>
      <description>&lt;P&gt;Timofey,&lt;/P&gt;
&lt;P&gt;I don't have my Xeon Phi yet so I cannot test the advice. While at Intel's Developer's Forum last week someone had a similar issue. What was suggested to diagnose the problem is (which I cannot tell you what, but only what to look for), is there is there is an offload option to display a verbose message as to what is going on (status, environment variables, errors).&lt;/P&gt;
&lt;P&gt;What your problem sounds like is twofold: a) wrong environment variable settings&lt;EM&gt; in the Xeon Phi,&lt;/EM&gt; and b) bad programming that exposes itself during offload. As for a) the enviornment variables in the Xeon Phi, you typically set via setting host variable MIC_... where ... is the environment variable to set in the Xeon Phi (stripping off the "MIC_").&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;/P&gt;</description>
      <pubDate>Wed, 18 Sep 2013 15:01:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926196#M13904</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2013-09-18T15:01:59Z</dc:date>
    </item>
    <item>
      <title>Some diagnostics can be</title>
      <link>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926197#M13905</link>
      <description>&lt;P&gt;Some diagnostics can be reported by the OFFLOAD_REPORT&amp;nbsp;environment variable with values 1 to 3 - check the documentation for details.&amp;nbsp;&amp;nbsp; This should tell you if your code is running at all, although signal 11 sounds like it is, and then is running into a fatal exception somewhere.&amp;nbsp; We shouldn't get an exception if you try to run offload code when the card is not enabled, unless you force it to always&amp;nbsp;run on a given coprocessor&amp;nbsp;with #pragma offload target(mic:X).&lt;/P&gt;</description>
      <pubDate>Fri, 20 Sep 2013 19:11:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Using-MIC-offload-in-OpenMP-parallel-sections/m-p/926197#M13905</guid>
      <dc:creator>Charles_C_Intel1</dc:creator>
      <dc:date>2013-09-20T19:11:21Z</dc:date>
    </item>
  </channel>
</rss>

