是否有必要对主机存储器进行页面锁定,以使用pgi编译器在设备上实现异步数据传输和计算?

时间:2019-01-28 17:36:33

标签: asynchronous copy openacc

我一直在测试nvidia-K80设备到主机之间的异步数据传输以及OpenACC与gpu内核的叠加。使用以下行进行编译时,我已经设法通过nvprof profiler看到了数据传输和计算的叠加。

pgc ++ -ta = tesla:pinned -acc -Minfo -o main main.cpp

尽管如此,在阅读pgi编译器文档时,要提到的是:编译标志-ta = tesla:pinned使主机上的所有内存分配都被页面锁定。是否有另一种形式可以实现此行为而又不具有纯openACC指令的副作用?我假装在一个大型项目中使用此功能。

请注意,编译行

pgc ++ -acc -Minfo -o main main.cpp

无法实现所需的行为。或者使用cudaHostAlloc初始化主机和设备之间的高流量的内存区域也可以。我对纯OpenACC解决方案感到好奇。

0 个答案:

没有答案