【发布时间】:2016-01-23 04:33:32
【问题描述】:
我一直在做一些关于测量数据传输延迟的实验 CPU->GPU 和 GPU->CPU。我发现对于特定消息大小,CPU->GPU 数据传输率几乎是 GPU->CPU 传输率的两倍。谁能解释一下为什么会这样?
【问题讨论】:
-
顺便说一句,你获得的传输速度是多少Mb/sec?
-
你为什么在这里使用“延迟”?
我一直在做一些关于测量数据传输延迟的实验 CPU->GPU 和 GPU->CPU。我发现对于特定消息大小,CPU->GPU 数据传输率几乎是 GPU->CPU 传输率的两倍。谁能解释一下为什么会这样?
【问题讨论】:
由于不知道你的实验的细节,比如使用了什么 CPU/GPU,如何测量传输率,我只是猜测, 从 CPU->GPU 的数据传输,通常是通过 DMA。每次它可以将一个块字节从系统内存传输到图形内存。 但是数据从GPU->CPU传输,通常CPU是读取PCI总线映射的图形孔径内存。 CPU只能以不可缓存的、严格的顺序逐字节读取孔径内存,速度较慢。
【讨论】: