Сокращение времени выполнения кода с использованием компилятора ICC - PullRequest
2 голосов
/ 09 февраля 2011

Я работаю над некоторыми алгоритмами на основе DSP, которые включают в себя массивные вычисления.Я использовал библиотеку gcc со всеми параметрами (-O3, -ftreevectorize ...).Время выполнения всего кода составляет 43 мс.Я запускаю тот же код с помощью компилятора ICC, но не происходит значительного сокращения времени выполнения кода.Как я могу сократить время выполнения моего кода в ICC без изменения существующего кода?(без использования SIMD / S и asm)

1 Ответ

0 голосов
/ 10 февраля 2011

Если ваши требования по математике с плавающей запятой не являются строгими, самая простая оптимизация будет получена из icc -fast file.c

Однако, это также включит -no-prec-div, чего вы, возможно, не захотите. В этом случае попробуйте передать icc -03 -axSSE4.1 -ipo file.c

Если вы хотите потратить немного больше времени на компиляцию, вы можете получить существенную выгоду от профилирования. icc -03 -axSSE4.1 -ipo -prof_gen file.c настроит вас для создания профиля. Затем запустите код несколько раз, выполняя наиболее распространенный вариант использования, и перекомпилируйте, используя icc -03 -axSSE4.1 -ipo -prof_use file.c

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...