【发布时间】:2016-08-26 05:48:48
【问题描述】:
在尝试创建面向对象的 OpenACC 实现时,我偶然发现了this question。
从那里我获取了@mat-colgrove 在 GTC15 上提供的代码(代码可在 http://www.pgroup.com/lit/samples/gtc15_S5233.tar 获得)。
由于我对如何通过 OpenACC 使用对象来管理数据感兴趣,所以我发布了another question。
OpenACCArray::swap 函数的易用性给我留下了深刻的印象,因此我创建了一个小示例来测试它(参见 gist)。
- 首先,我尝试只交换并希望交换主机上的指针就足够了,但这会导致致命的内存错误。 (大概是因为大小和容量成员没有在设备上更新)
- 我认为可行的一种更安全的方法是更新主机、交换阵列和更新设备。这会运行但会产生错误的结果。
我正在为 nvidia 加速器进行编译。
【问题讨论】:
标签: openacc