2017-06-15 22 views
0

在CUDA中,是否將統一內存指針傳遞給內核會降低程序的速度?將統一內存指針傳遞給內核會減慢程序的速度

我得到了一個內核在做某些事情,然後我在內核之外創建了一些統一的內存cudaMallocManage,然後將指針傳遞給內核作爲參數。我用cuda_Event來計時。內核運行速度從1900毫秒到3000毫秒要慢得多。

爲什麼傳遞指針需要太多?一個指針?

我應該如何加快程序?

+3

可能是因爲統一內存正在以某種方式複製與指針相關的數據。 –

回答

1

將託管指針傳遞給內核本身對性能沒有影響。但是從指針地址管理的內存中讀取和寫入可能會觸發PCI-e總線上的大量專用內存傳輸。這可能會非常緩慢。