微知-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的例子,介绍如何编译运行。以及所在的目录。

参考

相关推荐
北冥有鱼被烹7 天前
微知-ib_write_bw的各种参数汇总(-d -q -s -R --run_infinitely)
rdma·mellanox
北冥有鱼被烹1 个月前
NVIDIA Bluefield DPU上的启动流程4个阶段分别是什么?作用是什么?
dpu·mellanox
北冥有鱼被烹1 个月前
微知-Bluefield DPU使用flint烧录固件报错MFE_NO_FLASH_DETECTED是什么?MFE是什么?
dpu·mellanox·bluefield
yusur2 个月前
产品探秘|开物——面向AI原生和云原生网络研究的首选科研平台
网络·云原生·ai-native·dpu
yusur3 个月前
基于DPU与SmartNIC的K8s Service解决方案
网络·云原生·容器·kubernetes·云计算·dpu
KIDGINBROOK3 个月前
RDMA驱动学习(一)- 用户态到内核态的过程
rdma
I_belong_to_jesus3 个月前
NVDLA专题10:具体模块介绍——Planar Data Processor
算法·npu·ai芯片·dpu·nvdla
羌俊恩3 个月前
Linux 常见的冷知识集锦
linux·rdma·posix
我想学LINUX4 个月前
【RDMA项目】如何使用rdma-core进行调用开发一个实战项目
服务器·网络·github·客户端·rdma·rdma-core·内存访问