1 डी सरणी का उपयोग होने पर मुझे गतिशील आवंटन के बारे में पता है, लेकिन 2 डी सरणी का उपयोग कब किया जा सकता है?जीपीयू 2 डी साझा स्मृति गतिशील आवंटन
__shared__ float sData[32][32];
कैसे यह गतिशील किया जा सकता है:
myKernel<<<blocks, threads,sizeofSharedMemoryinBytes>>>();
....
__global__ void myKernerl(){
__shared__ float sData[][];
.....
}
मैं एक 2 डी साझा स्मृति सरणी आवंटित करना चाहते हैं? होगा:
myKernel<<< blocks, threads, sizeof(float)*32*32 >>>();
आपकी स्थाई रूप से घोषित "2 डी साझा मेमोरी सरणी" दो आयामी नहीं है, यह केवल रैखिक स्मृति है और संकलक पंक्ति-प्रमुख ऑर्डर पहुंच उत्पन्न करता है। बहुआयामी सरणी के बारे में आपके अनगिनत प्रश्नों के आधार पर, शायद कुछ संदर्भ सामग्री के साथ बैठने का समय है और सी ++ में एरे कैसे काम करते हैं, इस बारे में जानें .. – talonmies