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

passing a unified memory pointer to kernel slows down the program

本文关键字:内核 程序 速度 内存 指针      更新时间:2023-10-16

在 CUDA 中,将统一内存指针传递给内核会减慢程序速度吗?

让一个内核做一些事情,然后我 cudaMalloc 管理内核外的一些统一内存,然后将指向内核的指针作为参数传递。我用cuda_Event时间。内核从 1900 毫秒到 3000 毫秒运行得慢得多。

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

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

将托管指针传递给内核本身对性能没有影响。但是,指针地址的受管内存的读取和写入可能会触发通过 PCI-e 总线进行的大量临时内存传输。这可能非常慢。