当前英特尔CPU上是否有整数性能计数器?
我想测量执行稀疏矩阵计算的代码的整数计算性能。英特尔CPU上是否有与浮点/双精度计算类似的性能计数器 更具体地说,我想计算整数加法、乘法、融合加法/乘法和比较。但任何子集都会有帮助当前英特尔CPU上是否有整数性能计数器?,cpu,hpc,Cpu,Hpc,我想测量执行稀疏矩阵计算的代码的整数计算性能。英特尔CPU上是否有与浮点/双精度计算类似的性能计数器 更具体地说,我想计算整数加法、乘法、融合加法/乘法和比较。但任何子集都会有帮助 在使用读取性能计数器时,我找不到任何此类事件。这取决于CPU。您可以查看不同微体系结构中可用性能事件的完整列表。整数和浮点操作都可能有事件,或者仅整数操作可能有事件。例如,在Nehalem上,ARITH.DIV和ARITH.MUL分别计算执行的整数和浮点除法以及乘法的数量。还有用于仅计算整数SIMD操作的SIMD\u
在使用读取性能计数器时,我找不到任何此类事件。这取决于CPU。您可以查看不同微体系结构中可用性能事件的完整列表。整数和浮点操作都可能有事件,或者仅整数操作可能有事件。例如,在Nehalem上,
ARITH.DIV
和ARITH.MUL
分别计算执行的整数和浮点除法以及乘法的数量。还有用于仅计算整数SIMD操作的SIMD\u INT.*
性能事件。在Skylake上,唯一可能接近您需要的事件是ARITH.DIVIDER\u ACTIVE
,它统计除法单元忙于执行整数和浮点除法时的循环数
通常,您可以搜索名称中包含INT
或描述中包含integer
的事件。您可以通过这种方式找到大多数事件,但不是所有事件
在使用这些事件时,您应该非常小心。您应该了解在启用SMT时它们是如何工作的,确切地说什么是计数的,什么不是计数的,以及如何处理融合的加法/乘法操作。不幸的是,文档在这方面往往是模糊的,因此您可能需要首先对它们进行实验