| 备注 | 修改日期 | 修改人 |
| 创建版本 | 2025-03-14 14:09:10[当前版本] | 李永鑫 |
nv_peer_mem 模块是启用 GPUDirect RDMA 的必需模块,它在 GPU 内存之间提供直接与 Mellanox HCA 设备之间的直接 P2P(对等)数据路径。 这显着降低了 GPU GPU 通信延迟并完全卸载了 CPU, 将其从网络上的所有 GPU GPU 通信中移除。 要获得 GPUDirect RDMA 的良好性能,NIC 和 GPU 必须物理上位于相同的 i/o root complex,使用 lspci tv 确保是这种情况。
在所有分布式训练的节点上安装nv_peer_mem
[root@localhost ~]# git clone https://github.com/Mellanox/nv_peer_memory.git
正克隆到 'nv_peer_memory'...
remote: Enumerating objects: 384, done.
remote: Counting objects: 100% (100/100), done.
remote: Compressing objects: 100% (63/63), done.
remote: Total 384 (delta 40), reused 65 (delta 37), pack-reused 284
接收对象中: 100% (384/384), 125.56 KiB | 0 bytes/s, done.
处理 delta 中: 100% (223/223), done.
[root@localhost ~]# ls
MLNX_OFED_LINUX-5.4-3.1.0.0-rhel7.6-x86_64 MLNX_OFED_LINUX-5.4-3.1.0.0-rhel7.6-x86_64.tgz nv_peer_memory
[root@localhost ~]# cd nv_peer_memory/
[root@localhost nv_peer_memory]# ls
build_module.sh build_release.sh compat_nv-p2p.h create_nv.symvers.sh debian dkms.conf Makefile nvidia_peer_memory.spec nv_peer_mem nv_peer_mem.c nv_peer_mem.conf nv_peer_mem.upstart README.md
[root@localhost nv_peer_memory]#
[root@localhost nv_peer_memory]# ./build_module.sh
Building source rpm for nvidia_peer_memory...
./build_module.sh:行9: rpmbuild: 未找到命令
Failed to execute: rpmbuild -ts --nodeps --define '_topdir /tmp/nv.u6rXoZ/topdir' --define 'dist %{nil}' --define '_source_filedigest_algorithm md5' --define '_binary_filedigest_algorithm md5' /tmp/nv.u6rXoZ/nvidia_peer_memory-1.3.tar.gz >/dev/null
[root@localhost nv_peer_memory]# yum install rpm-build ////解决以上的报错
[root@localhost nv_peer_memory]# ./build_module.sh
Building source rpm for nvidia_peer_memory...
Built: /tmp/nvidia_peer_memory-1.3-0.src.rpm
To install run on RPM based OS:
# rpmbuild --rebuild /tmp/nvidia_peer_memory-1.3-0.src.rpm
# rpm -ivh <path to generated binary rpm file>
运行rpmbuild --rebuild /tmp/nvidia_peer_memory-1.3-0.src.rpm 报错如下
由于测试环境没有GPU 测试终止!