如何在python中找到特定功能(代码块)的硬件性能计数器的利用率



问题:我想在CPU-GPU上的算法训练中测量特定代码部分的硬件性能计数器(IPC、分支预测失误、缓存未命中率、内存带宽、TLB未命中、CPU和GPU之间的通信性能)。有什么指标可以用来了解这些计数器的利用率吗?

此外,perf是否可以只收集python程序执行的一部分的硬件性能统计信息

注意:我最初检查了pip的性能特性,但从上面提到的列表中找不到所需的性能计数器。有人能告诉我是否有任何指标可以用来计算性能计数器的利用率吗?

PAPI当然是您想要的。它是一个相对可移植的性能API,用于获取有关硬件计数器的信息。它可以从Python中使用Python_papi包获得。PAPI使您能够仅分析程序的给定部分(使用开始-停止注释定义部分)。它还支持GPU。首先,你可以阅读这篇关于它的研究论文。祝你的博士学位好运。

最新更新