關於CUDA程式碼的問題...求救... - 顯卡
![Victoria avatar](/img/girl3.jpg)
By Victoria
at 2009-09-17T22:48
at 2009-09-17T22:48
Table of Contents
目標是做出N長度的數字串,亂數排序且不重複
已經有成功做出亂數表跟正常排序的數字串了
舉個例子來說,現在是希望將
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
上面這3條字串亂數排序變成
2 1 5 4 3
5 4 1 3 2
4 2 5 1 3
參考了a5000ml大大的泡泡排序寫出下面的CODE,希望做出亂數排序的效果
演算法的差別主要是在於判別swap的機率為取亂數表決定(50%機率交換)
for(int i = blockIdx.x; i < string_number; i += gridDim.x)
for(int loop=0; loop <= lenth/2; loop++)
for(int j = threadIdx.x, k = 2 * threadIdx.x; j < lenth
; j += blockDim.x){
//0 based 配對資料 (0,1) (2,3) (4,5) ....
//3維度randtable取值判別
if(randtable[loop * i * lenth + i * lenth + j] % 2 == 0)
swap(string[i * lenth + k],string[i * lenth + k + 1]);
//1 based 配對資料 (1,2) (3,4) (5,6) ....
//3維度randtable取值與判別
if(randtable[loop * i * lenth + i * lenth + j] % 2 == 0)
if(k < lenth-2) //若 N 為偶數時, 最後一個執行緒不作用
swap(string[i * lenth + k + 1],string[i * lenth + k + 2]);
}
由於都是用1維度模擬所以陣列取值裡面的數值挺長的...
現在問題是不知道為什麼執行完以後裡面的數值會出現重複的情況
例如
1 1 5 3 2
看起來應該沒有race condition的情況才對...
--
已經有成功做出亂數表跟正常排序的數字串了
舉個例子來說,現在是希望將
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
上面這3條字串亂數排序變成
2 1 5 4 3
5 4 1 3 2
4 2 5 1 3
參考了a5000ml大大的泡泡排序寫出下面的CODE,希望做出亂數排序的效果
演算法的差別主要是在於判別swap的機率為取亂數表決定(50%機率交換)
for(int i = blockIdx.x; i < string_number; i += gridDim.x)
for(int loop=0; loop <= lenth/2; loop++)
for(int j = threadIdx.x, k = 2 * threadIdx.x; j < lenth
; j += blockDim.x){
//0 based 配對資料 (0,1) (2,3) (4,5) ....
//3維度randtable取值判別
if(randtable[loop * i * lenth + i * lenth + j] % 2 == 0)
swap(string[i * lenth + k],string[i * lenth + k + 1]);
//1 based 配對資料 (1,2) (3,4) (5,6) ....
//3維度randtable取值與判別
if(randtable[loop * i * lenth + i * lenth + j] % 2 == 0)
if(k < lenth-2) //若 N 為偶數時, 最後一個執行緒不作用
swap(string[i * lenth + k + 1],string[i * lenth + k + 2]);
}
由於都是用1維度模擬所以陣列取值裡面的數值挺長的...
現在問題是不知道為什麼執行完以後裡面的數值會出現重複的情況
例如
1 1 5 3 2
看起來應該沒有race condition的情況才對...
--
Tags:
顯卡
All Comments
Related Posts
主機板內建顯卡與外接顯卡之選擇
![Annie avatar](/img/woman.jpg)
By Annie
at 2009-09-17T19:09
at 2009-09-17T19:09
執行3D還是會一直重開機 快瘋了 = =
![Andrew avatar](/img/beaver.jpg)
By Andrew
at 2009-09-17T18:10
at 2009-09-17T18:10
顯示卡的頻寬計算
![Hamiltion avatar](/img/dog1.jpg)
By Hamiltion
at 2009-09-17T16:15
at 2009-09-17T16:15
7300GT好像掛了...
![Barb Cronin avatar](/img/boy2.jpg)
By Barb Cronin
at 2009-09-17T15:30
at 2009-09-17T15:30
ATI的卡要送到哪修?
![Liam avatar](/img/woman-ring.jpg)
By Liam
at 2009-09-17T15:29
at 2009-09-17T15:29