Компилятор Intel ICC -O флаги и -qopt-отчет

Я сейчас работаю над HPC, и у меня есть вопрос, касающийся компилятора icc.

То, что я хочу сделать, - это посмотреть, что происходит, когда я изменяю уровни оптимизации с помощью [O0..O3]. Мне нужны данные о векторизации, о том, был ли код встроен и т. Д. -qopt-report флаг.

Я решил использовать наивысший уровень детализации для отчета, который

-qopt-report5  (I think this is the correct way to use it)

однако при уменьшении уровня O отчет постепенно уменьшается, пока не становится пустым при использовании -O0 флаг:

icc -O0 -qopt-report5 -c test1.c

Я продолжу искать, но если кто-то заметит, что я умру с ума, я был бы признателен за указание на использование этих флагов вместе!

Заранее спасибо за любые подсказки. Ура, Марк.

1 ответ

-qopt-report5 всегда отключен, когда вы используете -O0. Это "по определению", потому что opt-report == "отчет по оптимизации" и O0 == "нет оптимизации", поэтому не о чем сообщать.

Как правило, автоматическая векторизация включена, начиная с уровня оптимизации O2, поэтому, если вы хотите изучить аспекты векторизации, вам необходимо использовать как минимум комбинацию "-O2 -opt-report5" или "выше".

Если вы хотите соотнести "пики" производительности и "отчет по оптимизации", рассмотрите возможность использования Intel "Vectorization Advisor" (подробнее читайте здесь, загрузите сейчас с этого места: https://software.intel.com/en-us/advisor_getting_started_intro)Диагностика opt-report и многие другие характеристики векторизации в Advisor

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