当前位置: 首页 > news >正文

服务器双网卡NCCL通过交换机通信

1、NCCL变量设置

export CUDA_DEVICE_MAX_CONNECTIONS=1
export NCCL_SOCKET_IFNAME=eno2
export NCCL_IB_DISABLE=0
#export NCCL_NET=IB
export NCCL_IB_HCA=mlx5_0,mlx5_1
export NCCL_IB_GID_INDEX=3
export NCCL_DEBUG=INFOGPUS_PER_NODE=4MASTER_ADDR=192.168.1.2
MASTER_PORT=6000
NNODES=2
NODE_RANK=0
WORLD_SIZE=$(($GPUS_PER_NODE*$NNODES))

2、路由设置

ps:通过nvlink或者pcie通信不需要

如果两个RDMA网卡不在同一网段,需要互相配置路由:

sudo ip route add 192.168.1.2/32 via 192.168.1.1 dev ens21np0
sudo ip route add 192.168.2.2/32 via 192.168.2.1 dev ens16np0

其中192.168.1.1和192.168.2.1是交换机的地址。
ens21np0的地址是192.168.2.1,ens16np0的地址是192.168.1.2

说明

RDMA网卡并不会存路由和MAC,(根据源码)MAC和出接口都是驱动下发的,
驱动在查找内核路由时,会根据源地址查找出接口,得到该网卡的接口索引
后面查找路由时(nl_socket_modify_cb和其回调get_route_cb)会先设置过滤条件,条件包含了出接口和目的地址(源码见下图)
在这里插入图片描述
可以用ip route get 192.168.2.2 oif ens16np0来模拟查看,可以看到是可以查到路由的:

192.168.2.2 dev ens16np0 src 192.168.1.2 uid 0 cache 

但是如果根据这个路由信息,arp无法发送,非直连必须有gw才行,配置gw后查询:

192.168.2.2 via 192.168.1.1 dev ens16np0 src 192.168.1.2 uid 0 cache 

ping -I ens16np0 192.168.2.2, ip neigh show确认下

http://www.lryc.cn/news/516639.html

相关文章:

  • Redis哨兵(sentinel)
  • 小白学Pytorch
  • ros2笔记-2.5.3 多线程与回调函数
  • 第5章:Go语言错误处理和异常
  • 题库刷题知识点总结
  • GraphRAG:LLM之Graphrag接入milvus
  • adb使用及常用命令
  • omnipeek分析beacon帧
  • Java数组问题
  • salesforce 可以为同一个简档的同一个 recordtype 的对象设置多种页面布局吗
  • 使用vue项目中,使用webpack模板和直接用vue.config来配置相关插件 区别是什么,具体有哪些提现呢
  • 五、包图
  • 关于重构一点简单想法
  • kafka使用以及基于zookeeper集群搭建集群环境
  • GAN对抗生成网络(二)——算法及Python实现
  • 并发线程(21)——线程池
  • 基于32单片机的智能语音家居
  • VScode怎么重启
  • 分析服务器 systemctl 启动gozero项目报错的解决方案
  • 大模型LLM-Prompt-OPTIMAL
  • 3. 多线程(1) --- 创建线程,Thread类
  • 简单的jmeter数据请求学习
  • 智能水文:ChatGPT等大语言模型如何提升水资源分析和模型优化的效率
  • 民宿酒店预订系统小程序+uniapp全开源+搭建教程
  • 计算机网络掩码、最小地址、最大地址计算、IP地址个数
  • Mac中配置vscode(第一期:python开发)
  • 软件项目体系建设文档,项目开发实施运维,审计,安全体系建设,验收交付,售前资料(word原件)
  • 计算机网络--路由表的更新
  • CDN防御如何保护我们的网络安全?
  • matlab离线安装硬件支持包