tbb

    1熱度

    1回答

    我正在嘗試使用TBB concurrent_hash_map容器。在example之後,表明我需要3個類型參數(模板參數),鍵和值類型以及特徵類型HashCompare。在this鏈接中,它表示HashCompare具有基本類型的默認值。 但是,當試圖以兩種方式(2或3個模板參數)中的任何一種方式使用它時,我收到一個關於「太少模板參數,期望4」的錯誤 - 實際上在挖掘代碼時,唯一的定義在頭文件中的

    1熱度

    1回答

    我們有一段代碼,利用TBB產卵任務來執行一些處理,這是使用下面的TBB代碼初始化TBB線程池完成的(相匹配的內核數量): tbb::task_scheduler_init(8); 然後我們想要產卵我們用下面的代碼(其中MainTask的從TBB ::任務類派生的)每個任務: task = new (tbb::task::allocate_root()) MainTask(theAction,

    0熱度

    1回答

    我們有一個本地的.dll,使用線程構建塊4.4來執行一些HPC類型的計算來管理並行性。這個.dll是從一個本身是多線程的.Net桌面程序調用的。我是tbb的新手,我想知道這種設置是否引發了一些問題。我使用tbb非常基本 - 我只是調用parallel_reduce來做一個特定的計算。我沒有明確地設置tbb線程池;我依靠的是默認的初始化。 當我們進行系統測試時,我們看到一些間歇性進程掛起。當我們單獨

    0熱度

    1回答

    我正在學習使用OpenCV和TBB。我需要學習如何使用圖像多處理,因爲我有多核CPU,並且想爲我的程序創建多種處理器支持。 我已閱讀Intel®Technology紙雜誌的一篇文章「英特爾®線程構建模塊可擴展的多核軟件的基礎」(你可以在PDF這裏找到它http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.71.8289&rep=rep1&

    2熱度

    1回答

    我有一個函數,我需要用不同的數據參數運行兩次。該功能需要很長時間才能運行,並且執行繁重的計算工作。 我該怎麼做,用哪種TBB機制?或者甚至沒有TBB,如果我可以用STL來做到這一點,請給我一個例子。 UPD: 例如,我有一個函數,它作爲一個參數圖像和做一些處理以它: int Compute(cv::Mat I) { /* computations */ return 0;

    0熱度

    1回答

    如何確定TBB並行循環體中的線程ID? 基本上我需要的是每個線程副本的對象,所以我想我會有這些數組索引的線程ID。 我正在尋找可移植的TBB方式來做到這一點,而不是OS本機服務。

    0熱度

    1回答

    我遇到了一個概念上直接的代碼問題。我需要從循環內的向量收集一些迭代器,並且我想使用TBB功能來並行化這個循環。這裏有一個最小(不)的工作例子: #include <tbb/tbb.h> #include <vector> int main() { std::vector<int> v{1,2,3,4,5,6,7,8}; tbb::concurrent_vector<d

    1熱度

    1回答

    我查看了線程構建塊(fractal.cpp)中包含的分形示例,並提出了此構造。奇怪 - 如果我只在函數中傳遞2個參數,這是有效的。如果我將它增加到三個參數,則無法編譯。我懷疑它在最初的情況下也會失敗 - 但事實並非如此。爲什麼它只有2個參數失敗呢?或者我如何讓它使用3個參數? #include <iostream> #include <ctime> #include <cstd

    0熱度

    3回答

    我有一個函數pushMessage()。 void pushMessage(const char* msg, const int len) { for (int i=0;i<len;++i) queue.push(*(msg+i)) } 有問題的隊列是一個tbb::concurrent_bounded_queue<char>,有一個真正的大尺寸(假設爲無窮大)。 這個

    0熱度

    1回答

    在我的代碼我打電話parallel_for時兩次: parallel_for(do some stuff); // I want this operation to finish first parallel_for(do some other stuff); // then I want to do this 1)請問這種方法創建物理線程兩次?並讓它變慢? 2)如果需要,最好的方法是什麼將