Intel® Integrated Performance Primitives 6.0
|
Обзор |
|
|
Библиотека Intel® Integrated Performance Primitives (Intel® IPP) содержит множество оптимизированных функций, совместимых с системами на базе многоядерных процессоров и предназначенных для использования в мультимедийных приложениях, приложениях для обработки данных и приложениях для связи. |
|
|
Выпущена версия 6.0! Теперь библиотека Intel IPP 6.0 поддерживает семейства процессоров Intel® Core™ i7 и Intel® Atom™, а также расширенные функции сжатия данных, обработки изображений и т.д. Более подробную информацию можно найти в разделе Новый выпуск ниже. |
Тысячи функций библиотеки Intel IPP включают все основные алгоритмы в следующих областях:

Рис. 1. Компоненты библиотеки Intel Integrated Performance Primitives (Intel IPP) и преимущества для разработчиков, обеспечиваемые этим продуктом
Работоспособность библиотеки Intel IPP была протестирована на платформах, созданных на базе различных процессоров Intel и AMD*. Пользователям библиотеки Intel IPP предоставляется техническая поддержка и обновления на сайте Intel® Premier Support, а также доступ к различным форумам разработчиков.
|
Характеристики |
Поддержка многоядерных процессоров

Рис. 2. Многоядерные процессоры позволяют осуществлять выполнение многопоточных программных приложений
Просмотр видеоматериалов с информацией о библиотеке Intel IPP и многопоточных приложениях ![]()
В библиотеке Intel IPP версии 6.0 реализована полная поддержка современных платформ на базе многоядерных процессоров:
Многопоточные функции оптимизированы под многоядерные процессоры. Более 1700 критически важных функций, осуществляющих операции с матрицами и векторами, фильтрацию и свёртку сигналов и изображений, сжатие изображений в формат JPEG, преобразование палитры и системы машинного зрения, являются многопоточными, что обеспечит повышенный уровень производительности вашего приложения в многоядерных системах.
Примеры исходного кода, оптимизированные под многоядерные процессоры. Многие примеры исходного кода
из состава библиотеки Intel IPP являются многопоточными и демонстрируют эффективное использование функций Intel IPP в таких приложениях, как кодировщики/декодировщики видео.
Функции потокобезопасны. Все функции библиотеки Intel IPP являются полностью потокобезопасными, и их интеграция в многопоточные приложения не представит никакой сложности.
Более подробную информацию о многопоточности и функциях библиотеки Intel IPP вы можете найти на странице "Вопросы и ответы"
.
К началу страницы
Функции с оптимальной производительностью
Совместное использование функций библиотеки Intel IPP и оптимизированного компилятора обеспечит вашему приложению оптимальный уровень производительности. При этом функции будут выполняться с учётом возможностей имеющегося процессора (таких, как потоковые расширения SSE, SSE2, SSE3, SSSE3, SSE4 и SSE4.1) и другие наборы оптимизированных инструкций.
|
Перечень функций |
||
Кодирование видео. Основные алгоритмические компоненты для кодеков DV25/50/100, MPEG-2, MPEG-4, H.26 и MPEG-4 Part 10 (H.264). На рис. 2, демонстрирующем процесс кодирования/декодирования видео в формате H.264, голубым цветом выделены компоненты видеокодеков из состава Intel IPP. Выполняемые функции:
Компенсация движения
Оценка движения
Модифицированные дискретные косинусные преобразования
Квантование и обратное квантование
Статистическое кодирование

Рис. 3. Компоненты библиотеки Intel Integrated Performance Primitives (Intel IPP), задействованные в процессе кодирования/декодирования видео в формате H.264
Примеры исходных кодов видео- и аудиокодеков
реализованы с использованием функций библиотеки Intel IPP.
Вернуться к списку функций
Обработка изображений и двумерных сигналов. Библиотека Intel IPP содержит множество функций, предназначенных для обработки изображений и двумерных сигналов, и включает в себя различные алгоритмы для обработки изображений и их фрагментов.
|
Преобразования: |
Параметры изображения |
Вернуться к списку классов функций
Системы технического зрения: Библиотека Intel IPP включает в себя оптимизированные функции, которые выполняют разнообразные операции для приложений, работающих в системах технического зрения, которые связанны с обеспечением безопасности, контролем механизмов, вводом речевых комментариев и проч.
|
Определение свойств (углы, определение контуров) |
Распознавание моделей (классификаторы Хаара) |
Оптимизированные функции библиотеки Intel IPP входят в состав известной библиотеки Intel Open Source Computer Vision (OpenCV), обеспечивающей производительные вычисления в режиме реального времени. Именно библиотека Intel IPP использовалась в программном обеспечении победителя соревнований "Великий вызов" (Grand Challenge) 2005 г., организованных Управлением перспективных исследований и разработок Министерства обороны США (DARPA).
Вернуться к списку классов функций
Преобразование цветовой палитры. Обилие современных мультимедийных форматов заставляет разработчиков предусмотреть функции преобразования цветовой палитры. В библиотеке Intel IPP предусмотрено множество оптимизированных процедур для попиксельного преобразования 32-, 24- и 16-разрядных изображений:
|
Преобразование моделей цветовой палитры |
Справочные таблицы преобразований (линейное, кубическое, палитровое) |
Вернуться к списку классов функций
Обработка строк. С помощью оптимизированных функций библиотеки Intel IPP, предназначенных для обработки информации в строковом формате, вы реализуете приложения с усовершенствованными алгоритмами управления текстовыми базами данных, поиском и выборкой нужных данных, возможностью индексирования документов.
|
Замена и вставка подстрок |
Сравнение строк и подстрок |
Вернуться к списку классов функций
Кодирование JPEG. Основные алгоритмические компоненты для кодеков JPEG, JPEG 2000 и Motion JPEG. На рис. 4, демонстрирующем процесс кодирования/декодирования изображений в формате JPEG и JPEG 2000, голубым цветом выделены компоненты JPEG-кодеков из состава Intel IPP.

Рис. 4. Компоненты библиотеки Intel Integrated Performance Primitives (Intel IPP), задействованные в процессе кодирования/декодирования изображений в форматах JPEG и JPEG 2000
Вернуться к списку классов функций
Кодирование речи: В состав библиотеки Intel IPP включены разнообразные наборы процедур, поддерживающие следующие речевые кодеки и функции:
|
G.722.1 |
G.729 |
Загрузите бесплатные примеры универсальных речевых кодеков (USC)
из состава библиотеки Intel IPP, демонстрирующие использование низкоуровневых функций библиотеки Intel IPP, предназначенных для обработки речи.
Вернуться к списку классов функций
Обработка сигналов: Функции библиотеки Intel IPP выполняют следующие операции:
|
Фильтрация и свёртка: |
Массивы/Инициализация сигналов/Операции с сигналами |
Вернуться к списку классов функций
Сжатие данных: Кроме функций для кодеков, осуществляющих сжатие видео, звука и изображений, в библиотеке Intel IPP предусмотрены методы сжатия без потерь, аналогичные функциям широко используемых библиотек "zlib" (для кодирования и декодирования) и "libbzip2".
|
Методы преобразования Барроуса-Вилера |
Статистическое кодирование |
Вернуться к списку классов функций
Кодирование звука: Основные алгоритмические компоненты кодеков MP3 и AAC. На рис. 5, демонстрирующем процесс кодирования/декодирования звука в формате ААС, голубым цветом выделены компоненты аудиокодеков из состава Intel IPP. Выполняемые функции:
Кодирование по алгоритму Хаффмана
Предварительное квантование спектра
Модифицированные дискретные косинусные преобразования
Блочная фильтрация
Прогнозирование частотной характеристики
Дублирование спектра
Быстрые преобразования Фурье

Рис. 5. Компоненты библиотеки Intel Integrated Performance Primitives (Intel IPP), задействованные в процессе кодирования/декодирования звука в формате AAC
Примеры исходных кодов видео- и аудиокодеков реализованы с использованием функций библиотеки Intel IPP.
Вернуться к списку классов функций
Распознавание речи: В библиотеке Intel IPP предусмотрен широкий спектр функций для улучшенного распознавания речи, VoIP-коммуникаций и реализации поддержки ввода речевых комментариев.
|
Обработка характеристик |
Акустическое эхоподавление (AEC) |
Вернуться к списку классов функций
Операции с матрицами и векторами: Библиотека Intel IPP содержит множество функций, выполняющих операции с матрицами и векторами для широкого круга приложений, в том числе для физического моделирования, трёхмерных преобразований и расчёта освещения трёхмерных объектов.
|
Алгебра матриц: |
Векторная алгебра: |
Разработчикам приложений, выполняющих высокопроизводительные алгебраические операции над большими объёмами данных, рекомендуется ознакомиться с информацией о библиотеке Intel® Math Kernel Library.
Вернуться к списку классов функций
Криптографические функции: Воспользуйтесь ими при разработке надёжных и высокопроизводительных модулей и приложений с функциями шифрования. Список компонентов, реализуемых с помощью криптографических функций Intel IPP, приведён ниже.
|
Симметричные криптографические системы: |
Асимметричные криптографические системы: |
Работоспособность функций шифрования данных, включённых в состав библиотеки Intel IPP, была проверена в программе Cryptographic Algorithm Validation Program (CAVP). ![]()
|
Название |
Стандарты / Сертификат |
|
Дискретное логарифмирование (стандарт цифровой подписи (DSS)) |
FIPS 186-2 / Сертификат 190 |
|
Разложение целых чисел на множители (стандарт цифровой подписи (DSS)) |
FIPS 186-2, ANSI X9.31-1998 / Сертификат 181 |
|
Цифровая подпись с использованием алгоритма эллиптических кривых (ECDSA) |
FIPS 186-2, ANSI X9.62-1998 / Сертификат 40 |
|
Генератор случайных чисел |
FIPS 186-2 / Сертификат 245 |
Примечание: Для получения библиотеки криптографических функций вам необходимо отправить запрос в Intel.
Вернуться к списку классов функций
Трассировка лучей и рендеринг: В библиотеке Intel IPP предусмотрены функции для трассировки лучей, рендеринга реалистичных изображений и расчётов физических процессов.
|
Расчёт контуров объектов |
Вернуться к списку классов функций
Целостность данных: Коды коррекции ошибок очень важны для сохранения целостности данных при передаче, хранении и кодировке. Например, ненадежные каналы передачи могут привести к ошибкам данных, при сохранении данных на компакт-диск могут возникать ошибочные сигналы, также возможны ошибки при считывании штрих-кодов. Использование кодов коррекции ошибок, например кода Рида-Соломона, позволяет исправить такие ошибки.
|
Коды коррекции ошибок: |
Рид-Соломон |
Вернуться к списку классов функций
Улучшенная оптимизация для новейших микроархитектур Intel®
o Поддержка процессоров Intel® Core™ i7
o Поддержка процессоров Intel® Atom™
Поддержка библиотеки высокоуровневого сжатия данных с высокоскоростным алгоритмом LZO и улучшенная производительность алгоритмов zlib, gzip и bzip2.
Предварительный выпуск уровня DMIP, представленный в качестве образца в библиотеках Intel IPP, включает решения конвейерных операций с большими изображениями, использует встроенную оптимизацию памяти и повышает производительность в многопоточной среде.
Кодеки UIC стандартизируют интерфейсы PNP для различных кодеков изображений (JPEG, JPEG2000 и т.д.).
Многопоточные статические библиотеки для всех функциональных областей
Функциональная область целостности данных: коды коррекции ошибок Рида-Соломона для сохранения целостности данных при передаче, хранении и кодировке.
Новые функции в существующих областях
o Обработка сигналов: Преобразования Уолша-Хадамарда и дискретные преобразования Хартли, а также более производительные дискретные преобразования Фурье с действительными и комплексными числами для разнообразных объемов ввода и форматов ввода/вывода. (ippGen)
o Обработка изображения: функции ippiCopy и ippiTranspose
o Обработка изображеня: Трехмерные преобразования - изменение размера, однородные преобразования и повторная схематика.
o Расширение кодировки видео: устранение помех, устранение чересстрочной развертки, устранение мозаик
Новые функции и улучшения образцов Intel IPP
o Поддержка Microsoft* RT audio
o Поддержка кодека кодировки речи G729.1
o Поддержка видеокодека AVS для декодирования
o Дескрипторы поиска изображений (MPEG7), цветовой макет, краевая гистограмма
o Технология супер высокого разрешения, оптический поток
o Поддержка профиля декодировщика ALS при декодировании AAC
Ознакомьтесь с требованиями к установке и требованиям к конфигурации системы, соответствующими вашей платформе.
Целевые платформы для приложения
|
|||||||||||
|
|||||||||||
|
32-разрядные платформы на базе архитектуры Intel и других производителей
(процессоры семейств Intel Core 2 и Intel Core, процессоры Intel Pentium, совместимые процессоры AMD)
|
Версия операционной системы |
Поддерживаемые компиляторы |
|
|
Microsoft Windows |
Microsoft Windows Vista* |
Компилятор Intel® C++ Compiler для ОС Windows* версии 10.1 и 11.0 |
|
Linux |
Система Linux с glibc 2.2.4, 2.2.93, 2.3.2 или 2.3.3 и ядром Linux 2.4.X или 2.6.X, как показано в следующих дистрибутивах. Примечание: Не все поддерживаемые дистрибутивы перечислены ниже. Не все перечисленные дистрибутивы проверены на функциональность.
|
Компилятор Intel® C++ Compiler версии 10.1 и 11.0 для Linux * для архитектуры IA-32 |
|
Mac OS X |
10.4.3 и выше |
Компилятор Intel C++ Compiler версии 10.1 и 11.0 для Mac OS (включая компилятор Intel C++ Professional Edition) |
Платформы Intel с 64-разрядной архитектурой
(процессоры семейства Intel Core 2, процессоры Intel Pentium D, процессоры Intel Xeon, а также процессоры AMD, совместимые с 64-разрядной архитектурой Intel)
|
Версия операционной системы |
Поддерживаемые компиляторы |
|
|
Microsoft Windows |
Microsoft Windows Vista* |
Компилятор Intel® C++ Compiler для ОС Windows* версии 10.1 и 11.0 для процессоров на базе архитектуры Intel® 64 |
|
Linux |
Система Linux с glibc 2.2.4, 2.2.93, 2.3.2 или 2.3.3 и ядром Linux 2.4.X или 2.6.X, как показано в следующих дистрибутивах. Примечание: Не все поддерживаемые дистрибутивы перечислены ниже. Не все перечисленные дистрибутивы проверены на функциональность.
|
Компилятор Intel® C++ версии 10.1 или 11.0 для ОС Linux* |
|
Mac OS X |
10.4.6 и выше |
Компилятор Intel C++ версии 10.1 и 11.0 для Mac OS X |
Платформы Intel с 64-разрядной архитектурой
(процессоры Intel® Itanium®)
|
Версия операционной системы |
Поддерживаемые компиляторы |
|
|
Microsoft Windows |
Microsoft Windows Server 2008 |
Компилятор Intel® C++ Compiler для ОС Windows* версии 10.1 и 11.0 для процессоров Intel® Itanium® |
|
Linux |
Система Linux с glibc 2.2.4, 2.2.93, 2.3.2 или 2.3.3 и ядром Linux 2.4.X или 2.6.X, как показано в следующих дистрибутивах. Примечание: Не все поддерживаемые дистрибутивы перечислены ниже. Не все перечисленные дистрибутивы проверены на функциональность.
|
Компилятор Intel® C++ версии 10.1 или 11.0 для ОС Linux |
Платформы на базе архитектуры Intel Atom
|
Версия операционной системы |
Поддерживаемые компиляторы |
|
|
Linux |
Система Linux с glibc 2.2.4, 2.2.93, 2.3.2 или 2.3.3 и ядром Linux 2.4.X или 2.6.X, как показано в следующих дистрибутивах.
|
Компилятор Intel® C++ Compiler версии 10.1 и 11.0 для Linux * для процессоров на базе архитектуры IA-32 |
|
Поддерживаемое программное/аппаратное обеспечение |
|
|
Операционные системы |
Microsoft Windows:
|
|
Требования к процессору |
32-разрядные платформы на базе архитектуры Intel и других производителей
|
|
Минимальное дисковое пространство для установки |
900 МБ + 300 МБ на время установки для каждой целевой платформы приложений |
Информация взята с оффициального сайта Intel

