GPU 计算:PCI 总线、多 GPU 平台及潜在优势解析
1. PCI 总线:CPU 到 GPU 的数据传输开销
1.1 理论带宽估算
PCI 总线在 CPU 与 GPU 数据传输中起着关键作用。我们以 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
1.2 基准测试应用
实际中,PCI 总线的带宽受多种因素影响,如操作系统、系统驱动、计算节点上的其他硬件组件、GPU 编程 API 以及通过 PCI 总线传输的数据块大小等。在开发应用时,我们能控制编程 API 和数据块大小。为探究数据块大小对带宽的影响,我们可以使用微基准测试。以下是一个从 CPU 主机向 GPU 设备复制数据的代码示例:
// PCI_Bandwidth_Benchmark.c
35 void Host_to_Device_Pinned( int N, double *copy_time )
36 {
37 float *x_host, *x_device;
38 struct timespec tstart;
39
40 cudaError_t status = cudaMallocHost((v
超级会员免费看
订阅专栏 解锁全文
1036

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



