总有些童鞋想知道怎么在CUDA中使用二维数组([M][N]这种类型),其实这个很简单,不过你要完全弄明白,必须对指针,地址等概念非常清楚才行。写这篇博客解决下大家这个问题:
1、首先讲述一下在一般C语言中如何使用二维数组。
- int r, c;
- int **arr = (int**)malloc(ROWS*sizeof(int*));
- int *data = (int*)malloc(COLS*ROWS*sizeof(int));
- for (r = 0; r < ROWS; r++)
- {
- arr[r] = data + r*COLS;
- }
- free(arr); <