<?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 Quote:Ravi Narayanaswamy  in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092862#M65883</link>
    <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Ravi Narayanaswamy (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Intel compiler does support OpenMP4.0. &amp;nbsp;When you use target without any map and use a pointer inside the target region, &amp;nbsp;the pointer is treated as scalar and the value it contain ie the host memory is sent to the target.&lt;/P&gt;

&lt;P&gt;Change your program as follows&lt;/P&gt;

&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;BR /&gt;
	#include &amp;lt;stdlib.h&amp;gt;&lt;BR /&gt;
	#include &amp;lt;omp.h&amp;gt;&lt;/P&gt;

&lt;P&gt;int main(int argc, char* argv[])&lt;BR /&gt;
	{&lt;BR /&gt;
	&amp;nbsp; int *a, *b;&lt;BR /&gt;
	&amp;nbsp; a = (int *) malloc(sizeof(int));&lt;BR /&gt;
	&amp;nbsp; b = (int *) malloc(sizeof(int));&lt;BR /&gt;
	&amp;nbsp; *a = 1;&lt;BR /&gt;
	#pragma omp target data map(to:a[0:1]) map(from:b[0:1])&lt;BR /&gt;
	&amp;nbsp; {&lt;BR /&gt;
	#pragma omp target &lt;STRONG&gt;map(to:a[0:1]) map(from:b[0:1])&lt;/STRONG&gt;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; *b = *a;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; printf(" Value on host %d\n", *b);&lt;BR /&gt;
	&amp;nbsp; return 0;&lt;BR /&gt;
	}&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;I guess you misunderstand my question. It is not about scalar, but the array/vector version. In OpenMP 4.0 sementics, the data will be moved to the target device when using the following statement separately, right? But it is not working with icc from Parallel Studio 2017.&lt;/P&gt;

&lt;PRE&gt;#pragma omp target data map(to: a[0:num]) map(from: b[0:num])&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 29 Sep 2016 02:07:57 GMT</pubDate>
    <dc:creator>Jianbin_F_</dc:creator>
    <dc:date>2016-09-29T02:07:57Z</dc:date>
    <item>
      <title>offload error (signal 11)</title>
      <link>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092858#M65879</link>
      <description>&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;I run the attached code with the newly downloaded Intel Parallel Studio 2017 on Intel Xeon Phi 31SP (icc -openmp hello.c -o hello). It reports the following message:&amp;nbsp;&lt;/P&gt;

&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;offload error: process on the device 0 was terminated by signal 11 (SIGSEGV).&lt;/P&gt;

&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;Could anybody shede some light on it?&amp;nbsp;&lt;/P&gt;

&lt;P style="word-wrap: break-word; font-size: 12px;"&gt;-------------------------------------------------------------------------------------&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;omp.h&amp;gt;

int main(int argc, char* argv[])
{
  int *a, *b;
  a = (int *) malloc(sizeof(int));
  b = (int *) malloc(sizeof(int));
  *a = 1;
#pragma omp target data map(to:a) map(from:b)
  {
#pragma omp target
    {
      *b = *a;
    }   
  }
  printf("%d\n", *b);
  return 0;
}&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 26 Sep 2016 14:50:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092858#M65879</guid>
      <dc:creator>Jianbin_F_</dc:creator>
      <dc:date>2016-09-26T14:50:54Z</dc:date>
    </item>
    <item>
      <title>I modified the program so</title>
      <link>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092859#M65880</link>
      <description>&lt;P style="margin: 0in 0in 8pt;"&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;I modified the program so that it can offload an array to the Intel Xeon Phi coprocessor. Note that Intel Parallel Studio 2017 is used in this example:&lt;/FONT&gt;&lt;/P&gt;

&lt;PRE class="brush:;"&gt;int main()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; int *a, *b;
#ifdef ARRAY
&amp;nbsp;&amp;nbsp;&amp;nbsp; int num=64;
#else
&amp;nbsp;&amp;nbsp;&amp;nbsp; int num=1;
#endif
&amp;nbsp;&amp;nbsp;&amp;nbsp; a = (int *) malloc(num*sizeof(int));
&amp;nbsp;&amp;nbsp;&amp;nbsp; b = (int *) malloc(num*sizeof(int));

&amp;nbsp;&amp;nbsp;&amp;nbsp; int n;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (n=0; n&amp;lt;num; n++)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&lt;N&gt; = n;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&lt;N&gt; = -1;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (n=0; n&amp;lt;num; n++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("BEFORE: b[%d]=%d\n", n, b&lt;N&gt;);

&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma omp target map(to: a[0:num]) map(from: b[0:num])
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
#ifdef ARRAY
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma omp parallel for
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (n=0; n&amp;lt;num; n++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&lt;N&gt; = a&lt;N&gt;;
#else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b[0] = a[0];
#endif
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; for (n=0; n&amp;lt;num; n++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("AFTER: b[%d]=%d\n", n, b&lt;N&gt;);

&amp;nbsp;&amp;nbsp;&amp;nbsp; free(a);
&amp;nbsp;&amp;nbsp;&amp;nbsp; free(b);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;
}
&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/PRE&gt;

&lt;P style="margin: 0in 0in 8pt;"&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;Set the environment variables:&lt;/FONT&gt;&lt;/P&gt;

&lt;P style="margin: 0in 0in 8pt;"&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;$ source /opt/intel/parallel_studio_xe_2017.0.035/psxevars.sh intel64&lt;/FONT&gt;&lt;/P&gt;

&lt;P style="margin: 0in 0in 8pt;"&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;Build the binary with one element offload:&lt;/FONT&gt;&lt;/P&gt;

&lt;P style="margin: 0in 0in 8pt;"&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;$ icc hello.c -qopenmp -o single&lt;/FONT&gt;&lt;/P&gt;

&lt;P style="margin: 0in 0in 8pt;"&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;Build the binary with an array offload:&lt;/FONT&gt;&lt;/P&gt;

&lt;P style="margin: 0in 0in 8pt;"&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;$ icc hello.c -qopenmp -o array –DARRAY&lt;/FONT&gt;&lt;/P&gt;

&lt;P style="margin: 0in 0in 8pt;"&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;Verify that MPSS is in service before running the program:&lt;/FONT&gt;&lt;/P&gt;

&lt;P style="margin: 0in 0in 8pt;"&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;$ micinfo&lt;/FONT&gt;&lt;/P&gt;

&lt;P style="margin: 0in 0in 8pt;"&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;Run the program:&lt;/FONT&gt;&lt;/P&gt;

&lt;P style="margin: 0in 0in 8pt;"&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;$ ./single&lt;/FONT&gt;&lt;/P&gt;

&lt;P style="margin: 0in 0in 8pt;"&gt;&lt;FONT color="#000000" face="Calibri" size="3"&gt;$ ./array&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Sep 2016 23:13:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092859#M65880</guid>
      <dc:creator>Loc_N_Intel</dc:creator>
      <dc:date>2016-09-27T23:13:06Z</dc:date>
    </item>
    <item>
      <title>Quote:Loc N. (Intel) wrote:</title>
      <link>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092860#M65881</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Loc N. (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;I modified the program so that it can offload an array to the Intel Xeon Phi coprocessor. Note that Intel Parallel Studio 2017 is used in this example:&lt;/P&gt;

&lt;PRE&gt;int main()
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; int *a, *b;
#ifdef ARRAY
&amp;nbsp;&amp;nbsp;&amp;nbsp; int num=64;
#else
&amp;nbsp;&amp;nbsp;&amp;nbsp; int num=1;
#endif
&amp;nbsp;&amp;nbsp;&amp;nbsp; a = (int *) malloc(num*sizeof(int));
&amp;nbsp;&amp;nbsp;&amp;nbsp; b = (int *) malloc(num*sizeof(int));

&amp;nbsp;&amp;nbsp;&amp;nbsp; int n;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (n=0; n&amp;lt;num; n++)
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a&lt;N&gt; = n;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&lt;N&gt; = -1;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (n=0; n&amp;lt;num; n++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("BEFORE: b[%d]=%d\n", n, b&lt;N&gt;);

&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma omp target map(to: a[0:num]) map(from: b[0:num])
&amp;nbsp;&amp;nbsp;&amp;nbsp; {
#ifdef ARRAY
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma omp parallel for
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (n=0; n&amp;lt;num; n++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b&lt;N&gt; = a&lt;N&gt;;
#else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; b[0] = a[0];
#endif
&amp;nbsp;&amp;nbsp;&amp;nbsp; }

&amp;nbsp;&amp;nbsp;&amp;nbsp; for (n=0; n&amp;lt;num; n++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("AFTER: b[%d]=%d\n", n, b&lt;N&gt;);

&amp;nbsp;&amp;nbsp;&amp;nbsp; free(a);
&amp;nbsp;&amp;nbsp;&amp;nbsp; free(b);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;
}
&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/N&gt;&lt;/PRE&gt;

&lt;P&gt;Set the environment variables:&lt;/P&gt;

&lt;P&gt;$ source /opt/intel/parallel_studio_xe_2017.0.035/psxevars.sh intel64&lt;/P&gt;

&lt;P&gt;Build the binary with one element offload:&lt;/P&gt;

&lt;P&gt;$ icc hello.c -qopenmp -o single&lt;/P&gt;

&lt;P&gt;Build the binary with an array offload:&lt;/P&gt;

&lt;P&gt;$ icc hello.c -qopenmp -o array –DARRAY&lt;/P&gt;

&lt;P&gt;Verify that MPSS is in service before running the program:&lt;/P&gt;

&lt;P&gt;$ micinfo&lt;/P&gt;

&lt;P&gt;Run the program:&lt;/P&gt;

&lt;P&gt;$ ./single&lt;/P&gt;

&lt;P&gt;$ ./array&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Thank you so much for the reply. Then I change the line while all the other lines remain.&lt;/P&gt;

&lt;PRE&gt;#pragma omp target map(to: a[0:num]) map(from: b[0:num])&lt;/PRE&gt;

&lt;P&gt;to&lt;/P&gt;

&lt;PRE&gt;#pragma omp target data map(to: a[0:num]) map(from: b[0:num])&lt;/PRE&gt;

&lt;P&gt;I can compile the code without any issue, but the verification step does not work. I noticed that Array a is not moved to the target device. I wonder whether the OpenMP4.0 is fully supported by the Intel Compiler at the very moment.&lt;/P&gt;</description>
      <pubDate>Wed, 28 Sep 2016 02:52:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092860#M65881</guid>
      <dc:creator>Jianbin_F_</dc:creator>
      <dc:date>2016-09-28T02:52:00Z</dc:date>
    </item>
    <item>
      <title>Intel compiler does support</title>
      <link>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092861#M65882</link>
      <description>&lt;P&gt;Intel compiler does support OpenMP4.0. &amp;nbsp;When you use target without any map and use a pointer inside the target region, &amp;nbsp;the pointer is treated as scalar and the value it contain ie the host memory is sent to the target.&lt;/P&gt;

&lt;P&gt;Change your program as follows&lt;/P&gt;

&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;BR /&gt;
	#include &amp;lt;stdlib.h&amp;gt;&lt;BR /&gt;
	#include &amp;lt;omp.h&amp;gt;&lt;/P&gt;

&lt;P&gt;int main(int argc, char* argv[])&lt;BR /&gt;
	{&lt;BR /&gt;
	&amp;nbsp; int *a, *b;&lt;BR /&gt;
	&amp;nbsp; a = (int *) malloc(sizeof(int));&lt;BR /&gt;
	&amp;nbsp; b = (int *) malloc(sizeof(int));&lt;BR /&gt;
	&amp;nbsp; *a = 1;&lt;BR /&gt;
	#pragma omp target data map(to:a[0:1]) map(from:b[0:1])&lt;BR /&gt;
	&amp;nbsp; {&lt;BR /&gt;
	#pragma omp target &lt;STRONG&gt;map(to:a[0:1]) map(from:b[0:1])&lt;/STRONG&gt;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; *b = *a;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; printf(" Value on host %d\n", *b);&lt;BR /&gt;
	&amp;nbsp; return 0;&lt;BR /&gt;
	}&lt;/P&gt;</description>
      <pubDate>Wed, 28 Sep 2016 16:02:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092861#M65882</guid>
      <dc:creator>Ravi_N_Intel</dc:creator>
      <dc:date>2016-09-28T16:02:00Z</dc:date>
    </item>
    <item>
      <title>Quote:Ravi Narayanaswamy</title>
      <link>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092862#M65883</link>
      <description>&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Ravi Narayanaswamy (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Intel compiler does support OpenMP4.0. &amp;nbsp;When you use target without any map and use a pointer inside the target region, &amp;nbsp;the pointer is treated as scalar and the value it contain ie the host memory is sent to the target.&lt;/P&gt;

&lt;P&gt;Change your program as follows&lt;/P&gt;

&lt;P&gt;#include &amp;lt;stdio.h&amp;gt;&lt;BR /&gt;
	#include &amp;lt;stdlib.h&amp;gt;&lt;BR /&gt;
	#include &amp;lt;omp.h&amp;gt;&lt;/P&gt;

&lt;P&gt;int main(int argc, char* argv[])&lt;BR /&gt;
	{&lt;BR /&gt;
	&amp;nbsp; int *a, *b;&lt;BR /&gt;
	&amp;nbsp; a = (int *) malloc(sizeof(int));&lt;BR /&gt;
	&amp;nbsp; b = (int *) malloc(sizeof(int));&lt;BR /&gt;
	&amp;nbsp; *a = 1;&lt;BR /&gt;
	#pragma omp target data map(to:a[0:1]) map(from:b[0:1])&lt;BR /&gt;
	&amp;nbsp; {&lt;BR /&gt;
	#pragma omp target &lt;STRONG&gt;map(to:a[0:1]) map(from:b[0:1])&lt;/STRONG&gt;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; {&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; &amp;nbsp; *b = *a;&lt;BR /&gt;
	&amp;nbsp; &amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; }&lt;BR /&gt;
	&amp;nbsp; printf(" Value on host %d\n", *b);&lt;BR /&gt;
	&amp;nbsp; return 0;&lt;BR /&gt;
	}&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;I guess you misunderstand my question. It is not about scalar, but the array/vector version. In OpenMP 4.0 sementics, the data will be moved to the target device when using the following statement separately, right? But it is not working with icc from Parallel Studio 2017.&lt;/P&gt;

&lt;PRE&gt;#pragma omp target data map(to: a[0:num]) map(from: b[0:num])&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 29 Sep 2016 02:07:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092862#M65883</guid>
      <dc:creator>Jianbin_F_</dc:creator>
      <dc:date>2016-09-29T02:07:57Z</dc:date>
    </item>
    <item>
      <title>How did you conclude that</title>
      <link>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092863#M65884</link>
      <description>&lt;P&gt;How did you conclude that #pragma omp target data map(to:a[0:num]) is not moving data to target device.&lt;/P&gt;

&lt;P&gt;If you used #pragma omp target to access "a" to prove memory is not move, &amp;nbsp;then what I said holds that in #pragma omp target "a" is treated as a scalar and only the value in it which is pointing to host memory is sent to device in the #pragma omp target. &amp;nbsp;So you cannot de-reference it on the device and expect it to point to device memory which was create in the outer #pragma omp target data&lt;/P&gt;</description>
      <pubDate>Thu, 29 Sep 2016 17:59:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092863#M65884</guid>
      <dc:creator>Ravi_N_Intel</dc:creator>
      <dc:date>2016-09-29T17:59:51Z</dc:date>
    </item>
    <item>
      <title>You may be right I</title>
      <link>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092864#M65885</link>
      <description>&lt;P&gt;You may be right I misunderstood your question. &amp;nbsp;Is your question the value printed on the host is not 1 when you change #pragma omp target &amp;nbsp;map..... &amp;nbsp; &amp;nbsp;to #pragma omp target &lt;STRONG&gt;data&lt;/STRONG&gt; map ..... &amp;nbsp;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;If that is your question then the answer is value printed can be anything depending on what the device value of b is initialized with (usually zero). &amp;nbsp; Converting omp target to omp target data means the code inside this region is not offloaded but executed on the host. &amp;nbsp;At the end of the omp target data region the value of b is brought back from the device, remember nothing was executed on the device, so the value brought back from device could be anything, &amp;nbsp;the value which is brought back overwrites the value &amp;nbsp;of b which was assigned to 1.&lt;/P&gt;</description>
      <pubDate>Fri, 30 Sep 2016 23:15:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/offload-error-signal-11/m-p/1092864#M65885</guid>
      <dc:creator>Ravi_N_Intel</dc:creator>
      <dc:date>2016-09-30T23:15:20Z</dc:date>
    </item>
  </channel>
</rss>

