我总是读到分配和传输数据从cpu到gpu的速度很慢。这是因为cudaMalloc慢吗?是因为cudaMemcpy慢吗?还是因为他们俩都很慢?

最佳答案

它主要与两件事有关,首先是开始卡与CPU之间的PCIExpress总线速度。另一个与这些功能的操作方式有关。现在,我认为新的CUDA 4更好地支持内存分配(标准或固定),以及一种通过总线透明访问内存的方法。

现在,让我们面对现实,在某个时候,您需要从A点到B点获取数据以进行计算。最好的处理方式是进行大量计算,或者使用CUDA流在GPU上重叠传输和计算。

关于c++ - CUDA cudaMemcpy和cudaMalloc,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5898325/

10-09 14:54