2016-07-04 33 views
1

我刚刚接触至强Phi编程,并且当前正试图学习显式卸载编程......我一直在阅读由intel提供的某些教程,但我无法正确理解如果有人知道它的含义,请尝试通过在不同场景中给出它的用法来解释它的含义,如果您能够向我介绍网络上的任何交互式教程,将会非常有帮助。Xeon Phi编程中的nocopy子句的含义

回答

1

对于默认的#pragma卸载,这五件事情:

  1. 至强披
  2. 移动数据分配的空间至强融核
  3. 从至强融核
  4. 做数学
  5. 移动数据
  6. 免费分配缓冲区

nocopy子句te使用附注来跳过步骤2和步骤4.

这是一个用例,当您正在执行异步卸载时。

移动第一代Xeon Phi或第二代Xeon Phi架构的PCIe数据时有延迟,特别是对于大型阵列。如果您可以在主机上执行其他操作,而您执行卸载传输,则效率会更高。

异步卸载是当您使用#pragma offload_transfer的组合,仅移动数据而不计算和#pragma卸载来执行计算的时候,当然,在主机上的两个编译指示之间执行某些操作。

您为#pragma卸载指定nocopy子句,因为您已经使用第一个#pragma offload_transfer将数据传输到Xeon Phi。