我正在试验一些针对 GPU 的 OpenACC 代码。
在我的实验中,我在 GPU 上运行部分代码,在 CPU 上运行其他部分。
//Loop that seems to run well on a GPU
#pragma acc parallel loop
for(int i=0;i<1000;i++)
...
//Loop that, for whatever reason, might run better on a CPU
for(int i=0;i<1000;i++)
...
问题在于推断这对性能的影响。使用PGI_ACC_TIME
,我可以获得有关循环在 GPU 上占用多长时间的信息,但尚不清楚如何将其与有关 CPU 的信息交错。
有没有办法交错来自 CPU 和 GPU 的时序信息?命令行实用程序是可取的,因为我的大多数会话都是远程的,但是使用 GUI 的方法可能还可以。