什么是英特尔 IPP 库中的外线程?
What is external threading in Intel's IPP library?
我正在阅读英特尔的 Integrated Performance Primitives C 和 C++ 库。他们提到 外部线程 作为新功能之一。
New API’s for external threading is more effective than internal
threading. source
什么是 外线程 以及它与 C++ 中的 std::thread
有什么关系?
在 IPP 中:
内部线程 - 在基元内部
外螺纹 - 在应用程序级别
Intel IPP 8.2 continues deprecation of internal threading that was
started in version 7.1. The threaded static libraries will be
available as a separate download, and code developed with these
libraries will still work as before. The ThreadedFunctionsList.txt
file in ...\Documentation\en_US\ipp\ lists functions that are
available in an internally threaded format. However, multi-threaded
libraries are deprecated and moving to external threading is
recommended for the following reasons:
Internal (inside a primitive) threading is significantly less
effective than external (at the application level) threading.
与std::thread
外螺纹无关。
IPP 中的 "Ready for external threading" 基本上意味着,对于所有(几乎所有,除了函数,算法不适合线程)功能(功能组)函数参数列表包含足够的 input/output 组织外线程的参数。因此,一些函数 API 被修改为外线程。
可以是地址、偏移量、服务缓冲区等,在多线程中执行一个功能,用于按块处理一维矢量,或按切片或瓦片处理二维图像。这将很有帮助,尤其是随着 vectors/images 现在的增长(更多百万像素需要处理:))。
我正在阅读英特尔的 Integrated Performance Primitives C 和 C++ 库。他们提到 外部线程 作为新功能之一。
New API’s for external threading is more effective than internal threading. source
什么是 外线程 以及它与 C++ 中的 std::thread
有什么关系?
在 IPP 中:
内部线程 - 在基元内部
外螺纹 - 在应用程序级别
Intel IPP 8.2 continues deprecation of internal threading that was started in version 7.1. The threaded static libraries will be available as a separate download, and code developed with these libraries will still work as before. The ThreadedFunctionsList.txt file in ...\Documentation\en_US\ipp\ lists functions that are available in an internally threaded format. However, multi-threaded libraries are deprecated and moving to external threading is recommended for the following reasons:
Internal (inside a primitive) threading is significantly less effective than external (at the application level) threading.
与std::thread
外螺纹无关。
"Ready for external threading" 基本上意味着,对于所有(几乎所有,除了函数,算法不适合线程)功能(功能组)函数参数列表包含足够的 input/output 组织外线程的参数。因此,一些函数 API 被修改为外线程。
可以是地址、偏移量、服务缓冲区等,在多线程中执行一个功能,用于按块处理一维矢量,或按切片或瓦片处理二维图像。这将很有帮助,尤其是随着 vectors/images 现在的增长(更多百万像素需要处理:))。