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

时间:2012-01-29 14:47:14

标签: c++ intel vectorization icc

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

2 个答案:

答案 0 :(得分:4)

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

$ 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.

...

$

答案 1 :(得分:0)

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

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

您可能遇到同样的问题。

我在确定如何切换到“发布模式”时遇到问题(在配置面板中没有这个功能): Switching from Debug into Release Mode with VS2010 as IDE and Intel C++ Compiler 13

请告知我们是否适合您。