VS 10中“英特尔C++编译器矢量化报告”目录

Directory of Vectorization Report for Intel C++ Compiler in VS 10

本文关键字:英特尔 矢量化 报告 目录 编译器 C++ VS      更新时间:2023-10-16

在VS 10中,我按照"英特尔C++编译器矢量化指南"中的说明,将"矢量器诊断级别"设置为"n=2",将"优化诊断阶段"设置为"hpo"。然而,(这可能是一个愚蠢的问题),这份报告在哪里?在"输出"和项目目录中都没有要显示的内容。

矢量化诊断通常作为正常编译器诊断输出的一部分发出,例如

$ icc -Wall -msse3 foo.c -vec-report=2 -o foo
...
foo.c(1337): (col. 5) remark: loop was not vectorized: existence of vector dependence.
foo.c(1337): (col. 5) remark: loop was not vectorized: not inner loop.
foo.c(1337): (col. 5) remark: loop was not vectorized: not inner loop.
foo.c(1337): (col. 5) remark: loop was not vectorized: existence of vector dependence.
foo.c(1337): (col. 5) remark: loop was not vectorized: existence of vector dependence.
foo.c(1337): (col. 5) remark: loop was not vectorized: nonstandard loop is not a vectorization candidate.
foo.c(1337): (col. 5) remark: loop was not vectorized: not inner loop.
foo.c(1337): (col. 5) remark: LOOP WAS VECTORIZED.
foo.c(1339): (col. 5) remark: loop was not vectorized: existence of vector dependence.
foo.c(1339): (col. 5) remark: loop was not vectorized: existence of vector dependence.
foo.c(1339): (col. 5) remark: loop was not vectorized: not inner loop.
foo.c(1339): (col. 5) remark: loop was not vectorized: statement cannot be vectorized.
foo.c(1339): (col. 5) remark: loop was not vectorized: not inner loop.
...
$

我在写的一个项目中遇到了同样的问题。它是一个基于SDK中给出的示例代码的插件。

如果编译/构建过程配置为"调试"模式,则不会应用优化,因此不会给出报告。

你可能也有同样的问题。

我在配置如何切换到"释放模式"时遇到问题(配置面板中没有):使用VS2010作为IDE和英特尔C++编译器13 从调试模式切换到发布模式

请告诉我们它是否对您有效。