Intel Advisor оптимальные флаги и настройки

Я читаю это руководство по векторизации кода с помощью Intel Advisor. В частности, на этой странице они предлагают:

Создайте целевой пример приложения в режиме выпуска... параметры компилятора: -O2 -g

И следующее:

Чтобы создавать собственные приложения для получения наиболее точных и полных результатов анализа Vectorization Advisor, создайте оптимизированный двоичный файл в режиме выпуска с использованием следующих параметров.

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

Теперь у меня есть пара вопросов:

  1. Я думал, что в режиме выпуска мы не производим никакой отладочной информации (которая создается в "режиме отладки"), поэтому нет -g должны быть включены
  2. Самое странное, что в Makefile, приведенном для примеров кода (vec_samples в /opt/intel/advisor_*/...) использует только -g -O2 почему они не включают все другие варианты. Зачем?

1 ответ

Решение

Соответствующей точкой входа в новые учебники Intel Advisor является " Начало работы", где вы можете выбрать и выбрать подходящие учебные пособия. Подучебник по векторизации для Linux можно найти здесь. Это точно говорит о том, что:

-qopt-report = 5: необходим для версии 15.0 компилятора Intel; не требуется для версии 16.0 и выше

Что касается -vec, -simd, -openmp, учебник слегка путает флаги, необходимые для правильной работы советника (-g, -O2, опционально -opt-report), с флагами, необходимыми для "правильной" работы компилятора (-vec, - simd и -openmp). Последние - просто флаги, управляющие генерацией векторного кода компилятора, они не имеют ничего общего с возможностями профилирования Advisor, так что вы можете или не можете их использовать.


Чтобы дать вам более глубокое понимание: в Advisor есть важная функция, которая называется Intel Advisor Survey "Интеграция компиляторов". Эта функция использует данные, относительно похожие, но не идентичные opt-report. Чтобы эта функция работала, вам нужно

  1. Использование бета-версии Intel Coimpiler 14.x, 15.x, 16.x или 17.x
  2. -g (включить отладочную информацию) и -O2 или выше (включить некоторую оптимизацию)
  3. Необязательно (только для Intel Compiler 15.x) -qopt-report5

Все остальные функции в Intel Advisor работают одинаково хорошо независимо от версии компилятора (пункт 1 выше) или opt-report и версий (пункт 3 выше), но все они требуют -g (часть варианта 2 выше). -O2 не требуется для некоторых функций, но, как правило, бесполезно иметь дело с скомпилированными двоичными файлами -O0 или -O1 при анализе аспектов производительности.

Другие вопросы по тегам