Производительность Intel-MKL FFT для некоторых условий - PullRequest
0 голосов
/ 14 марта 2012

В настоящее время я использую подпрограммы Intel MKL 2D FFT.

Я сталкиваюсь с состоянием, при котором производительность изменяется в 4-5 раз.

Что я делаю, так это реализую полосовой фильтр с использованием библиотек FFT. Результаты теста верны, но скорость - проблема.

То, что я вижу, составляет около 1,3 секунды для прямого БПФ и от 1,3 до 6 секунд для обратного БПФ.

Я проследил это до весов, которые я применяю после прямого прохода БПФ. Веса между 0 и -1, в основном 0, когда я получаю 6 секунд. Если я установлю веса в 1, прежде чем применять время составляет 1,3 секунды. Другие тесты показывают такое поведение без использования весов 1.

Мои вопросы: как значения, которые я применяю, могут вызвать такое замедление? Я мог понять незначительное изменение во времени выполнения, но не это драматическое изменение.

Спасибо, Джим К

Я не знаю, относится ли это к MKL-версии БПФ или к общей проблеме.

1 Ответ

0 голосов
/ 14 марта 2012

Некоторым ЦП может потребоваться гораздо больше циклов выполнения для выполнения арифметических операций с плавающей запятой с использованием недопустимых операндов или при получении недопустимых результатов.

Для ваших коэффициентов фильтра вы можете попробовать веса, намного превышающие ноль (по отношению к значению, близкому к двойному или плавающему числу IEEE), и при этом иметь фильтр с полосой задерживания лучше -120 дБ. Попробуйте это.

Некоторые комбинации ЦП и ОС могут разрешать отключение арифметики с плавающей запятой или результатов. Это также может помочь.

...