CUDA'da global 2d dizi değişkenini kullandım ve bu global değişkene kümülatif eklemeyi kullanmaya çalıştım. Ama kodu yeniden çalıştırdığımda, son çalışmadaki değerde başladı. Örneğin, değer sonraki çalıştırma (eğer tahsis edilir hafızayı başlatmak için It istediğini gibi geliyor 0.CUDA global değişkenleri nasıl sıfırlanır
__device__ double *d_t;
__device__ size_t d_gridPitch;
__global__ void kernelFunc()
{
int i = blockIdx.x * blockDim.x + threadIdx.x
double* rowt = (double*)((char *)d_t + i * d_gridPitch);
rowt[0] = rowt[0] + 50000;
printf("%.0f, ",rowt[0]);
}
int main()
{
int size = 16;
size_t d_pitchLoc;
double *d_tLoc;
cudaMallocPitch((void**)&d_tLoc, &d_pitchLoc, size * sizeof(double), size);
cudaMemcpyToSymbol(d_gridPitch, &d_pitchLoc, sizeof(int));
cudaMemcpyToSymbol(d_t, & d_tLoc, sizeof(d_tLoc));
kernelFunc<<<1,size>>>();
cudaDeviceReset();
return 0;
}