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