什么是 IACA 以及如何使用它?
IACA 是英特尔架构代码分析器的缩写,是英特尔开发的一款已停产的静态分析工具。它允许分析现代 Intel 处理器上的代码调度。
功能
IACA 可以计算:
-
吞吐量:最内层循环
-
延迟: 从第一个循环开始的最小延迟到最后一条指令
-
跟踪:各个管道阶段的指令进度
支持的平台和代码格式
- 处理器版本:Nehalem 、Westmere、Sandy Bridge、Ivy Bridge、Haswell、Broadwell、Skylake(最新版本2.3)、Haswell、Broadwell、Skylake(版本 3.0)
- 代码格式:C/C、x86 汇编器
限制
-
EOL : IACA 已于2019
- 忽略不支持的指令
- 不支持吞吐量模式下的非最内层循环
用法:C/C
- 包括iacaMarks.h 在你的代码
- 在最内层循环周围插入开始和结束标记
- 启用优化后重建代码
用法:汇编 (x86)
分析:
- 提供带有插入标记的二进制代码
- 调用命令:iaca.sh -arch -graph -64 foo
- :特定处理器Architecture
- :使用 Graphviz 生成可视化依赖图
输出:
-
文本报告显示:
- 吞吐量或延迟分析
- 端口绑定和压力分析
- 每条指令的周期细分
- 依赖关系图(如果指定)
以上是什么是英特尔架构代码分析器 (IACA)?如何使用它来分析代码性能?的详细内容。更多信息请关注PHP中文网其他相关文章!