Справочник отчетов о векторизации для компилятора Intel C++ в VS 10

В VS 10 я установил «Уровень диагностики векторизатора» на «n = 2» и «Фаза диагностики оптимизации» на «hpo», как указано в «Руководстве по векторизации с компиляторами Intel C++». Однако (это может быть глупый вопрос), где этот отчет? Нет ничего, что можно было бы показать ни в «выходе», ни в каталоге проекта.


person Shibli    schedule 29.01.2012    source источник


Ответы (2)


Диагностика векторизации обычно выдается как часть обычного вывода диагностики компилятора, например.

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

...

$
person Paul R    schedule 29.01.2012
comment
Является ли обычный диагностический вывод компилятора таким же, как окно вывода? - person Shibli; 29.01.2012
comment
Да, приведенный выше пример — это обычный вывод консоли — если вы не перенаправляете stdout или stderr и у вас -vec-report=2 или больше, вы должны увидеть что-то подобное. - person Paul R; 29.01.2012
comment
К сожалению, ничего не показали. Кстати, для параметра «Выдать диагностику в файл» установлено значение «Нет». Кроме того, я ничего не делал с stdout и stderr. - person Shibli; 29.01.2012
comment
Какую среду вы используете? Попробуйте протестировать его из командной строки, как в приведенном выше примере. - person Paul R; 29.01.2012
comment
Насколько я понимаю из слова окружение, пробовал и отладочный, и релизный режимы. Я проверил свою командную строку, и в ней есть необходимые команды, связанные с диагностикой. - person Shibli; 29.01.2012
comment
Вы делаете это из IDE, такой как Eclipse, Visual Studio, Xcode или что-то в этом роде? - person Paul R; 29.01.2012
comment
Что такое вариант, например vec-report для gcc и clang/llvm? - person osgx; 09.07.2012
comment
Я использую VS 2010 и не вижу отчета, хотя использую флаги. Любые идеи? - person Royi; 22.09.2012

У меня была такая же проблема в проекте, который я пишу. Это подключаемый модуль, основанный на образце кода, указанном в SDK.

Если процесс компиляции/сборки настроен на режим «Отладка», никакая оптимизация не будет применена, и, следовательно, отчет не будет предоставлен.

У вас может быть такая же проблема.

У меня проблемы с тем, как переключиться в «Режим выпуска» (он недоступен на панели конфигурации): Переключение из режима отладки в режим выпуска с помощью VS2010 в качестве IDE и компилятора Intel C++ 13

Пожалуйста, дайте нам знать, если это сработало для вас.

person Royi    schedule 24.09.2012