我有一個數據處理模型,它由許多處理數據塊的算法鏈組成。 每個鏈是一個算法圖,我用TBB圖類實現。英特爾TBB:圖形池
現在我想要有一個像「圖形池」的東西,即一個任務池,每個任務都包含一個tbb ::圖形。通過這種方式,我可以在數據塊上並行運行算法鏈。
你能指出任何與「圖形庫」類似的東西的TBB示例,或者你可能會建議並提示實現它嗎?
我有一個數據處理模型,它由許多處理數據塊的算法鏈組成。 每個鏈是一個算法圖,我用TBB圖類實現。英特爾TBB:圖形池
現在我想要有一個像「圖形池」的東西,即一個任務池,每個任務都包含一個tbb ::圖形。通過這種方式,我可以在數據塊上並行運行算法鏈。
你能指出任何與「圖形庫」類似的東西的TBB示例,或者你可能會建議並提示實現它嗎?
我的建議是使用tbb :: concurrent_queue或tbb :: concurrent_vector,它的優點是可以在多次訪問時調整它的大小。我的個人暗示,創建一個鎖/圖形對象,以便你永遠不會並行修改一個對象。
http://threadingbuildingblocks.org/wiki/index.php?title=Concurrent_Vector
隊列的例子可以在這裏找到: https://sites.google.com/site/samplecodesproject/tbb/containers-3/concurrent_queue
我不知道我完全明白你想實現什麼,但讓我們試試:)。 似乎只有你需要的是適當的source_node(https://www.threadingbuildingblocks.org/docs/help/reference/flow_graph/source_node_cls.htm)將新的數據塊引入流程圖進行處理。 流程圖實例可以被視爲以不同方式寫入的算法(如tbb :: parallel_pipeline)。它不應該被當作像列表或向量那樣的數據結構。所以最有可能你不需要圖表池:)