gpgpu

    1熱度

    1回答

    實際上,我正在使用ManagedCUDA在C#應用程序中查詢我的GPU規格。 所以我看着文檔,我看到有一個名爲「CudaDeviceProperties」的類,它有很多變量用於存儲來自GPU的日期。 但我不知道如何使用它。我試圖創建一個類似如下的變量: CudaDeviceProperties prop = new CudaDeviceProperties(); ,並試圖打印,例如:prop.Ma

    0熱度

    1回答

    我剛剛發現AMD相當於CUDA的__byte_perm內在; amdgcn_ds_swizzle(或者至少我認爲它相當於一個字節排列函數)。我的問題是這樣的:CUDA的字節perm取兩個無符號的32位整數,然後根據選擇器參數的值(作爲十六進制值提供)進行置換。但是,AMD的swizzle函數只需要一個無符號的32位整數,而一個int被稱爲「模式」。我如何利用AMD的Swizzle內在功能?

    1熱度

    1回答

    我有一個內核,它不會輸入任何內容,而且其工作項目不會相互通信。每個工作項都根據其global_id在不同的參數上運行,但這不會傳入。我希望每個工作項都能處理其任務,根據某些條件篩選結果,並將結果寫回全局內存數組中符合這個標準。做這個的最好方式是什麼?我認爲是__global指數將開始在0和增量每個寫,但在此訪問無鎖和並行處理結束了一堆的比賽條件,所以我不知道在哪裏,告訴每一個工作項寫入輸出數組中。

    -1熱度

    1回答

    我一直在編寫一些openCl程序一段時間,現在我試圖做一個簡單的程序讀取.pam格式的圖像,然後保存它。 現在的問題是,當我運行它,給一個名稱來打開圖像時,它會返回一個錯誤-40當創建第一個2dImage。 下面的代碼: #define SEPARATOR "==============================================\n" /* Copia tutto tran

    -2熱度

    2回答

    在測驗:Udacity的「介紹並行編程」的線程和塊時,它詢問語句「運行在給定SM上的所有線程是否可以合作解決問題」是對還是錯。答案是錯誤的,但我認爲它應該是真實的,因爲: 它使用「可以」而不是「必須」。一些論文正在討論塊間GPU通信。 我有什麼誤解嗎?

    1熱度

    1回答

    我不太瞭解OpenCL,但我知道C/C++ API要求程序員將OpenCL代碼作爲字符串提供。但最近我發現ArrayFire庫不需要字符串代碼來調用一些計算。我想知道它是如何工作的(它是開源的,但代碼有點混亂)。有沒有可能像下面與OpenCL的後端調用任何一塊編譯(X86爲例)的代碼編寫並行: template <typename F> void parallel_for(int starts,

    2熱度

    1回答

    GPU真快,當談到paralleled computation並且不與爲15-30執行CPU(有的甚至報道50)倍的速度然而, GPU內存是非常有限的比較CPU內存和GPU內存與CPU之間的通信速度並不快。假設我們有一些數據不適合GPU ram,但我們仍然想使用 這是奇蹟般的計算。我們可以做的就是將這些數據分成幾塊,然後將它們逐個送入GPU。發送大量數據到GPU可能需要一段時間,有人可能會想,如果

    1熱度

    1回答

    我有一個應用程序使用兩個計算着色器。 Shader #1生成數據x並將其存儲在A中,綁定爲追加緩衝區。 Shader #2在x之間運行,從A開始,綁定爲消耗緩衝區。 我想加入Shader #3延長這一點,這對所有的x運行在A,生產y到一個新的緩衝B - 但我還是想Shader #2爲之前x運行。 也就是說,我想對一個append/consume緩衝區的所有元素執行一個操作,但不會'消耗'它們。 如

    -2熱度

    1回答

    我要生成將由多線程生成後,所以我用程序範圍內聲明它讀取的矩陣。它必須是恆定的,所以我剛分配值一度讓 1)爲什麼OpenCL的要求進行初始化,而只有申報? 2)我該如何解決這個問題?

    0熱度

    1回答

    我有一個在Intel平臺上工作的OpenCL C++代碼。我確實有一個想法,即在Kernel End的結構中不接受指針。不過,我有一個使用其中的自引用指針選項的類。現在,我可以使用一個結構並在主機端複製相同的結構,但我無法在設備端執行相同的操作。 例如如下: Class Classname{ Classname *SameClass_Selfreferencingpointer;