首页 文章

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

提问于
浏览
2

我目前正在研究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

我会继续寻找,但如果有人注意到我脑子里已经死了,我会很感激指向这些旗帜的使用!

提前感谢任何提示 . 干杯,MArk .

1 回答

  • 2

    使用时,-qopt-report5始终为 disabled - O0 . 这是 "by definition" ,因为opt-report == "optimization report"和O0 == "no optimization",所以没有什么可报告的 .

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

    如果你想关联性能"peaks"和"optimization report",请考虑使用Intel "Vectorization Advisor"(了解更多here,暂时从这个位置下载:https://software.intel.com/en-us/advisor_getting_started_intro
    opt-report diagnostics and many other vectorization characteristics in Advisor

相关问题