并行编程标准更新:MPI、OpenMP和英特尔TBB

描述

  Intel TBB的优点

  Intel TBB替你指定合理的并行,代替自己线程化。大多数线程包需要你指定线程。直接对线程编程是冗长的并且导致无效的编程,因为线程是低阶的,需要接近硬件的重构造,直接利用线程编程强迫你把逻辑任务映射到线程中,相反,Intel TBB 运行时库自动把逻辑并行映射到现在中,有效利用处理器资源。

  Intel TBB目标是性能。大多数通用线程包支持许多不同种线程,例如异步事件线程,结果,通用包趋向提够基础的低阶工具,而不是解决方案。替代,Intel TBB关注并行计算密集工作的目的,传递高阶,更简单的解决方案。

  Intel TBB和其他线程包兼容。因为库没有设计解决所有线程问题,它能和其他线程包无缝共处。

  Intel TBB强调可扩展,数据并行编程。把程序分成独立的函数块,把独立的线程分配给每个函数块是一个解决方案,但是这样扩展性不好,因为函数块的数量是固定的。相反,Intel TBB强调数据并行编程,使多个线程工作在数据集中不同部分,数据并行编程扩展性很好,处理器数量变大会把数据集分成更小的片段。利用数据并行编程,当你增加处理器时,程序性能也提高。

  Intel TBB依赖泛型编程。传统的库接口依据指定类型或者基类,而TBB使用泛型编程,泛型编程的本质是利用最少的约束写出最好的算法。C++的STL就是一个泛型编程很好的例子,接口是根据所需类型指定的。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分