将统一的内存指针传递给内核会降低程序的速度

时间:2017-06-15 01:22:43

标签: c++ memory cuda

在CUDA中,将统一内存指针传递给内核是否会降低程序的速度?

我得到了一个内核做某事,然后我在cudaMallocManage内核之外的一些统一内存,然后将指针传递给内核作为参数。我用cuda_Event来计时。内核从1900ms到3000ms运行得慢得多。

为什么传递指针需要太多?指针?

我应该如何加快程序的速度?

1 个答案:

答案 0 :(得分:1)

将托管指针传递给内核本身对性能没有影响。但是,对指针所指向的管理存储器进行读写操作可能会触发PCI-e总线上的大量ad-hoc存储器传输。这可能会很慢。