英特尔顾问优化标志和设置

Intel Advisor optimal flags and settings

本文关键字:设置 标志 优化 顾问 英特尔      更新时间:2023-10-16

我正在阅读关于使用英特尔顾问进行代码矢量化的教程。特别是在本页中,他们建议:

在发布模式下构建目标示例应用程序。。。编译器选项:-O2-g

以及以下内容:

构建自己的应用程序,以生成最准确和完成矢量化顾问的分析结果,构建优化的二进制在释放模式下使用以下设置。

-g -O2 (or higher) -qopt-report=5 -vec -simd -qopenmp

现在,我有几个问题:

  1. 我认为在发布模式中,我们没有生成任何调试信息(在"调试模式"中生成),因此不应包含-g
  2. 最奇怪的是,在为示例提供的Makefile中,代码(/opt/intel/advisor_*/...中的vec_samples)只使用-g -O2,为什么它们不包括所有其他选项。为什么

新的英特尔顾问教程的相关入门点是"入门",您可以在其中选择适当的子教程Linux的矢量化顾问子教程可以在这里找到。它准确地说:

-qopt-report=5:英特尔编译器15.0版所必需版本16.0及更高版本不需要

关于-vec、-simd、-openmp,本教程略微混淆了Advisor正常运行所需的标志(-g、-O2,可选-opt report)与"正确"编译器正常运行所需要的标志(-vec、/simd和-openmp)。后面的只是控制编译器矢量代码生成的标志,它们与Advisor评测功能无关,所以您可以使用也可以不使用它们。


为了让您更深入地了解:Advisor,称为"英特尔顾问调查"编译器集成"。此功能利用了与opt报告相对相似但不完全相同的数据。为了使这个功能发挥作用,你需要

  1. 使用英特尔Coimpiler14.x测试版、15.x、16.x或17.x
  2. -g(启用调试信息)和-O2或更高版本(启用一些优化)
  3. 可选(仅适用于"英特尔编译器15.x")-qopt-report5

"英特尔顾问"中的所有其他功能,无论是"编译器"版本(以上第1项)还是"选择报告和版本"(以上第3项),都能正常工作,但它们仍然需要-g(以上第2项的一部分)-某些功能不需要O2,但在分析性能方面时,处理-O0或-O1编译的二进制文件通常是无用的。