6
我知道使用1D數組時的動態分配,但在使用2D數組時如何完成動態分配?GPU 2D共享內存動態分配
myKernel<<<blocks, threads,sizeofSharedMemoryinBytes>>>();
....
__global__ void myKernerl(){
__shared__ float sData[][];
.....
}
說我要分配一個2D共享存儲陣列:
__shared__ float sData[32][32];
怎樣纔可以動態地完成?將是:
myKernel<<< blocks, threads, sizeof(float)*32*32 >>>();
你的靜態聲明「2D共享存儲陣列」是不是二維的,它僅僅是線性內存和編譯器生成到其行爲主的順序進行訪問。根據你關於多維數組的無數問題,或許是時候坐下來閱讀一些參考資料,並瞭解C++如何工作。 – talonmies