GPU 加速平台的性能分析与潜在优势
1. PCI 总线:CPU 到 GPU 的数据传输开销
在计算系统中,PCI 总线负责 CPU 与 GPU 之间的数据传输。理论上,PCI 总线的带宽可以通过特定公式计算得出。例如,对于一个 Gen3 PCIe 系统,有 16 条通道,其最大传输速率为 8.0 GT/s,开销因子为 0.985,理论带宽的计算如下:
Theoretical Bandwidth (GB/s)
= 16 lanes × 8.0 GT/s × 0.985 (Gb/GT) × byte/8 bits
= 15.75 GB/s
然而,实际应用中,达到的带宽会受到多种因素的影响,包括操作系统、系统驱动、计算节点上的其他硬件组件、GPU 编程 API 以及通过 PCI 总线传输的数据块大小。在大多数系统中,除了编程 API 和数据块大小外,其他因素通常难以控制。
为了研究数据块大小对带宽的影响,我们可以使用微基准测试。微基准测试是一个小程序,用于测试大型应用程序将使用的单个进程或硬件组件。在我们的情况下,我们设计了一个微基准测试,用于测量从 CPU 到 GPU 以及从 GPU 到 CPU 的数据复制时间。以下是复制数据从主机到 GPU 的代码:
void Host_to_Device_Pinned( int N, double *copy_time )
{
float *x_host, *x_device;
超级会员免费看
订阅专栏 解锁全文
3794

被折叠的 条评论
为什么被折叠?



