Что такое внешняя многопоточность в библиотеке Intel IPP?

Я читаю о Intel Интегрированные примитивы производительности библиотека для C и C ++. Они упомянули внешняя резьба как одна из новых функций.

Новые API для внешних потоков более эффективны, чем внутренние
резьб. источник

Что такое внешняя резьба и как это связано с std::thread в С ++?

5

Решение

В IPP:
Внутренняя резьба — внутри примитива
Внешняя резьба — на уровне приложения

Intel IPP 8.2 продолжает устаревшую внутреннюю многопоточность
началось в версии 7.1. Потоковые статические библиотеки будут
доступны как отдельная загрузка, и код, разработанный с этими
библиотеки по-прежнему будут работать как раньше. ThreadedFunctionsList.txt
файл в … \ Documentation \ en_US \ ipp \ перечисляет функции, которые
доступны в формате с внутренней резьбой. Тем не менее, многопоточный
библиотеки устарели и переход на внешнюю многопоточность
рекомендуется по следующим причинам:

Внутренняя (внутри примитивная) резьба значительно меньше
эффективнее, чем внешние (на уровне приложений) потоки.

источник

С std::thread внешняя резьба не связана.

1

Другие решения

«Готовность к внешним потокам» в IPP в основном означает, что для всех (почти всех, кроме функций, которые по алгоритму не подходят для потоков) функциональных групп (функциональных групп) список аргументов функции содержит достаточно входных / выходных аргументов для организации внешних потоков , Итак, некоторые API функций были модифицированы для внешней обработки.

Это могут быть адреса, смещения, сервисные буферы и т. Д. Для выполнения функции в нескольких потоках для обработки одномерных векторов фрагментами или двумерных изображений срезами или фрагментами. Это будет полезно, особенно с ростом векторов / изображений (больше мегапикселей для обработки :)).

0

По вопросам рекламы [email protected]