gpgpu

    -1熱度

    1回答

    所以我想模擬一個名爲Tasep的一維物理模型。 我寫了一個代碼來模擬C++中的這個系統,但我絕對需要提升性能。 該模型非常簡單(下面的C++代碼) - 1和0的數組。 1代表顆粒並且0是無顆粒,意思是空的。一個粒子向右移動一個元素,速度爲1,如果該元素爲空。最後一個位置的粒子將以beta(比如0.3)的速度消失。最後,如果第一個位置是空的,則粒子將出現在那裏,速率爲alpha。 一個線程很容易,我

    0熱度

    1回答

    我在NVIDIA上使用OpenCL 2.0的測試版支持,並針對像1080ti這樣的高端GPU。在我的計算管道中,我需要有時派遣工作來獨立處理相對較小的圖像。理論上,我認爲這些圖像應該能夠在單個GPU上並行處理,因爲單個圖像的工作組數量不會使GPU的所有計算單元飽和。 這在OpenCL中可能嗎?這在OpenCL中有一個名字嗎? 如果可能的話,爲單個設備使用多個隊列是唯一的方法嗎?或者驅動程序會查看「

    1熱度

    1回答

    我考慮的可能性來處理在GPU上的數據虛擬尋址和統一存儲,這是太大的GPU內存和我有幾個問題。 如果我理解的正確,與映射存儲器中的數據駐留在主存儲器中,並轉移到訪問僅當GPU,因此它不應該是分配超過裝配到GPU存儲器的問題。 UVA是類似於映射的內存,但數據可被存儲在CPU和GPU兩者的存儲器英寸但是,GPU有可能在充滿自己的數據的情況下訪問主內存(與映射內存一樣)?在這種情況下會發生內存溢出嗎?我

    1熱度

    1回答

    如何編寫CUDA代碼以在計算機上打印支持CUDA的設備。

    4熱度

    1回答

    切割性能我讀這篇文章: FPGA or GPU? - The evolution continues 而且有人發表了評論,他寫道: 由於GPU是SIMD任何代碼用「的if-else」語句將削減一半的 性能。一半核心將執行 語句的if部分,而一半核心處於空閒狀態,然後另一半核心將執行其他計算,而核心的前一半 保持空閒狀態。 我不明白爲什麼? 爲什麼使用GPU(即OpenCL)使用if-else時性能

    0熱度

    2回答

    我將改進OCL內核性能,並且想要闡明內存事務如何工作以及哪種內存訪問模式真的更好(以及爲什麼)。 內核提供了8個整數的向量,這些整數被定義爲數組:int v [8],這意味着,在進行任何計算之前,必須將整個向量加載到GPR中。所以,我相信這個代碼的瓶頸是初始數據加載。 首先,我考慮一些理論基礎知識。 目標硬件是Radeon RX 480/580,具有256位GDDR5存儲器總線,突發讀/寫事務有8

    0熱度

    1回答

    CUDA具有的計數 32位和64位類型的內在函數:__popc()和__popcll()。 CUDA是否也有內在函數來獲取32位和64位類型的奇偶校驗? (該奇偶指的整數是否具有偶數或奇數的1比特量。) 例如,GCC有__builtin_parityl()爲64位整數。 而且這裏的C函數做同樣的事情: inline uint parity64(uint64 n){ n ^= n >> 1

    1熱度

    1回答

    OpenCL最佳實踐指南(https://www.cs.cmu.edu/afs/cs/academic/class/15668-s11/www/cuda-doc/OpenCL_Best_Practices_Guide.pdf)在3.1.3節中建議使用clFlush以確保命令以正確的順序發生,例如,處理不數據傳輸之前發生: 傳輸的數據隊列0 clFlush的隊列0 運行內核隊列0,傳輸數據的隊列1

    -1熱度

    1回答

    我有一個序列長度不同的數組,每個序列以'>'結尾。 seq = [a,b,f,g,c,d,>,b,g,d,> ....]。我計算了每個序列的長度並將其存儲在一個名爲seq_length = [6,3,5,...]的不同數組中。然後,我使用排他掃描來計算偏移量並將其存儲在一個名爲offset = [0,6,9,...]的數組中。 我想要的是讓每個塊通過使用偏移值從數組seq []中讀取一個序列。例如

    0熱度

    1回答

    我注意到在CUDA中,對緩存和共享內存的延遲訪問權限是相同的。鑑於這個事實他們有什麼不同?我們如何以不同的方式使用它們?