【发布时间】:2015-08-27 14:15:09
【问题描述】:
我正在阅读有关英特尔针对 C 和 C++ 的 Integrated Performance Primitives 库的信息。他们提到了外线程作为新功能之一。
用于外部线程的新 API 比内部线程更有效 穿线。 source
什么是外线程,它与 C++ 中的std::thread 有什么关系?
【问题讨论】:
标签: c++ multithreading intel-ipp
我正在阅读有关英特尔针对 C 和 C++ 的 Integrated Performance Primitives 库的信息。他们提到了外线程作为新功能之一。
用于外部线程的新 API 比内部线程更有效 穿线。 source
什么是外线程,它与 C++ 中的std::thread 有什么关系?
【问题讨论】:
标签: c++ multithreading intel-ipp
在 IPP 中:
内螺纹 - 在基元内
外螺纹 - 在应用程序级别
英特尔 IPP 8.2 继续弃用之前的内部线程 从 7.1 版开始。线程静态库将是 可作为单独的下载,以及使用这些开发的代码 图书馆仍将像以前一样工作。 ThreadedFunctionsList.txt ...\Documentation\en_US\ipp\ 中的文件列出了 提供内螺纹格式。但是,多线程 库已被弃用,转向外部线程是 推荐理由如下:
内部(原始内部)线程显着减少 比外部(在应用程序级别)线程更有效。
与std::thread外螺纹无关。
【讨论】:
IPP 中的“准备外线程”基本上意味着,对于所有(几乎所有,除了函数,根据算法不适合线程)功能(功能组),函数参数列表包含足够的输入/输出参数组织外螺纹。因此,一些函数 API 被修改为外部线程。
可以是地址、偏移量、服务缓冲区等,在多个线程中执行一个函数,以块为单位处理一维向量,或以切片或瓦片为单位处理二维图像。这会很有帮助,尤其是随着矢量/图像现在的增长(需要处理更多的百万像素:))。
【讨论】: