0
尝试创建一个面向对象的OpenACC实现我偶然发现了this question。OpenACCArray交换功能
从那里我拿到了@ mat-colgrove在GTC15提供的代码(代码可在http://www.pgroup.com/lit/samples/gtc15_S5233.tar)。
因为我有兴趣如何使用对象来管理与OpenACC上的数据我发布another question。 OpenACCArray::swap
函数的易用性让我印象深刻,所以我创建了一个小例子来测试它(请参阅gist)。
- 首先,我试着只是交换,并希望交换主机上的指针就足够了,但这会导致一个致命的内存错误。 (大概是因为大小和容量成员没有在设备上更新)
- 一个更安全的方法,我假定要工作是更新主机,交换阵列和更新设备。这会运行但会产生错误的结果。
我正在为nvidia加速器编译。