Intel TBB的優(yōu)點
Intel TBB替你指定合理的并行,代替自己線程化。大多數(shù)線程包需要你指定線程。直接對線程編程是冗長的并且導致無效的編程,因為線程是低階的,需要接近硬件的重構造,直接利用線程編程強迫你把邏輯任務映射到線程中,相反,Intel TBB 運行時庫自動把邏輯并行映射到現(xiàn)在中,有效利用處理器資源。
Intel TBB目標是性能。大多數(shù)通用線程包支持許多不同種線程,例如異步事件線程,結果,通用包趨向提夠基礎的低階工具,而不是解決方案。替代,Intel TBB關注并行計算密集工作的目的,傳遞高階,更簡單的解決方案。
Intel TBB和其他線程包兼容。因為庫沒有設計解決所有線程問題,它能和其他線程包無縫共處。
Intel TBB強調(diào)可擴展,數(shù)據(jù)并行編程。把程序分成獨立的函數(shù)塊,把獨立的線程分配給每個函數(shù)塊是一個解決方案,但是這樣擴展性不好,因為函數(shù)塊的數(shù)量是固定的。相反,Intel TBB強調(diào)數(shù)據(jù)并行編程,使多個線程工作在數(shù)據(jù)集中不同部分,數(shù)據(jù)并行編程擴展性很好,處理器數(shù)量變大會把數(shù)據(jù)集分成更小的片段。利用數(shù)據(jù)并行編程,當你增加處理器時,程序性能也提高。
Intel TBB依賴泛型編程。傳統(tǒng)的庫接口依據(jù)指定類型或者基類,而TBB使用泛型編程,泛型編程的本質(zhì)是利用最少的約束寫出最好的算法。C++的STL就是一個泛型編程很好的例子,接口是根據(jù)所需類型指定的。
-
英特爾
+關注
關注
61文章
10196瀏覽量
174727 -
編程
+關注
關注
88文章
3689瀏覽量
95279 -
MPI
+關注
關注
2文章
114瀏覽量
20008
發(fā)布評論請先 登錄

評論