Аппаратное ускорение на базе Intel для DCT?

Мы пишем алгоритм обработки изображений, ориентированный на некоторые аппаратные средства Intel. Как правило, мы предпочитаем универсальные реализации C, но мы определили алгоритм, который по своей сути выполняет тонну дискретных косинусных преобразований (DCT), который работает очень хорошо. К сожалению, наши требования к пропускной способности таковы, что общая реализация C примерно на 2 порядка медленнее. Я могу получить один порядок величины с помощью некоторых других уловок, поэтому, если я смогу улучшить свои DCT примерно на порядок, у меня будет путь к успеху.

Является ли Intel MMX способом получить аппаратное ускорение для выполнения этих DCT? Есть ли другие специфичные для Intel библиотеки и / или аппаратные средства, которые я могу использовать, чтобы ускорить этих плохих парней?

Где мне начать искать? Для меня это новая работа, и я впервые усердно копаюсь в аппаратном обеспечении Intel, поэтому любые указатели будут наиболее ценными.

1 ответ

Решение

Взгляните на библиотеку Intel Integrated Performance Primitives. Он содержит множество подпрограмм, которые сильно оптимизированы для использования архитектуры Intel, в частности MMX и SSE. Помимо прочего, IPP также содержит подпрограммы для DCT ( документация здесь).

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