我希望收集在 GPU 上的设备级别发生的事件的痕迹。
CPU的背景/类比:
在 CPU 上,当进程 A 运行时,它可能会被另一个用户级进程 B、系统/内核进程、各种中断(如硬件中断、网络中断、管理程序相关的中断等)中断。要衡量这些,理想情况下,我必须制作一个内核补丁,该补丁将捕获调度程序和中断托盘中所有进程和中断的开始和结束时间。使这些内核数据结构对用户级可见,然后从用户级程序中重复读取它们。
我想为 GPU 做类似的事情。如何捕获这些中断和后台进程的时间戳?在我看到的文献中,它nvidia-smi
可用于收集时间戳,但我非常不清楚如何实际检测 GPU 以获得我需要的东西。
谁能指出参考资料或告诉我如何使用GPU来获取时间戳?或者具体来说,使用nvprof
,cuda-memcheck
来达到同样的目的?