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