我第一次拥有以下多 GPU CUDA 代码:
int main( void ) {
int count;
cudaGetDeviceCount( &count );
float** gtt = new float*[count];
for (int i=0; i< count; i++) {
cudaSetDevice(i);
int j;
cudaGetDevice(&j);
printf("get device %d\n",j);
cudaMalloc((void**)>t[i], 2*sizeof(float));
cudaFree(gtt[i]);
}
}
我在同一个节点上发现了 3 台设备,但在运行的第二个 GPU 上出现了段故障。我的 CUDA 版本为 4010,计算能力为 2.0。