小编mah*_*imb的帖子

使用CUDA创建2D数组

在cuda c编程指南文档中有一个显示2d数组的示例:

// Kernel definition
__global__ void MatAdd(float A[N][N], float B[N][N], float C[N][N])
{
int i = blockIdx.x * blockDim.x + threadIdx.x;
int j = blockIdx.y * blockDim.y + threadIdx.y;
if (i < N && j < N)
C[i][j] = A[i][j] + B[i][j];
}

int main()
{
...
// Kernel invocation
dim3 threadsPerBlock(16, 16);
dim3 numBlocks(N / threadsPerBlock.x, N / threadsPerBlock.y);
MatAdd<<<numBlocks, threadsPerBlock>>>(A, B, C);
...
}
Run Code Online (Sandbox Code Playgroud)

我使用下面的2d数组形式,并正常工作:

dim3 grid[COLUMNS][ROWS];
kernel_Matrix<<<grid,1>>>(dev_strA, dev_strB, dev_Matrix);

__global__ void add(int *a, int *b, int …
Run Code Online (Sandbox Code Playgroud)

cuda multidimensional-array

1
推荐指数
1
解决办法
6135
查看次数

标签 统计

cuda ×1

multidimensional-array ×1