在“分类ImageNet:使用C ++ API”教程(http://caffe.berkeleyvision.org/gathered/examples/cpp_classification.html)的最后,我找到了这样的短语:
使用多个分类线程确保GPU始终完整 利用而不是等待I / O阻塞的CPU线程。
他们的意思是什么? 我理解正确,有一种方法可以在一个GPU上运行时为CPU层使用多个线程吗?
由于
答案 0 :(得分:0)
以下代码添加了两个大小为NxN的矩阵A和B,并将结果存储到矩阵C中:
// Kernel definition
__global__ void MatAdd(float A[N][N], float B[N][N],
float C[N][N])
{
int i = threadIdx.x;
int j = threadIdx.y;
C[i][j] = A[i][j] + B[i][j];
}
int main()
{
...
// Kernel invocation with one block of N * N * 1 threads
int numBlocks = 1;
dim3 threadsPerBlock(N, N);
MatAdd<<<numBlocks, threadsPerBlock>>>(A, B, C);
...
}