幾個CUDA的問題 - 顯卡

Enid avatar
By Enid
at 2009-11-26T02:55

Table of Contents

※ [本文轉錄自 C_and_CPP 看板]

作者: gaiger (hallowed be my name) 看板: C_and_CPP
標題: [問題] 幾個CUDA的問題
時間: Thu Nov 26 00:13:17 2009



寫了個很蠢的程式去練習 CUDA,這裡是DFT:
(compiler皆為 cuda 2.1)

/*這程式用CPU製造 sin波*/
void GenerateDATA( int n, float *data, float freq)
{
float dt = 1.0/float(n -1);

const float pi = 4.0*atan(1.0);


for(int i = 0; i < n; i++) {
data[i] = (float)sin(2*pi*freq*i*dt);
}/*for */

} /*GenerateNumbers*/

/* 用 GPU算 DFT的函數 */

__global__ static void DFT(int numThread ,int n, float *input, float
*outputRe, float *outputIm )
{

const int tid = threadIdx.x ;
const int size = n / numThread;
const float pi = 4.0*(float)atan(1.0);
int k, j;

float phase = (-1.0)*(2*pi/n);

for(k = tid * size ; k< (tid + 1) * size ; k++) {

outputRe[k] = 0.0;
outputIm[k] = 0.0;

for(j = 0; j< n ; j++){

outputRe[k] += input[j]*(float)cos(phase*j*k);
outputIm[k] += input[j]*(float)sin(phase*j*k);
}/*for j*/

}/*for i*/


}/*__global__ static void DFT */



當然就用最傻瓜的方式呼叫 DFT, 我的numBlock設為 1, numThread設成與
array長度相同(即 n) :

DFT<<< numBlock, numThread, 0>>>(numThread,DATA_SIZE,inputGPU, outputReGPU,
outputImGPU );


算出來把結果打印出來看 :

用Emu mode (CPU模擬) 與 GPU mode 答案不一樣,請問這是正常的嗎

我確認我的 son atan都有強轉為 float型態 還為何會不同哩QQ


若array長度為 512 或 5000,我在printf整個 array時,會出現

數字錯亂的情況(類似 Nan, inf 這種強行以 float方式printf出來的樣子)

,但在Emu mode又完全正常,答案也正確

請問有人有類似的狀況嗎?

我GPU是 Geforce 9600gt(有1G的顯存,不太可能 out of memory 。。)

煩請高手回答

--
Tags: 顯卡

All Comments

Zanna avatar
By Zanna
at 2009-11-26T12:17
怪的是,若是n = 512,而numThread設成 64,又全正常
Dora avatar
By Dora
at 2009-11-29T06:27
geForce 9600GT是 64核,所以是numThread最多只能設成64?
Mary avatar
By Mary
at 2009-12-03T22:16
numThread 最大應該只能設定到 512..
指 9600GT 的話.

facebook在閃爍

Daph Bay avatar
By Daph Bay
at 2009-11-26T00:21
本來沒什麼印象 但剛剛灌完顯卡驅動後 看FACEBOOK網頁網下拉竟然在閃爍耶.... 是因為驅動嗎? - ...

MSI4850 無法安裝驅動程式

Hazel avatar
By Hazel
at 2009-11-25T22:28
請問一下各位大大 我今天剛買4850 1GB 不過一直無法安裝驅動程式 一直出現安裝封裝失敗 無法安裝 請問這事發生什麼問題呢? 原本內顯也已經關掉了 就的驅動也有移除 - ...

是獨顯壞掉了嗎?

James avatar
By James
at 2009-11-25T20:21
請問 我的螢幕今天不會亮了 但是後來接筆電還是可以用 看起來好像不是螢幕問題 前幾天的情況是 第一次開機 亮一下就會沒訊號 再重開一次開關 又會亮一下然後就沒訊號 要開第二次以後才會一直亮著 結果今天就完全不會亮了 請問這是不是獨顯壞掉的意思? - ...

請問一下內顯有無驅動可刪 如何刪謝謝

Wallis avatar
By Wallis
at 2009-11-25T20:19
發問時,請記得基本的網路禮儀^^ 需要幫忙推薦顯卡時,也請麻煩將 電腦配備 以及 預算 一併附上喔!! (尤其是PSU) ═════════════(以上可自行用Ctrl+k刪除)═════════════ cpu amd5000+ 主機版 ...

請推薦顯示卡

Mary avatar
By Mary
at 2009-11-25T18:17
想玩game 想玩決勝時刻:現代戰爭2 會說我的顯示卡不支援vertex shader 能建議一下顯示卡嗎? (盡量4000以下 不然廉價好用的) 如果要跑得順 CPU需不需要換呢? 謝謝各位回答囉 我的配備 用Speccy查的 Operating System MS Windows 7 Enterpris ...