微知-DOCA SDK中如何编译一个sample?如何运行?(meson /tmp/xxx; meson compile -C /tmp/xxx)

文章目录

快速回忆

bash 复制代码
# 生成编译目录和相关文件
cd /opt/mellanox/doca/samples/doca_rdma/rdma_write_requester
meson /tmp/req #将编译目录指定到/tmp/req中

# 编译
meson compile -C /tmp/req #编译代码 ;meson compile是对ninja的封装。
# 或者用 
ninja -C /tmp/req 

如果要支持查看详细编译过程,包括头文件路径和gcc参数
meson compile -C /tmp/req -v

背景

DOCA: Data Center-on-a-Chip Architecture,片上数据中心架构。是NVIDIA针对DPU的软件框架。DOCA之于DPU,就相当于CUDA之于GPU。本文介绍的是DOCA SDK中的DOCA ARGP模块的机制原理,他是DOCA程序的一个标准参数处理框架。

本文将介绍DOCA SDK中的一个DOCA_RDMA的例子,介绍如何编译运行。

前期准备

该实验编译之前需要提前准备好DPU的硬件、安装好对应的DOCA SDK包,以及创建好对应的sf设备。sf创建方式参考兄弟篇:https://blog.csdn.net/essencelite/article/details/144000220

确认代码所在路径存在且是期望代码:/opt/mellanox/doca/samples

另外DOCA的SDK在DPU中就是在/opt/mellanox/doca/目录下。

DOCA SDK中的例子情况

本文将提供一个rdma write的例子。实战例子是启动一个响应端和一个请求端。请求端发起一个rdma的write,内容是hi DOCA RDMA。
Hi DOCA RDMA! requester responsor按回车发送消息

编译

编译前需要安装meson和ninja。详细参考兄弟篇文章。

编译request

bash 复制代码
cd /opt/mellanox/doca/samples/doca_rdma/rdma_write_requester
meson /tmp/req #将编译目录指定到/tmp/req中
meson compile -C /tmp/req #编译代码 或者用 ninja -C /tmp/req;meson compile是对ninja的封装。

编译responser

bash 复制代码
cd /opt/mellanox/doca/samples/doca_rdma/rdma_write_responder
meson /tmp/resp #将编译目录指定到/tmp/resp中
meson compile -C /tmp/resp #编译代码 或者用 ninja -C /tmp/resp;meson compile是对ninja的封装。

执行测试

启动响应端

bash 复制代码
cd /tmp/resp
./doca_rdma_write_responder -d mlx5_2 -cm

这里使用cm建链,另外使用了mlx5_2的设备,该设备bind在一个sf设备上,详情参考后文。

启动请求端

bash 复制代码
cd /tmp/req
./doca_rdma_write_requester -d mlx5_2 -cm -sa 1.1.1.1

可以看到-cm指定使用cm方式使用带内数据建链,-sa指定服务端地址

可以看到请求端建链成功并且退出。

查看响应端

可以看到响应端从等待过程,到交换数据过程。

综述

本文将介绍DOCA SDK中的一个DOCA_RDMA的例子,介绍如何编译运行。以及所在的目录。

参考

相关推荐
gwf2165 小时前
内核态RDMA驱动调试技巧:ftrace/tracepoint/crash分析 —— 深入驱动底层的排错艺术
性能调优·linux驱动·ftrace·rdma·tracepoint·内核调试·crash分析
Eloudy6 小时前
Debug Soft-RoCE (RXE) 完整流程
rdma·roce
gwf2161 天前
常见驱动问题定位与解决:设备识别、性能不达预期、CQ错误码 —— 资深RDMA驱动调试排错指南
驱动开发·linux内核·性能调优·rdma·故障排查·mlx5·irdma
Eloudy2 天前
DOCA GPUNetIO 开源版(GDAKI)实现分析
gpu·rdma·roce
gwf2163 天前
RoCEv2网络性能调优:DCQCN、ECN与PFC协同驱动级深度解析
驱动开发·rdma·rocev2·linuxkernel·pfc·dcqcn·ecn
Eloudy3 天前
MLNX_OFED 的 install.pl 安装流程分析
网络·rdma·roce
Eloudy3 天前
RoCE UC Receive 实现代码结构与原理分析
rdma·roce
Eloudy3 天前
RoCE 的 UC SEND/RECEIVE 的完整交互过程分析
网络·rdma·roce
论文复现现场5 天前
8卡 A100 服务器哪里租?NVLink、RDMA 与 NCCL 验收指南
linux·服务器·php·分布式训练·rdma·nvlink·nccl
gwf2166 天前
RDMA事件与异步通知机制:CMA事件与设备事件深度解析
驱动开发·linux内核·rdma·rdma_cm·异构计算·异步事件·cve分析