我想知道是否有人可以建議最好的方法來計算大量相對較小的平均值/標準偏差,但是在CUDA中的不同大小的陣列?CUDA減少許多小的,不相等大小的陣列
SDK中平行下降示例工作一個非常大的陣列上,似乎大小爲方便每塊的線程數的倍數,但我的情況有點不同:
概念,然而,我具有大量的對象,每個對象包含兩個組件,分別爲upper
和lower
,並且這些組件中的每一個都具有x
和y
座標。即
upper.x, lower.x, upper.y, lower.y
這些陣列中的每一個的長度爲大約800
但它的對象之間變化(未在對象內),例如
Object1.lower.x = 1.1, 2.2, 3.3
Object1.lower.y = 4.4, 5.5, 6.6
Object1.upper.x = 7.7, 8.8, 9.9
Object1.upper.y = 1.1, 2.2, 3.3
Object2.lower.x = 1.0, 2.0, 3.0, 4.0, 5.0
Object2.lower.y = 6.0, 7.0, 8.0, 9.0, 10.0
Object2.upper.x = 11.0, 12.0, 13.0, 14.0, 15.0
Object2.upper.y = 16.0, 17.0, 18.0, 19.0, 20.0
請注意以上僅僅是我代表陣列的方式和我的數據沒有存儲在C
結構或類似的東西:數據可以以任何方式,我需要進行組織。重點是,對於每個陣列,需要計算均值,標準偏差和最終直方圖,並且在一個特定對象內,需要計算數組之間的比率和差異。
我應該如何將這些數據發送到GPU設備並組織我的線程塊層次結構?我想到的一個想法是將所有數組填充爲零,以使它們具有相同的長度,並且在每個對象上都有一組塊,但是如果它能夠工作,似乎存在各種各樣的問題。
在此先感謝
謝謝,我決定去每個陣列1塊 – zenna 2009-11-23 01:10:51