CUDA筆記1 share memory優化

2021-07-25 07:31:02 字數 903 閱讀 5492

//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...