<?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 Yes, the samples included in in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976733#M25164</link>
    <description>&lt;P&gt;Yes, the samples included in the product installation are good first resource. Unfortunately documentation changes lag actual functional changes, where&amp;nbsp;functional changes appear in update releases but most often doc updates only appear in the next major new release.&lt;/P&gt;
&lt;P&gt;Glad I could help. Wish you well going forward.&lt;/P&gt;</description>
    <pubDate>Mon, 03 Jun 2013 11:56:33 GMT</pubDate>
    <dc:creator>Kevin_D_Intel</dc:creator>
    <dc:date>2013-06-03T11:56:33Z</dc:date>
    <item>
      <title>Fortran asynchronous offload error</title>
      <link>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976726#M25157</link>
      <description>&lt;P&gt;Trying to get my head around asynchronous offloading in Fortran. Tried an example from Jim Jeffers and James Reinders book (page 232). It doesn't run.&lt;/P&gt;
&lt;P&gt;Code:&lt;/P&gt;
&lt;P&gt;program main&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; implicit none&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer, parameter :: n = 4096&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; real, allocatable :: f1(:), f2(:), result&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ attributes offload:mic :: f1, f2&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer :: signal_1, signal_2&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ attributes align : 64 :: f1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ attributes align : 64 :: f2&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; allocate(f1(n))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; allocate(f2(n))&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f1 = 1.0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ offload_transfer target(mic:0) in(f1) signal(signal_1)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; f2 = 3.14&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ offload_transfer target(mic:0) in(f2) signal(signal_2)&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ offload begin target(mic:0) wait(signal_1,signal_2) out(result)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = f1(434) + f2(222)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ end offload&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; print *, "result = ", result&lt;BR /&gt;&lt;BR /&gt;end program main&lt;/P&gt;
&lt;P&gt;I run this and get the error:&lt;/P&gt;
&lt;P&gt;offload error: device 0 does not have a pending signal for wait((nil))&lt;BR /&gt;forrtl: error (76): Abort trap signal&lt;BR /&gt;Image&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; PC&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;&amp;nbsp;&amp;nbsp; Routine&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Line&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source&lt;BR /&gt;libc.so.6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00007FFFF70C8B35&amp;nbsp; Unknown&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;&amp;nbsp; Unknown&amp;nbsp; Unknown&lt;BR /&gt;libc.so.6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00007FFFF70CA111&amp;nbsp; Unknown&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;&amp;nbsp; Unknown&amp;nbsp; Unknown&lt;BR /&gt;liboffload.so.5&amp;nbsp;&amp;nbsp;&amp;nbsp; 00007FFFF7639AC2&amp;nbsp; Unknown&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;&amp;nbsp; Unknown&amp;nbsp; Unknown&lt;BR /&gt;liboffload.so.5&amp;nbsp;&amp;nbsp;&amp;nbsp; 00007FFFF7643420&amp;nbsp; Unknown&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;&amp;nbsp; Unknown&amp;nbsp; Unknown&lt;BR /&gt;a.out&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; 0000000000403DD0&amp;nbsp; Unknown&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;&amp;nbsp; Unknown&amp;nbsp; Unknown&lt;BR /&gt;a.out&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; 00000000004039EC&amp;nbsp; Unknown&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;&amp;nbsp; Unknown&amp;nbsp; Unknown&lt;BR /&gt;libc.so.6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00007FFFF70B4C16&amp;nbsp; Unknown&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;&amp;nbsp; Unknown&amp;nbsp; Unknown&lt;BR /&gt;a.out&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; 0000000000403879&amp;nbsp; Unknown&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;&amp;nbsp; Unknown&amp;nbsp; Unknown&lt;BR /&gt;Aborted&lt;/P&gt;
&lt;P&gt;Why doesn't it work? :(&lt;/P&gt;
&lt;P&gt;Question 2:&lt;/P&gt;
&lt;P&gt;How is the signal / wait thing implemented? Is it a semaphore? If I want to do an asynchronous transfer as part of some other subroutine, can I return the signal integer and use it in an offload wait elsewhere in the code or do I have to use a pointer to some memory to do that?&lt;/P&gt;
&lt;P&gt;Jim&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 31 May 2013 14:46:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976726#M25157</guid>
      <dc:creator>james_B_8</dc:creator>
      <dc:date>2013-05-31T14:46:35Z</dc:date>
    </item>
    <item>
      <title>I managed some progress on my</title>
      <link>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976727#M25158</link>
      <description>&lt;P&gt;I managed some progress on my own. So this now works:&lt;BR /&gt;
	program main&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; implicit none&lt;BR /&gt;
	&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; integer, parameter :: n = 4096&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; real, allocatable :: f1(:), f2(:)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; real :: result&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ attributes offload:mic :: f1, f2&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; integer :: signal_1, signal_2&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ attributes offload:mic :: signal_1, signal_2&lt;BR /&gt;
	&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; signal_1 = 1&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; signal_2 = 2&lt;BR /&gt;
	&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; allocate(f1(n))&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; allocate(f2(n))&lt;BR /&gt;
	&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ offload_transfer target(mic:0) nocopy(f1,f2: LENGTH(n) ALLOC, RETAIN)&lt;BR /&gt;
	&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; f1 = 1.0&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ offload_transfer target(mic:0) in(f1: REUSE, RETAIN) signal(signal_1)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; f2 = 3.14&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ offload_transfer target(mic:0) in(f2: REUSE, RETAIN) signal(signal_2)&lt;BR /&gt;
	&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ offload begin target(mic:0) wait(signal_1,signal_2) out(result)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = f1(434) + f2(222)&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; !dir$ end offload&lt;BR /&gt;
	&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp;&amp;nbsp; print *, "result = ", result&lt;BR /&gt;
	&lt;BR /&gt;
	end program main&lt;/P&gt;

&lt;P&gt;I have to set the values of the signals by hand???? This seems a bit odd. I assumed it would be like non-blocking communication in MPI.&lt;/P&gt;

&lt;P&gt;What's really going on here?&lt;/P&gt;</description>
      <pubDate>Fri, 31 May 2013 15:54:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976727#M25158</guid>
      <dc:creator>james_B_8</dc:creator>
      <dc:date>2013-05-31T15:54:00Z</dc:date>
    </item>
    <item>
      <title>You have piqued my curiousity</title>
      <link>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976728#M25159</link>
      <description>&lt;P&gt;You have piqued my curiousity. I'm going to ask around and find out for you.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 01 Jun 2013 01:32:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976728#M25159</guid>
      <dc:creator>Frances_R_Intel</dc:creator>
      <dc:date>2013-06-01T01:32:04Z</dc:date>
    </item>
    <item>
      <title>The “tag” in the SIGNAL</title>
      <link>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976729#M25160</link>
      <description>&lt;P&gt;The “&lt;STRONG&gt;&lt;I&gt;tag&lt;/I&gt;&lt;/STRONG&gt;” in the SIGNAL clause is treated as a memory reference internally. All “&lt;STRONG&gt;&lt;I&gt;tag&lt;/I&gt;&lt;/STRONG&gt;” variables must only be set to unique initial values. The variable does not capture the “state” of the internal associated signal itself during execution.&lt;/P&gt;</description>
      <pubDate>Mon, 03 Jun 2013 08:47:25 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976729#M25160</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2013-06-03T08:47:25Z</dc:date>
    </item>
    <item>
      <title>Thanks for your response.</title>
      <link>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976730#M25161</link>
      <description>&lt;P&gt;Thanks for your response.&lt;/P&gt;

&lt;P&gt;So is the example in the compiler manual is wrong/outdated then? - &lt;A href="http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/fortran-lin/index.htm#GUID-98C9A65B-6307-4798-AA12-25E469B74818.htm#GUID-98C9A65B-6307-4798-AA12-25E469B74818" target="_blank"&gt;http://software.intel.com/sites/products/documentation/doclib/stdxe/2013/composerxe/compiler/fortran-lin/index.htm#GUID-98C9A65B-6307-4798-AA12-25E469B74818.htm#GUID-98C9A65B-6307-4798-AA12-25E469B74818&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Also in the examples they set the signal variables to have the offload attribute. Why is this? Upon testing it seems to work the same without it.&lt;/P&gt;</description>
      <pubDate>Mon, 03 Jun 2013 09:36:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976730#M25161</guid>
      <dc:creator>james_B_8</dc:creator>
      <dc:date>2013-06-03T09:36:00Z</dc:date>
    </item>
    <item>
      <title>Yes, the examples in the</title>
      <link>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976731#M25162</link>
      <description>&lt;P&gt;Recent changes in the handling of the signal variable&amp;nbsp;affected the&amp;nbsp;book and User guide examples; unfortunately making then incomplete/incorrect. We apologize for the confusing/incorrect examples.&lt;/P&gt;
&lt;P&gt;The offload attribute is not needed on the signal variables.&lt;/P&gt;
&lt;P&gt;The first example with signal variables &lt;B&gt;sin1, sin2, sout1, sout2&lt;/B&gt; is incorrect and should have initialized each to a unique value (e.g. 1, 2, 3, 4) in main() or the module. The declaration within the module need *&lt;B&gt;not&lt;/B&gt;* appear within the scope of the&lt;STRONG&gt; !dir$&lt;/STRONG&gt; &lt;B&gt;OPTIONS /offload_attribute_target&lt;/B&gt; directive either. The current 13.1 compiler issues an erroneous warning when you move the declaration to after the &lt;B&gt;!dir$ end options&lt;/B&gt;. You can safely ignore the warning. The next major release due out later this year will not issue the warning.&lt;/P&gt;
&lt;P&gt;The second example with signal variables &lt;B&gt;ktag &lt;/B&gt;and&lt;B&gt; gtag&lt;/B&gt; is also incorrect by failing to initialize either ktag or gtag to an initial value. In that particular example both could be initialized to the same value since only one is used at a time.&lt;/P&gt;
&lt;P&gt;The examples in the documentation will be corrected.&lt;/P&gt;</description>
      <pubDate>Mon, 03 Jun 2013 11:13:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976731#M25162</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2013-06-03T11:13:00Z</dc:date>
    </item>
    <item>
      <title>Righto. I understand how it</title>
      <link>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976732#M25163</link>
      <description>&lt;P&gt;Righto. I understand how it works now. The examples that come with the compiler are actually correct. I'll know in future to check those for the most up-to-date way of using the new offload features.&lt;/P&gt;

&lt;P&gt;Thanks for your help!&lt;/P&gt;</description>
      <pubDate>Mon, 03 Jun 2013 11:44:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976732#M25163</guid>
      <dc:creator>james_B_8</dc:creator>
      <dc:date>2013-06-03T11:44:00Z</dc:date>
    </item>
    <item>
      <title>Yes, the samples included in</title>
      <link>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976733#M25164</link>
      <description>&lt;P&gt;Yes, the samples included in the product installation are good first resource. Unfortunately documentation changes lag actual functional changes, where&amp;nbsp;functional changes appear in update releases but most often doc updates only appear in the next major new release.&lt;/P&gt;
&lt;P&gt;Glad I could help. Wish you well going forward.&lt;/P&gt;</description>
      <pubDate>Mon, 03 Jun 2013 11:56:33 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Fortran-asynchronous-offload-error/m-p/976733#M25164</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2013-06-03T11:56:33Z</dc:date>
    </item>
  </channel>
</rss>

