<?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 Kevin, in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/offload-signaled-documentation/m-p/1077806#M60508</link>
    <description>&lt;P&gt;Kevin,&lt;/P&gt;

&lt;P&gt;The results of STATUS() clause are those listed above. My interest is in the return of OFFLOAD_SIGNALED, which has a different (additional) set of return values.&lt;/P&gt;

&lt;P&gt;In particular, OFFLOAD_SIGNALED is intended for use with asynchronous offloads. The intended purpose is not only to determine STATUS(), but also if the signaled state is not signaled and the offload associated with the signal has not aborted (IOW running).&lt;/P&gt;

&lt;P&gt;Note, status OFFLOAD_UNAVAILABLE is not suitable for SIGNAL_BUSY or SIGNAL_NOT_SIGNALED. Though I could envision a naïve implementation to assume&amp;nbsp;OFFLOAD_UNAVAILABLE&amp;nbsp; is interchangeable.&lt;/P&gt;

&lt;P&gt;Jim Dempsey&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 18 Feb 2016 16:59:17 GMT</pubDate>
    <dc:creator>jimdempseyatthecove</dc:creator>
    <dc:date>2016-02-18T16:59:17Z</dc:date>
    <item>
      <title>offload_signaled documentation</title>
      <link>https://community.intel.com/t5/Software-Archive/offload-signaled-documentation/m-p/1077804#M60506</link>
      <description>&lt;P&gt;In the C++ (v16.0 update 1) documentation:&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;Determining if Code has Completed Running on a Coprocessor&lt;/EM&gt;&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;To determine if a section of offloaded code has completed running on a given coprocessor, you can use the API &lt;SPAN class="keyword"&gt;_&lt;SPAN style="color: rgb(34, 34, 34); background-color: rgb(255, 255, 0);"&gt;Offload_signaled&lt;/SPAN&gt;()&lt;/SPAN&gt;.&lt;/EM&gt;&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;The syntax for this API is:&lt;/EM&gt;&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;&lt;SAMP class="codeph"&gt;&lt;FONT face="Courier New"&gt;extern int _&lt;SPAN style="color: rgb(34, 34, 34); background-color: rgb(255, 255, 0);"&gt;Offload_signaled&lt;/SPAN&gt;(int &lt;VAR&gt;target_number&lt;/VAR&gt;, void *&lt;VAR&gt;signal&lt;/VAR&gt;);&lt;/FONT&gt;&lt;/SAMP&gt;&lt;/EM&gt;&lt;/P&gt;

&lt;DIV class="familylinks"&gt;
	&lt;DIV class="parentlink"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;

&lt;P&gt;Nowhere is it described what the return values are.&lt;/P&gt;

&lt;P&gt;Same thing in the Fortran documentation&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;Determining if Code has Completed Running on a Coprocessor&lt;/EM&gt;&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;To determine if a section of offloaded code has completed running on a given coprocessor, you can use the API &lt;SPAN class="keyword"&gt;&lt;SPAN style="color: rgb(34, 34, 34); background-color: rgb(255, 255, 0);"&gt;OFFLOAD_SIGNALED&lt;/SPAN&gt;()&lt;/SPAN&gt;.&lt;/EM&gt;&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;The syntax for this API is:&lt;/EM&gt;&lt;/P&gt;

&lt;P&gt;&lt;EM&gt;&lt;SAMP class="codeph"&gt;&lt;FONT face="Courier New"&gt;&lt;SPAN style="color: rgb(34, 34, 34); background-color: rgb(255, 255, 0);"&gt;OFFLOAD_SIGNALED&lt;/SPAN&gt;(&lt;VAR&gt;target_number&lt;/VAR&gt;,&lt;VAR&gt;signal&lt;/VAR&gt;)&lt;/FONT&gt;&lt;/SAMP&gt;&lt;/EM&gt;&lt;/P&gt;

&lt;DIV class="familylinks"&gt;
	&lt;DIV class="parentlink"&gt;&amp;nbsp;&lt;/DIV&gt;

	&lt;DIV class="parentlink"&gt;And you have to look inside mic_lib.f90 to find it returns an integer without specifying what the values can be.&lt;/DIV&gt;

	&lt;DIV class="parentlink"&gt;&amp;nbsp;&lt;/DIV&gt;

	&lt;DIV class="parentlink"&gt;In the mic_lib.f90 we find:&lt;/DIV&gt;

	&lt;DIV class="parentlink"&gt;
		&lt;PRE class="brush:fortran;"&gt;enum, bind(C)
&amp;nbsp;&amp;nbsp;&amp;nbsp; enumerator :: OFFLOAD_SUCCESS&amp;nbsp; = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp; enumerator :: OFFLOAD_DISABLED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! offload is disabled
&amp;nbsp;&amp;nbsp;&amp;nbsp; enumerator :: OFFLOAD_UNAVAILABLE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! card is not available
&amp;nbsp;&amp;nbsp;&amp;nbsp; enumerator :: OFFLOAD_OUT_OF_MEMORY&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! not enough memory on device
&amp;nbsp;&amp;nbsp;&amp;nbsp; enumerator :: OFFLOAD_PROCESS_DIED&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! target process has died
&amp;nbsp;&amp;nbsp;&amp;nbsp; enumerator :: OFFLOAD_ERROR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ! unspecified error
end enum
&lt;/PRE&gt;

		&lt;P&gt;But it is not stated (clear) as if these are, or are&amp;nbsp;the only return values. If they are the return values, then missing is OFFLOAD_BUSY&lt;/P&gt;

		&lt;P&gt;Does someone know what the return values are for OFFLOAD_SIGNALED?&lt;/P&gt;

		&lt;P&gt;Jim Dempsey&lt;/P&gt;
	&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Thu, 18 Feb 2016 13:30:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/offload-signaled-documentation/m-p/1077804#M60506</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2016-02-18T13:30:36Z</dc:date>
    </item>
    <item>
      <title>I'll confirm, but I</title>
      <link>https://community.intel.com/t5/Software-Archive/offload-signaled-documentation/m-p/1077805#M60507</link>
      <description>&lt;P&gt;I'll confirm, but I understand offload_signaled() returns a&amp;nbsp;1 (true) or&amp;nbsp;0 (false)&amp;nbsp;based on the signal having been set (1) or not (0). The values cited from mic_lib.f90 correspond to the STATUS() clause.&lt;/P&gt;</description>
      <pubDate>Thu, 18 Feb 2016 15:38:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/offload-signaled-documentation/m-p/1077805#M60507</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2016-02-18T15:38:00Z</dc:date>
    </item>
    <item>
      <title>Kevin,</title>
      <link>https://community.intel.com/t5/Software-Archive/offload-signaled-documentation/m-p/1077806#M60508</link>
      <description>&lt;P&gt;Kevin,&lt;/P&gt;

&lt;P&gt;The results of STATUS() clause are those listed above. My interest is in the return of OFFLOAD_SIGNALED, which has a different (additional) set of return values.&lt;/P&gt;

&lt;P&gt;In particular, OFFLOAD_SIGNALED is intended for use with asynchronous offloads. The intended purpose is not only to determine STATUS(), but also if the signaled state is not signaled and the offload associated with the signal has not aborted (IOW running).&lt;/P&gt;

&lt;P&gt;Note, status OFFLOAD_UNAVAILABLE is not suitable for SIGNAL_BUSY or SIGNAL_NOT_SIGNALED. Though I could envision a naïve implementation to assume&amp;nbsp;OFFLOAD_UNAVAILABLE&amp;nbsp; is interchangeable.&lt;/P&gt;

&lt;P&gt;Jim Dempsey&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Feb 2016 16:59:17 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/offload-signaled-documentation/m-p/1077806#M60508</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2016-02-18T16:59:17Z</dc:date>
    </item>
    <item>
      <title>Jim,</title>
      <link>https://community.intel.com/t5/Software-Archive/offload-signaled-documentation/m-p/1077807#M60509</link>
      <description>&lt;P&gt;Jim,&lt;BR /&gt;
	&amp;nbsp;&amp;nbsp; The return value is 1 (true) &amp;nbsp;or 0 (false) if offload associated with the signal has completed or not.&lt;/P&gt;

&lt;P&gt;Ravi&lt;/P&gt;</description>
      <pubDate>Thu, 18 Feb 2016 21:38:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/offload-signaled-documentation/m-p/1077807#M60509</guid>
      <dc:creator>Ravi_N_Intel</dc:creator>
      <dc:date>2016-02-18T21:38:50Z</dc:date>
    </item>
  </channel>
</rss>

