我是Xeon Phi编程的新手,我正在尝试学习明确的卸载编程...我一直在阅读英特尔提供的某些教程,但我无法正确理解 nocopy <的含义/ strong>子句如果有人知道它,请尝试通过举例说明它在不同场景中的用法来解释,如果你可以向我介绍网上的任何互动教程,那将会很有帮助。
答案 0 :(得分:1)
对于默认的#pragma offload,会发生以下五件事:
nocopy子句告诉编译指示跳过步骤2和步骤4.
用例就是在进行异步卸载时。
在第一代Xeon Phi的PCIe或第二代Xeon Phi的结构上移动数据具有延迟,特别是对于大型阵列。如果您在卸载转移时可以在主机上执行其他操作,效率会更高。
异步卸载是指使用#pragma offload_transfer的组合,仅在不进行计算的情况下移动数据,以及#pragma offload,以进行计算,当然,还可以在主机上的两个pragma之间执行某些操作。
您为#pragma offload指定了nocopy子句,因为您已经使用第一个#pragma offload_transfer将数据传输到Xeon Phi。