В VS 10 я установил «Уровень диагностики векторизатора» на «n = 2» и «Фаза диагностики оптимизации» на «hpo», как указано в «Руководстве по векторизации с компиляторами Intel C++». Однако (это может быть глупый вопрос), где этот отчет? Нет ничего, что можно было бы показать ни в «выходе», ни в каталоге проекта.
Справочник отчетов о векторизации для компилятора Intel C++ в VS 10
Ответы (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
Является ли обычный диагностический вывод компилятора таким же, как окно вывода?
- person Shibli; 29.01.2012
Да, приведенный выше пример — это обычный вывод консоли — если вы не перенаправляете stdout или stderr и у вас
-vec-report=2
или больше, вы должны увидеть что-то подобное.
- person Paul R; 29.01.2012
К сожалению, ничего не показали. Кстати, для параметра «Выдать диагностику в файл» установлено значение «Нет». Кроме того, я ничего не делал с stdout и stderr.
- person Shibli; 29.01.2012
Какую среду вы используете? Попробуйте протестировать его из командной строки, как в приведенном выше примере.
- person Paul R; 29.01.2012
Насколько я понимаю из слова окружение, пробовал и отладочный, и релизный режимы. Я проверил свою командную строку, и в ней есть необходимые команды, связанные с диагностикой.
- person Shibli; 29.01.2012
Вы делаете это из IDE, такой как Eclipse, Visual Studio, Xcode или что-то в этом роде?
- person Paul R; 29.01.2012
Что такое вариант, например vec-report для gcc и clang/llvm?
- person osgx; 09.07.2012
Я использую VS 2010 и не вижу отчета, хотя использую флаги. Любые идеи?
- person Royi; 22.09.2012
У меня была такая же проблема в проекте, который я пишу. Это подключаемый модуль, основанный на образце кода, указанном в SDK.
Если процесс компиляции/сборки настроен на режим «Отладка», никакая оптимизация не будет применена, и, следовательно, отчет не будет предоставлен.
У вас может быть такая же проблема.
У меня проблемы с тем, как переключиться в «Режим выпуска» (он недоступен на панели конфигурации): Переключение из режима отладки в режим выпуска с помощью VS2010 в качестве IDE и компилятора Intel C++ 13
Пожалуйста, дайте нам знать, если это сработало для вас.
person
Royi
schedule
24.09.2012