Nab*_*bin 2 c parallel-processing cuda gpu
在GPU内存(NVIDIA)在CUDA中完全耗尽后,有没有办法使用RAM ?
我到现在想的是:
但很明显,这将需要很多同步化的东西.
谢谢!
如果GPU上的内存不足,您可以非常轻松地使用主机内存.您正在寻找的是分配的零拷贝内存cudaHostAlloc
.以下是最佳实践指南中的示例:
float *a_h, *a_map;
...
cudaGetDeviceProperties(&prop, 0);
if (!prop.canMapHostMemory)
exit(0);
cudaSetDeviceFlags(cudaDeviceMapHost);
cudaHostAlloc(&a_h, nBytes, cudaHostAllocMapped);
cudaHostGetDevicePointer(&a_map, a_h, 0);
kernel<<<gridSize, blockSize>>>(a_map);
Run Code Online (Sandbox Code Playgroud)
但是,性能将受到PCIe bandwitdh(约6GB/s)的限制.
以下是最佳实践指南中的文档:零拷贝