Opencl ATI FirePro上的PCIe带宽
我尝试在ATI FirePro 8750上测量PCIe带宽。SDK中的amd应用程序示例PCIeBandwidth测量以下传输的带宽:Opencl ATI FirePro上的PCIe带宽,opencl,Opencl,我尝试在ATI FirePro 8750上测量PCIe带宽。SDK中的amd应用程序示例PCIeBandwidth测量以下传输的带宽: 主机到设备,使用clenqueueredbuffer() 设备到主机,使用clEnqueueWriteBuffer() 在我的系统(windows 7,Intel Core2Duo 32位)上,输出如下: Selected Platform Vendor : Advanced Micro Devices, Inc. Device 0 : ATI RV770 Ho
Selected Platform Vendor : Advanced Micro Devices, Inc.
Device 0 : ATI RV770
Host to device : 0.412435 GB/s
Device to host : 0.792844 GB/s
此特定卡具有2 GB DRAM,最大时钟频率为750 Mhz
1-为什么每个方向的带宽不同
2-为什么带宽这么小
我也知道这种通信是通过DMA进行的,所以带宽可能不受CPU的影响 这篇来自微软研究实验室的文章为GPU和CPU之间的PCIe数据传输带宽不对称提供了一些线索。本文描述了PCIe上FPGA-GPU数据传输带宽的性能指标。它还包括PCIe上CPU-GPU数据传输带宽的指标
引用相关章节
“还应该注意的是,GPU-CPU本身也传输数据
表现出一定程度的不对称行为。在GPU到CPU的情况下
传输,其中GPU启动总线主写入,GPU
达到最大值
6.18千兆字节/秒。在从CPU到GPU的相反方向上,GPU启动总线主读,产生的带宽下降到5.61
千兆字节/秒。在我们的观察中,通常情况下
对于任何PCIe,主写入比总线主读取更有效
由于协议开销和
实施而解决这种不对称的一个可能办法是
使用CPU启动的总线主机处理CPU到GPU的方向
写入时,该硬件设施在PC体系结构中不可用
一般来说。”
关于带宽的第二个问题的答案可能是由于数据传输大小的单位。
参见图2、3、4和5。我在第一届AMD Fusion大会上也看到过类似的图表。解释是,由于协议和设备延迟,PCIe数据传输有开销。对于较小的传输尺寸,开销更为显著,而对于较大的尺寸,开销变得不那么显著
您有哪些杠杆来控制或提高绩效?
获得芯片/主板和GPU的正确组合是H/W杠杆。具有最大PCIe通道数的芯片更好。使用更高规格的PCIe协议,PCIe 3.0优于PCIe 2.0。所有组件都需要支持更高的标准
作为程序员控制数据传输的大小,是一个非常重要的杠杆
128K-256K字节的传输大小大约占最大带宽的50%。1M-2M字节的传输占最大带宽的90%以上。微软研究实验室的这篇文章为GPU和CPU之间的PCIe数据传输带宽不对称提供了一些线索。本文描述了PCIe上FPGA-GPU数据传输带宽的性能指标。它还包括PCIe上CPU-GPU数据传输带宽的指标
引用相关章节
“还应该注意的是,GPU-CPU本身也传输数据
表现出一定程度的不对称行为。在GPU到CPU的情况下
传输,其中GPU启动总线主写入,GPU
达到最大值
6.18千兆字节/秒。在从CPU到GPU的相反方向上,GPU启动总线主读,产生的带宽下降到5.61
千兆字节/秒。在我们的观察中,通常情况下
对于任何PCIe,主写入比总线主读取更有效
由于协议开销和
实施而解决这种不对称的一个可能办法是
使用CPU启动的总线主机处理CPU到GPU的方向
写入时,该硬件设施在PC体系结构中不可用
一般来说。”
关于带宽的第二个问题的答案可能是由于数据传输大小的单位。
参见图2、3、4和5。我在第一届AMD Fusion大会上也看到过类似的图表。解释是,由于协议和设备延迟,PCIe数据传输有开销。对于较小的传输尺寸,开销更为显著,而对于较大的尺寸,开销变得不那么显著
您有哪些杠杆来控制或提高绩效?
获得芯片/主板和GPU的正确组合是H/W杠杆。具有最大PCIe通道数的芯片更好。使用更高规格的PCIe协议,PCIe 3.0优于PCIe 2.0。所有组件都需要支持更高的标准
作为程序员控制数据传输的大小,是一个非常重要的杠杆
128K-256K字节的传输大小大约占最大带宽的50%。1M-2M字节的传输占最大带宽的90%以上。您使用的是什么CPU?如果PCIe传输足够糟糕,CPU通常会阻塞PCIe传输。传输是通过DMA进行的(在此传输之前,缓冲区始终固定),CPU是坏是好这有什么关系您的GPU位于x16通道上。。对吗?你的系统内存速度是多少?如果在Windows Vista或更高版本下,请进入命令行并键入“winsat mem”。我的意思是,应该不止这些,但你永远不知道..系统内存性能:2011.77 MB/s你在用什么CPU?如果PCIe传输足够糟糕,CPU通常会阻塞PCIe传输。传输是通过DMA进行的(在此传输之前,缓冲区始终固定),CPU是坏是好这有什么关系您的GPU位于x16通道上。。对吗?你的系统内存速度是多少?如果在Windows Vista或更高版本下,请进入命令行并键入“winsat mem”。我的意思是,应该不止这些,但你永远不知道..系统内存性能:2011.77 MB/s