<?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 I wouldn't specify any of in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Measuring-offload-processing-time-with-clock-gettime-and-SCIF/m-p/1038092#M44897</link>
    <description>&lt;P&gt;I wouldn't specify any of these options, but if you really want to set one, I would try&amp;nbsp;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;CLOCK_REALTIME. Comparing times between the host and the coprocessor is problematic at best - the clock on the coprocessor is set from the host when the card is booted but does not continually check to be sure the clocks are in sync - but comparing clock ticks between any two different systems is always problematic, given that the clock rate is not necessarily the same.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;Personally, I would set the OFFLOAD_REPORT environment variable - 2 would be a good value in this case - rather than putting in my own timing statements. It gives you the host time from start of offload to end of offload and the coprocessor cpu time - in other words, compares host clock to host clock and coprocessor clock to coprocessor clock.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;Finally, remember that the difference in time between starting the offload process and starting execution on the coprocessor and the time between finishing execution on the coprocessor and exiting the offload process includes overhead. I used to think that the overhead was small enough to ignore when computing data transfer rates but now I am wiser.&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Thu, 18 Jun 2015 18:36:30 GMT</pubDate>
    <dc:creator>Frances_R_Intel</dc:creator>
    <dc:date>2015-06-18T18:36:30Z</dc:date>
    <item>
      <title>Measuring offload processing time with clock_gettime() and SCIF API</title>
      <link>https://community.intel.com/t5/Software-Archive/Measuring-offload-processing-time-with-clock-gettime-and-SCIF/m-p/1038091#M44896</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;Hi, I recently built an app that sends data to MIC, process them, and return them.&lt;/P&gt;

&lt;P&gt;I implemented the whole thing with just pthreads to get as much transparency as possible.&lt;/P&gt;

&lt;P&gt;Problem is, I'm not sure I'm measuring the offload latency right.&lt;/P&gt;

&lt;P&gt;I currently built it so that it take 4 timestamps:&lt;/P&gt;

&lt;P&gt;offload begin (from host) - (scif transfer) - remote processing begin (from mic) - (actual processing) - remote processing end (from mic) - (scif transfer back to host) - offload end (from host)&lt;/P&gt;

&lt;P&gt;Would using clock_gettime() with one of the parameters (&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;CLOCK_MONOTONIC_RAW, CLOCK_MONOTONIC, CLOCK_REALTIME)&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;each time get me a correct, consistent measurement across host and device with microseconds precision?&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 13.0080003738403px; line-height: 19.5120010375977px;"&gt;If so, which parameter of the three should I use?&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 14 Jun 2015 09:40:32 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Measuring-offload-processing-time-with-clock-gettime-and-SCIF/m-p/1038091#M44896</guid>
      <dc:creator>Jun_Hyun_S_</dc:creator>
      <dc:date>2015-06-14T09:40:32Z</dc:date>
    </item>
    <item>
      <title>I wouldn't specify any of</title>
      <link>https://community.intel.com/t5/Software-Archive/Measuring-offload-processing-time-with-clock-gettime-and-SCIF/m-p/1038092#M44897</link>
      <description>&lt;P&gt;I wouldn't specify any of these options, but if you really want to set one, I would try&amp;nbsp;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;CLOCK_REALTIME. Comparing times between the host and the coprocessor is problematic at best - the clock on the coprocessor is set from the host when the card is booted but does not continually check to be sure the clocks are in sync - but comparing clock ticks between any two different systems is always problematic, given that the clock rate is not necessarily the same.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;Personally, I would set the OFFLOAD_REPORT environment variable - 2 would be a good value in this case - rather than putting in my own timing statements. It gives you the host time from start of offload to end of offload and the coprocessor cpu time - in other words, compares host clock to host clock and coprocessor clock to coprocessor clock.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 12px; line-height: 18px;"&gt;Finally, remember that the difference in time between starting the offload process and starting execution on the coprocessor and the time between finishing execution on the coprocessor and exiting the offload process includes overhead. I used to think that the overhead was small enough to ignore when computing data transfer rates but now I am wiser.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 18 Jun 2015 18:36:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Measuring-offload-processing-time-with-clock-gettime-and-SCIF/m-p/1038092#M44897</guid>
      <dc:creator>Frances_R_Intel</dc:creator>
      <dc:date>2015-06-18T18:36:30Z</dc:date>
    </item>
  </channel>
</rss>

