Intel icc编译器-O标志和-qopt-report

时间:2015-06-27 01:56:14

标签: intel icc

我目前正在研究HPC,我对icc编译器有疑问。

我想要做的是通过[O0..O3]更改优化级别时查看正在发生的事情。我想要的数据,关于矢量化以及代码是否是折叠内联等,似乎都在-qopt-report标志生成的报告中。

我决定对报告使用最高级别的详细程度

-qopt-report5  (I think this is the correct way to use it)

但是,当降低O级时,报告会逐渐变小,直到使用-O0标志时变为空:

icc -O0 -qopt-report5 -c test1.c

我会继续寻找,但如果有人注意到我脑子里已经死了,我会很高兴指出一起使用这些旗帜!

提前感谢任何提示。 干杯, 标记

1 个答案:

答案 0 :(得分:2)

使用 - O0 时,

-qopt-report5始终禁用。 这是"根据定义" ,因为opt-report =="优化报告"和O0 =="没有优化",因此无需报告

自动矢量化通常从O2优化级别开始启用,因此如果您想要探索矢量化方面,那么您至少需要使用" -O2 -opt-report5"组合或"更高"。

如果你想关联性能"峰值"和"优化报告",考虑使用英特尔"矢量化顾问" (阅读更多here,暂时从此位置下载:https://software.intel.com/en-us/advisor_getting_started_introopt-report diagnostics and many other vectorization characteristics in Advisor