Перейти к содержанию
    

Лажа при использовании Intel IPP v4.1 ?

Надо было сделать бенчмарк для расчёта 256-точечного ДПФ на интеловском процессоре (сейчас у меня пень-4 3200 МГц с ГТ).

Взял Intel IPP v4.1 либу и на основе её примера сделал этот бенчмарк.

Для ДПФ использовал функцию ippsDFTFwd_RToPerm_16s_Sfs.

Бенчмарк заключается в измерении времени выполнения 10000 вызовов вышеназванной функции (в цикле).

Измерение времени я сначала сделал с использованием функций QueryPerformanceFrequency (выдаёт частоту проца в Герцах) и QueryPerformanceCounter (читает текущее значение внутреннего таймера-счётчика процессора). Последнюю функцию соответственно вызываю до цикла и после, потом считаю разницу и делю на частоту - получаю время выполнения.

В итоге получил время выполнения одного 256-точечного ДПФ = около 2 мкс.

Бенчмарк "пролетал" можно сказать мгновенно (ну, т.е. около 20 мс).

 

Потом в доке на либу наткнулся на аналогичные (как я сначала подумал) функции, которые можно было использовать тоже для измерения времени.

Это функции ippGetCpuFreqMhz и ippCoreGetCpuClocks. Алгоритм измерения оставил тот же самый (отличие только в формате вызовов этих функций).

В итоге запустив бенчмарк оказалось, что он выполняется где-то 2 секунды (вместо 20 мс)!!! Я охренел и заподозрил Интел в нехорошем.

Оказалось время съедается вызовами самих этих функций (скорее только ippCoreGetCpuClocks). Но при этом расчётное время выполнения одного 256-точечного ДПФ такое же. Получается, если я буду использовать эти фукции во многих местах, то могу лечь спать пока программа не закончится.

 

Что за х..ню Интел подсунул?

Кто-нибудь такое замечал?

Или ippCoreGetCpuClocks вовсе не эквивалент (по реализации) QueryPerformanceCounter?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...