cub

    0熱度

    1回答

    從CUDA內核調用CUB類後,是否需要調用cudaDeviceSynchronize?當一個人使用從設備說DeviceReduce ::總和(),有移動的阻擋裝置內隱記憶副本,但遇到了一些不穩定使用呼籲GPU下面的代碼後: __device__ void calcMonomerFlux(double* fluxes, double* lengths, double* dt) //temp2 tem

    1熱度

    1回答

    每當我包含<cub/cub.cuh>頭文件時,Visual Studio的智能感知都會報告數千個錯誤。 正如您在附件截圖中看到的,應用程序由空行main()函數和include行組成。 我在項目屬性中定義了額外的包含目錄和額外的庫目錄。我沒有做任何其他改變。 我的設置包含visual studio community 2015,cuda 8.0.61和cub 1.7.0庫。 有什麼我可以做的,以解

    0熱度

    1回答

    我是CUDA和CUB的新手。我發現下面的代碼,並試圖編譯它,但我有這個錯誤: 致命錯誤:cub/cub.cuh:沒有這樣的文件或目錄。 CUDA的版本是7.0.27 我該如何解決這個錯誤? 謝謝!所有的 #include <cuda.h> #include <cub/cub.cuh> #include <stdio.h> int main(){ // Declare, allo

    1熱度

    1回答

    我讀CUB文檔和例子: #include <cub/cub.cuh> // or equivalently <cub/block/block_radix_sort.cuh> __global__ void ExampleKernel(...) { // Specialize BlockRadixSort for 128 threads owning 4 integer items e

    0熱度

    1回答

    在我的其中一個項目中,使用CUB的 DeviceReduce :: ReduceByKey時看到一些不正確的結果。但是,在thrust :: reduce_by_key中使用相同的輸入/輸出會產生預期結果。 #include "cub/cub.cuh" #include <vector> #include <iostream> #include <cuda.h> struct Add

    0熱度

    1回答

    具體如何排序float3的數組?因此,.x組件是主要的分類標準,.y組件是次要分類標準,而.z組件是第三級分類標準。 有沒有一個簡單的解決方案,可以打一個電話cub:: DeviceRadixSort或thrust::sort_by_key? 目前我想也許我可以創建一個uint32鍵陣列,其中每個元素的前三分之一的數字取自輸入數組的第一個三分之一的組成部分,第一個三分之一的數字取自第一個數字輸入陣

    1熱度

    1回答

    我有一個由float4數組表示的粒子池,其中w分量是粒子當前的生命週期[0,1]。 我需要根據粒子的壽命以降序對這個數組進行排序,這樣我就可以爲當前有多少粒子「活躍」(壽命大於0)保留一個精確計數器。我需要這個計數器,因爲當我需要激活更多的粒子(隨機發生)時,它將允許我索引到陣列中的正確位置。 我的微粒數組存儲在設備內存中,似乎我應該能夠對數組進行排序而不必將數組傳輸到主機內存。 我在網上找到例子

    1熱度

    1回答

    當使用cub :: BlockRadixSort在塊中進行排序時,如果元素數量太大,我們該如何處理?如果我們將圖塊大小設置得太大,臨時存儲的共享內存很快就無法存儲。如果我們將它分成多個圖塊,我們如何在對每個圖塊進行排序後對其進行後處理?

    0熱度

    1回答

    我試圖並行實現多個top-k選擇,其中每個選擇從n個元素列表中選擇k個元素,並且有m個這樣的任務要並行執行。我使用幼崽來做到這一點。我有一個奇怪的錯誤,我不知道我做錯了什麼。我覺得我的理解可能會犯一些明顯的錯誤,有人可以幫我檢查一下嗎? 編輯: 我把它通過增加兩個cudaDeviceSynchronize()電話,每個包含free()兩個代碼段的前工作。所以,現在我的問題是,是否free行爲不同於

    1熱度

    1回答

    我試圖讓我的頭部繞過CUB,並且在(不完整的)工作示例之後有點麻煩。 CUB看起來像是一個很棒的工具,我無法理解示例代碼。 我已經建立了一個簡單的原經減少例如: #include <cub/cub.cuh> #include <cuda.h> #include <vector> using std::vector; #include <iostream> using std::cout;