GPU P2P带宽测试

1、测试介绍

cuda-samples下的p2pBandwidthLatencyTest,主要测试GPU之间的带宽和延时

参考连接:cuda-samples/Samples/5_Domain_Specific/p2pBandwidthLatencyTest at master · NVIDIA/cuda-samples (github.com)

2、测试
1、安装好GPU驱动,CUDA
2、安装软件
git clone https://github.com/NVIDIA/cuda-samples
cd cuda-samples/Samples/5_Domain_Specific/p2pBandwidthLatencyTest/
chmod 777 ./*
make
3、测试
./p2pBandwidthLatencyTest

3、测试结果介绍

测试结果包括p2p在enable和disable情况下的双向带宽和单向带宽矩阵,以及通信延迟矩阵

主要关注p2p=enable情况下的双向带宽

红色框的数据表示GPU0与GPU0之间的P2P带宽

黄色框数据表示GPU0与GPU2之间的P2P带宽

绿色框数据表示GPU1与GPU6之间的P2P带宽,实际GPU1与GPU6之间是跨Switch芯片通信的

蓝色框代表每个Switch芯片下挂的GPU

### GPU Direct 技术概述 GPU Direct 是一系列旨在提高多GPU系统中数据传输效率的技术集合。这些技术通过减少不必要的中间环节来降低延迟并增加带宽,从而改善整体性能[^1]。 #### GPUDirect P2P (Point-to-Point) GPUDirect P2P 提供了一种机制让两个或多个GPU可以直接相互通信而不需要借助主机内存作为中介。这种方式不仅减少了数据路径上的跳数,还减轻了CPU的工作负担,因为不再需要CPU参与管理数据移动过程。这种特性对于那些依赖频繁GPU间交互的应用程序特别有用,比如大规模机器学习模型训练或是复杂的科学模拟任务[^2]。 ```cpp // C++代码示例展示如何设置CUDA环境以支持GPUDirect P2P #include <cuda_runtime.h> int main() { cudaError_t err; // 启用设备之间的P2P访问 int canAccessPeer; err = cudaDeviceCanAccessPeer(&canAccessPeer, 0, 1); if (err != cudaSuccess || !canAccessPeer) { printf("Cannot access peer\n"); return -1; } err = cudaSetDevice(0); // 设置当前使用的GPU为device 0 if (err != cudaSuccess){ printf("Failed to set device 0\n"); return -1; } err = cudaDeviceEnablePeerAccess(1, 0); // 开启到device 1的peer访问权限 if (err != cudaSuccess){ printf("Failed to enable peer access from device 0 to device 1\n"); return -1; } // 类似地配置其他方向的peer访问... } ``` #### GPUDirect RDMA (Remote Direct Memory Access) 除了本地系统的优化外,当涉及到分布式计场景时,GPUDirect RDMA则显得尤为重要。该功能允许远程节点上的GPU能够像操作本地资源一样高效地读写另一个节点上GPU所持有的缓冲区内容。这主要得益于RDMA协议的支持,它可以绕过操作系统内核空间的数据拷贝流程,直接在硬件层面完成端到端的数据传递工作流。这样的设计极大地促进了集群环境中各成员间的协作效率,尤其是在处理海量数据集的情况下表现尤为突出[^3]。 ```bash # Bash命令行工具nvidia-smi用于监控和控制NVIDIA GPU的状态 $ nvidia-smi nvlink -sc default # 设定默认NVLink拓扑结构以便更好地利用GPUDirect RDMA优势 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值