tbb

    3熱度

    1回答

    我有一個自定義的C++模塊,用於顯示函數,其中一些使用TBB(tbb21_015oss)加速處理。 到目前爲止,在Win32環境下從Python(2.6.2)調用TBB加速函數時,我沒有任何問題。 但是現在,從Python線程(使用threading.Thread類創建)調用此函數時遇到問題 - 在調用相同函數時,從主Python線程可以正常工作。 調用函數導致應用程序崩潰,並顯示以下消息: Fi

    1熱度

    1回答

    我在TBB forum上提出過這個問題,但我希望這裏有人可能會有一些額外的想法。我正在調試我們所看到的問題,並注意到tbb::concurrent_vector有一些奇怪的行爲。 底線是在push_back()調用實際完成後,concurrent_vector的size()未反映此情況。我已經縮小它與容量有關,因爲如果我捕獲capacity()和size(),size() == capacity(

    0熱度

    1回答

    我嘗試使用Intel TBB使用文件讀取,排序,文件寫入階段來編寫流水線版本的Bitonic Sort,如下所示。代碼在while((outQueue.try_pop(line))的spinlock處凍結;在FileWriter過濾器中。有人可以解釋爲什麼這可能是? 更新: 我做了一些進一步的測試,發現由try_pop從頭文件_concurrent_queue_internal.h調用的inter

    2熱度

    3回答

    我正在實施一個使用intel TBB的雙向排序。當使用parallel_invoke方法一切順利。但是,當使用task_group(不調用wait方法)時,輸出不會被排序。如下所示使用task_group時,程序不會終止。 void bitonic_merge(bool up, int array[],int size){ if(size==1){ return;

    0熱度

    1回答

    有人能指點我一個快速開始使用Visual Studio 2008上的TBB工作的方法嗎?我確實經歷了這個教程,但看起來有些老舊(LINK)

    1熱度

    2回答

    我是線程構建塊的新手,嘗試在TBB中對FFT算法進行編碼以獲得一些經驗。在這種算法的情況下,我只能並行化最內層的循環。但通過這樣做,表現已經降低到不可接受的程度(超過一千倍)。我曾嘗試數組大小達到2^20,但結果相同。下面 for(stage1=0;stage1 < lim;stage1 ++) { butterfly_index1 = butterfly_index2; b

    2熱度

    1回答

    我想要使用TBB並行化一些在OpenCV中編寫的圖像匹配代碼。問題在於,根據我的匹配(在左圖中創建一個5x5窗口並逐個像素地尋找匹配)本質上是一個只讀操作,目前我試圖並行化內部循環(即在給定的高度。不同的像素到不同的線程)。讓我吃驚的是,雖然並行完成cvSetImageROI命令。這是代碼。 //Code below just carves out a window(5x5) at a curre

    3熱度

    2回答

    我有一些串行代碼,我已經開始使用英特爾的TBB進行並行化。我的第一個目標是並行化代碼中幾乎所有的for循環(我甚至在for循環中進行了並行化),並且現在完成了一些工作,我獲得了一些加速。我正在尋找更多地點/想法/選項來並行化...我知道這可能聽起來有點模糊,沒有太多的參考問題,但我正在尋找這裏的通用想法,我可以在我的代碼中探索。 算法概述(以下算法遍歷圖像的所有級別,以最短的距離開始,每次增加寬度

    2熱度

    1回答

    我有一些代碼使用英特爾TBB,我在32核心機器上運行。在代碼中,我使用 parallel_for時(blocked_range(2,left_image_width-2,left_image_width/32)... 產卵32到做並行工作,有沒有競爭條件線程,每個線程希望給予相同數量的工作,我使用clock_t來衡量我的程序需要多長時間,對於某個圖像,大概需要19秒鐘的時間才能完成 然後我通過英特

    2熱度

    1回答

    像條件信號機制一樣,我希望一個任務等待,直到接收到某個信號或某個變量爲真。 Boost lib提供了這種機制,但TBB沒有。 如何在TBB中實現這種情況?