<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Asynchronous data transfer to MIC buying anything?</title>
  <link rel="alternate" href="https://conferences.xsede.org/c/message_boards/find_thread?p_l_id=&amp;threadId=462935" />
  <subtitle>Asynchronous data transfer to MIC buying anything?</subtitle>
  <entry>
    <title>Asynchronous data transfer to MIC buying anything?</title>
    <link rel="alternate" href="https://conferences.xsede.org/c/message_boards/find_message?p_l_id=&amp;messageId=462934" />
    <author>
      <name />
    </author>
    <id>https://conferences.xsede.org/c/message_boards/find_message?p_l_id=&amp;messageId=462934</id>
    <updated>2013-02-19T18:33:50Z</updated>
    <published>2013-02-19T18:31:31Z</published>
    <summary type="html">I&amp;#039;m experiencing what appears to be a bug with asynchronous memory transfer offloads to the MIC. I&amp;#039;ve written a short program to expose the issue, which uses a 6GB array of doubles, and measures the time spent by the CPU executing a synchronous memory transfer, and then an asynchronous memory transfer. The array is pre-allocated on the MIC before the measurement portion of the code. &lt;br /&gt;&lt;div class="quote"&gt;&lt;div class="quote-content"&gt;&lt;br /&gt;time_sync = omp_get_wtime();&lt;br /&gt;#pragma offload_transfer in(data : length(size) alloc_if(0) free_if(0))&lt;br /&gt;time_sync = omp_get_wtime() - time_sync;&lt;br /&gt;&lt;br /&gt;time_async = omp_get_wtime();&lt;br /&gt;#pragma offload_transfer in(data : length(size) alloc_if(0) free_if(0)) signal(data)&lt;br /&gt;time_async = omp_get_wtime() - time_async;&lt;br /&gt;&lt;br /&gt;time_wait = omp_get_wtime();&lt;br /&gt;#pragma offload_wait wait(data)&lt;br /&gt;time_wait = omm_get_wtime() - time_wait;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I am seeing that time_async is approximately equal to time_sync (about 0.9 seconds), and that time_wait is only a fraction of time_async (about 0.01 seconds). By contrast, for asynchronously offloaded computation, I see no pause on the CPU.&lt;br /&gt;&lt;br /&gt;Is this a bug? Shouldn&amp;#039;t asynchronous data transfer be, well, asynchronous?</summary>
    <dc:date>2013-02-19T18:31:31Z</dc:date>
  </entry>
</feed>

