测量GPU中上下文切换的开销

Lon*_*ngY 5 cuda gpu overhead context-switch

有很多方法可以衡量CPU上下文切换开销.它似乎没有多少资源来衡量GPU上下文切换开销.CPU上下文切换和GPU是完全不同的.

GPU调度基于warp调度.为了计算GPU上下文切换的开销,我需要知道在没有上下文切换的情况下使用上下文切换和warp的warp的时间,并进行减法以获得开销.

我对如何用上下文切换测量扭曲时间感到困惑?有没有人有一些想法来衡量?

Wyz*_*a-- 7

我认为谈论 GPU 上上下文切换的“开销”真的没有意义。

在 CPU 上,上下文切换是在软件中通过内核中称为“调度程序”的函数完成的。调度程序是普通代码,是处理器必须运行的一系列机器指令,运行调度程序所花费的时间不是花在“有用”工作上的时间。

另一方面,GPU 在没有调度程序的情况下在硬件中进行上下文切换,而且速度足够快,以至于当一个任务遇到管道停顿时,可以引入另一个任务来利用否则会空闲的管道阶段。这称为“延迟隐藏”——一项任务的延迟被其他任务的进度隐藏。上下文切换实际上允许在给定的时间范围内完成更多有用的工作。

有关更多信息,请参阅我在 SuperUser 上的相关问题中写的这个答案