我的矩阵加法示例:
__global__ void matrix_add(float *a, float*b, float *c, int N)
{
int index;
int Row = blockIdx.y * blockDim.y + threadIdx.y;
int Col = blockIdx.x * blockDim.x + threadIdx.x;
int index = Row * N + Col; // N is the order of the square matrix
cd[index]= ad[index] + bd[index];
}
我可以在上面的内核中使用 printf 或任何其他类似的功能吗?这样我就不需要将数据从设备传输到主机内存(即cudaMemcpyDeviceToHost
)。如果是,那怎么办?如果没有,那为什么不呢?