//share memory demo
//實現c[mh,nw]=a[mh,mw]b[mw,nw]
#include #include #include #define n 8 //a、b、c為方陣時的矩陣寬度
//非方陣的設定如下:
#define mh 16 //a的行數
#define mw 32 //a的列數=b的行數
#define nw 16 //b的列數
//c的行數=mh,列數=nw
#define thread_width 16 //每個block中thread個數,3個維的寬度乘積不能超過1024
#define tile_width 16//瓦片寬度,應保證各矩陣的寬高是tile_width的整數倍
__global__ void matrixmuloptimazationkernel(const float* md, const float* nd, float* pd, int mh, int mw, int nw)
}pd[ row * nw + col] = sum;
}}int main()
printf("\n");
} printf("b=\n");
for(int i=0;iprintf("\n");
} printf("c=\n");
for(int i=0;iprintf("\n");
} printf("the gpu performing time is %f ms \n",time);
free(a);
free(b);
free(c);
cudafree(da);
cudafree(db);
cudafree(dc);
}
cuda學習筆記 1
cuda cu 的目的是並行運算。只要在c c 中呼叫以 global 為關鍵字修飾的函式 global void function type inputarraya,type inputarrayb,type outputarraya 稱為核函式,經nvcc編譯,識別到核函式就會編譯成gpu指令碼...
CUDA程式設計入門筆記1
要開始給專案中的程式做速度上的優化 由於cpu的計算速度比較慢 所以想用gpu來進行大量相同的計算 cuda c是對c c 語言進行拓展後形成的變種,相容c c 語法,檔案型別為 cu 檔案,編譯器為 nvcc 相比傳統的c c 主要新增了以下幾個方面 用來確定某個函式是在cpu還是gpu上執行,以...
CUDA學習筆記(1) Hello CUDA
cuda的安裝網上的教程有很多,這裡就不做介紹了。cuda使用c語言的語法,擴充套件了一些關鍵字,下面我們使用cuda編寫第乙個程式hello cuda。這裡使用vs 2015新建乙個cuda的專案,在新建專案中,選擇cuda,如下圖顯示 程式 如下 include cuda runtime.h i...