大佬教程收集整理的这篇文章主要介绍了使用linux perf工具测量应用程序的FLOP,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
因为我找不到为测量FP和整数运算定义的任何’perf’事件,所以我开始挖掘原始硬件事件代码(与-rNNN一起使用,其中NNN是事件代码的十六进制值).所以我真正的问题是,我找到的退役指令代码(INST_RETIRED)没有区分FP和其他指令(X87和MMX / SSE).当我尝试使用适当的umasks到特定的代码时,我发现某种’perf’不理解或支持umask包含.我尝试过:
% perf stat -e rC0 ./a.out
这给了我退休的指示,但是
% perf stat -e rC002 ./a.out
应该给我执行的X87指令说我提供了错误的参数.也许是这样,但是使用’perf’原始硬件事件的umasks的正确方法是什么?一般来说,使用perf工具执行程序执行的浮点和整数运算的确切数量是什么?
非常感谢,
康斯坦丁博亚诺夫
这是我的测试应用程序:
int main(void){ float numbers[1000]; float res1; double doubles[1000]; double res2; int i,j=3,k=42; for(i=0;i<1000;i++){ numbers[i] = (i+k)*j; doubles[i] = (i+j)*k; res1 = numbers[i]/(float)k; res2 = doubles[i]/(float)j; } }
以上是大佬教程为你收集整理的使用linux perf工具测量应用程序的FLOP全部内容,希望文章能够帮你解决使用linux perf工具测量应用程序的FLOP所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。