0
嘗試創建一個面向對象的OpenACC實現我偶然發現了this question。OpenACCArray交換功能
從那裏我拿到了@ mat-colgrove在GTC15提供的代碼(代碼可在http://www.pgroup.com/lit/samples/gtc15_S5233.tar)。
因爲我有興趣如何使用對象來管理與OpenACC上的數據我發佈another question。 OpenACCArray::swap
函數的易用性讓我印象深刻,所以我創建了一個小例子來測試它(請參閱gist)。
- 首先,我試着只是交換,並希望交換主機上的指針就足夠了,但這會導致一個致命的內存錯誤。 (大概是因爲大小和容量成員沒有在設備上更新)
- 一個更安全的方法,我假定要工作是更新主機,交換陣列和更新設備。這會運行但會產生錯誤的結果。
我正在爲nvidia加速器編譯。