基于 UHD 的应用程序(包括 GNU Radio 流程图)现在可以通过传入设备参数使用 DPDK 传输运行:use_dpdk=1。
重要说明:为了让 UHD 使用 DPDK,UHD 应用程序*必须*以root用户身份运行。使用sudo将不起作用,您应该root通过运行切换到用户sudo su。
例如,运行benchmark_rate实用程序:
# cd /usr/local/lib/uhd/examples
# ./benchmark_rate --rx_rate 125e6 --rx_subdev "A:0 B:0" --rx_channels 0,1 --tx_rate 125e6 --tx_subdev "A:0 B:0" --tx_channels 0,1 --args "地址=192.168.10.2,second_addr=192.168.20.2,mgmt_addr=10.2.1.19,master_clock_rate=125e6,use_dpdk=1”
[信息] [UHD] Linux;GNU C++ 版本 7.3.0;提升_106501;UHD_3.14.0.HEAD-0-gabf0db4e
EAL:检测到 8 个 lcore(s)
EAL:一些设备需要 iova 作为 va,但 pa 将被使用,因为.. EAL:IOMMU 不支持 IOVA 作为 VA
EAL:hugepages-1048576kB 中没有报告免费的大页面
EAL:探测 VFIO 支持...
EAL:VFIO 支持已初始化
EAL:NUMA 套接字 -1 上的 PCI 设备 0000:02:00.0
EAL:无效的 NUMA 套接字,默认为 0
EAL:探测驱动程序:8086:10fb net_ixgbe
EAL:使用IOMMU类型1(Type 1)
EAL:忽略映射IO口bar(2)
EAL:NUMA 套接字 -1 上的 PCI 设备 0000:02:00.1
EAL:无效的 NUMA 套接字,默认为 0
EAL:探测驱动程序:8086:10fb net_ixgbe
EAL:忽略映射IO口bar(2)
PMD:ixgbe_dev_link_status_print():端口 0:链路断开
EAL:端口 0 MAC:aa bb cc dd ee f1
EAL:端口 0 上行:1
PMD:ixgbe_dev_link_status_print():端口 1:链路断开
EAL:端口 1 MAC:aa bb cc dd ee f2
EAL:端口 1 UP:1
EAL:初始化完成!
EAL:启动 I/O 线程!
USER2:线程 1 已启动
[00:00:00.000003] 创建 usrp 设备:addr=192.168.10.2,second_addr=192.168.20.2,mgmt_addr=10.2.1.19,master_clock_rate=125e6,use_dpdk=1...
[INFO] [MPMD] 与 args 并行初始化 1 个设备:mgmt_addr=10.2.1.19,type=n3xx,product=n310,serial=313ABDA,claimed=False,addr=192.168.10.2,second_addr=192.168.20.2 ,master_clock_rate=125e6,use_dpdk=1
[INFO] [MPM.PeriphManager] init() 使用设备参数调用 'product=n310,time_source=internal,master_clock_rate=125e6,clock_source=internal,use_dpdk=1,second_addr=192.168.20.2,mgmt_addr=10.2.1.19'。
[INFO] [0/DmaFIFO_0] 初始化块控制(NOC ID:0xF1F0D00000000004)
[INFO] [0/DmaFIFO_0] BIST 已通过(吞吐量:1344 MB/s)
[INFO] [0/DmaFIFO_0] BIST 已通过(吞吐量:1341 MB/s)
[INFO] [0/DmaFIFO_0] BIST 已通过(吞吐量:1348 MB/s)
[INFO] [0/DmaFIFO_0] BIST 已通过(吞吐量:1347 MB/s)
[INFO] [0/Radio_0] 初始化块控制(NOC ID:0x12AD100000011312)
[INFO] [0/Radio_1] 初始化块控制(NOC ID:0x12AD100000011312)
[INFO] [0/DDC_0] 初始化块控制(NOC ID:0xDDC0000000000000)
[INFO] [0/DDC_1] 初始化块控制(NOC ID:0xDDC0000000000000)
[INFO] [0/DUC_0] 初始化块控制(NOC ID:0xD0C0000000000002)
[INFO] [0/DUC_1] 初始化块控制(NOC ID:0xD0C0000000000002)
使用设备:单 USRP:
设备:N300 系列设备
主板0:ni-n3xx-313ABDA
接收通道:0
接收 DSP:0
接收板:A
RX 子开发:镁
接收通道:1
接收 DSP:0
RX D板:B
RX 子开发:镁
发送通道:0
TX数字信号处理器:0
TX D板:A
TX 子开发:镁
发射通道:1
TX数字信号处理器:0
TX D板:B
TX 子开发:镁
[00:00:03.728707] 将设备时间戳设置为 0 ...
[INFO] [MULTI_USRP] 1) 在 pps 边缘捕获时间转换
[INFO] [MULTI_USRP] 2) 设置下一个 pps 的时间(同步)
[00:00:05.331920] 在 2 个通道上测试接收速率 125.000000 Msps
[00:00:05.610789] 在 2 个通道上测试传输速率 125.000000 Msps
[00:00:15.878071]基准测试完成。
基准利率总结:
收到样本数:2557247854
丢弃样本数:0
检测到的数量溢出:0
传输样本数:2504266704
Num 序列错误 (Tx):0
Num 序列错误 (Rx):0
检测到数量不足:0
延迟命令数:0
超时次数 (Tx):0
超时次数 (Rx):0
完毕!