恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

debian6.12.95上安装部署softRoCe

  • 首页
  • 资讯中心
  • /
  • debian6.12.95上安装部署softRoCe

相关资讯

C++模板从入门到实践:告别重复代码的核心利器 2026/9/15 9:15:24
SpringBoot+Netty+WebRTC视频聊天系统从零搭建实战 2026/9/15 9:15:24
JavaScript class从入门到精通:原型链、继承与私有字段实战 2026/9/15 9:15:24

最新资讯

抖音无水印批量下载:填条链接,一键导出作品、图集和音乐
VeraCrypt Docker 加密存储实战指南:让容器敏感数据不再明文裸奔
Linux 内核本地原子操作(local_t)深入解析:语义、架构实现与 per-CPU 计数实践
Shell脚本入门到实战:核心语法与高频避坑指南
数据可视化平台建设实践:技术选型、架构设计与性能优化
Rerun 的 3 个核心能力:把多模态机器人数据从日志、可视化一路流到训练

今日推荐

GDPR下大数据架构重构与隐私保护实践
多组学数据平台架构设计与优化实践
企业主数据管理系统架构设计与实施全解析

本周热门

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
Flutter应用改名全指南:从Android到iOS的配置与工具实践

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

debian6.12.95上安装部署softRoCe

发布时间:2026/9/15 9:15:24
debian6.12.95上安装部署softRoCe 一.编译1.下载内核源码并编译RXE内核模块vim /etc/apt/sources.listsudo apt updatesudo apt-get install dpkg-dev进入内核源码网站下载三个安装包linux (6.12.95-1) - snapshot.debian.orglinux_6.12.95‑1.dsclinux_6.12.95.orig.tar.xzlinux_6.12.95‑1.debian.tar.xzdpkg‑source -x linux_6.12.95‑1.dsc进入/home/zhuwei/6.12.95.1/linux-6.12.95/drivers/infiniband/sw/rxemake -C /lib/modules/$(uname -r)/build M$(pwd) CONFIG_RDMA_RXEm modulesinsmod ./rdma_rxe.ko上图没有加载依赖包。modprobe ./rdma_rxe.ko //自动加载依赖包加载成功2.编译用户态softRocegit clone https://github.com/linux-rdma/rdma-core.git安装编译依赖工具apt install -y build-essential cmake pkg-config git libnl-3-dev libnl-route-3-dev libudev-dev libsystemd-devapt install python3-devapt install python3-cytho*cd /home/zhuwei/user_linux_softRoce/rdma-core./build.sh或者cmake -DCMAKE_INSTALL_PREFIX/usr/local/rdma-core -DCMAKE_BUILD_TYPEDebug -DENABLE_STATICOFF -DNO_MAN_PAGESONmakemake installecho /usr/local/rdma-core/lib /etc/ld.so.conf.d/rdma-core-local.confldconfigexport PATH/usr/local/rdma-core/bin:/usr/local/rdma-core/sbin:$PATHecho export PATH/usr/local/rdma-core/bin:/usr/local/rdma-core/sbin:$PATH ~/.bashrcsource ~/.bashrc二.环境部署在服务器上安装两张虚拟网卡在虚拟网卡上各自绑定RDMA网卡配置地址自发自收。modprobe ./rdma_rxe.komodprobe veth //veth Virtual Ethernet Pair虚拟以太网成对设备内核模块名veth。ip link add my_vir_eth0 type veth peer name my_vir_eth1 //创建两个直连的虚拟网卡ip addr add 192.168.100.10/24 dev my_vir_eth0ip addr add 192.168.100.11/24 dev my_vir_eth1ip link set my_vir_eth0 upip link set my_vir_eth1 up创建rdma 网卡并分别绑定在虚拟网卡上以下两条命令一起复制执行不然会报错网络多命名空间问题rdma link add rdma_rxe0 type rxe netdev my_vir_eth0rdma link add rdma_rxe1 type rxe netdev my_vir_eth1rdma link showibv_devinfo# 删除rxe设备rdma link delete rdma_rxe0rdma link delete rdma_rxe1# 删除veth pair删一端就全部消失ip link delete my_vir_eth0//使用命名空间版本ip netns add ns0ip netns add ns1ip link set my_vir_eth0 netns ns0ip link set my_vir_eth1 netns ns1ip netns exec ns0 ip addr add 192.168.100.10/24 dev my_vir_eth0ip netns exec ns0 ip link set my_vir_eth0 upip netns exec ns1 ip addr add 192.168.100.11/24 dev my_vir_eth1ip netns exec ns1 ip link set my_vir_eth1 upip netns exec ns0 ip aip netns exec ns1 ip ardma link list# ns0 启动ib_write_bw服务端CM模式ip netns exec ns0 ib_write_bw -d rxe0 -R --report_gbits# ns1客户端连接ip netns exec ns1 ib_write_bw -d rxe1 -R 192.168.100.10 --report_gbits三.调试使用原生态工具ping包ibv_rc_pingpong -d rdma_rxe1 -g 0 -n 10000 //服务端ibv_rc_pingpong -d rdma_rxe0 -g 0 -n 10000 192.168.100.11 //客户端ibstat查看ib网卡由于ROCE二层走的是以太所以没有lid即不用纯IB的opensm协议四.源码学习1.基本框架2.支持热插拔注册rdma-core的内核netlink机制即core/nldev.c用户有动态绑定设备即走这个流程。rxe_newlink回调rxerxe再去rxe_net_add注册core新设备。rdma/core这种机制是如何实现的待补充3.用户态libibverbs.so的基本框架即rdma-core-softRoce\rdma-core\libibverbs代码。3.1基本数据结构由于涉及到ib_device所以用户态libibverbs肯定是需要厂商参与修改代码的每个网卡厂商都需要提供libibverbs相关内容。在rdma-core-softRoce\rdma-core\providers中这里softroce使用rte实现代码rte.c源文件中还实现其他细节以创建CQ为例rxe_create_cq--ibv_cmd_create_cq-execute_ioctl--内核。即rte.c是libibverbs.so和内核交互的接口。3.2.执行perftest的ib_write_bw后台用户态到底发生了什么perftest翻译命令行后做查找dev命令绑定的RDMA网卡信息ibv_get_device_list调用即为libibverbs.so中init.c中的函数扫描/sys/class/infiniband_verbs中的所有rdma网卡device扫描后在libibverbs.so家里一个device-list。此步骤无内核交互接着perftest调用ibv_open_deviceibv_open_device调用libibvers.so中的verbs_open_device另外还创建一个字符驱动继续调用到libibverbs.so中的rxe_alloc_context即rte.c中rte.c中挂了很多ibv_context中的ops供用户态最终调用综上用户态调用libibverbs.so中封装的函数----rte.c----ioctl---内核verbs--内核rdma-core-内核rxe_verbs.c。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号