1、背景介绍

目前使用的Intel志强系列计算刀片中使用了两片Tsi721 PCIE转RapidIO芯片,用来实现机箱内计算刀片之间通过RapidIO协议进行数据传输。关于驱动安装和测试工具下载请见这篇文章https://felven.blog.csdn.net/article/details/114099616  下文介绍测试步骤。

2、测试环境

测试环境为两块计算刀片通过背板实现互联,其中两路RapidIO走线在背板上进行了交叉,示意图如下。

左侧计算刀片设置为slave端,其Port0连接右侧master端的port1.

3、测试步骤

在驱动和测试工具安装完毕后,需要修改系统加载RapidIO配置项,文件路径为

/etc/modprobe.d/rapidio.conf

Master端修改如下:

# Configure RapidIO subsystem modules loading# Uncomment the line below to set enumerator host destination ID on RapidIO
# network enumerator node (overrides kernel command line option).
# See included documentation for more details.options rapidio hdid=1,2# Uncomment and edit the line below to change parameters of Tsi721 mport device
# driver. See Documentation/rapidio/tsi721.txt for parameter description.options tsi721_mport mbox_sel=0xf dma_sel=0x7f pcie_mrrs=5 dma_txqueue_sz=4096 dma_desc_per_channel=4096# Uncomment and edit the line below to change parameters of rio_mport_cdev device
# driver if you want it to use reserved memory range for DMA data buffers. options rio_mport_cdev rio_res_mem=0x40000000 rio_res_size=0x10000000# Uncomment one of the module loading options below (if needed)
# ATTN: If you use kernel mode enumeration please make sure that switch drivers
# are loaded before an enumeration/discovery process starts.# Load RapidIO all drivers immediately after rapidio core module was loaded.
# Use command "echo -1 > /sys/bus/rapidio/scan" to start enumeration/discovery. softdep rapidio post: idt_gen2 idt_gen3 idtcps tsi57x tsi568 tsi721_mport rio_mport_cdev rio_cm rio-scan# Load RapidIO switch drivers before rio-scan enumerator module is loaded
# Use this option if RIO scripts package will be installed or rio-scan module
# will be loaded manually using "modprobe rio-scan scan=1"softdep rio-scan pre: idt_gen2 idt_gen3 idtcps tsi57x# Load RapidIO only character mode drivers (good if only user-space enumeration is used)# softdep rapidio post: rio_mport_cdev rio_cm

Slave端修改如下:

# Configure RapidIO subsystem modules loading# Uncomment the line below to set enumerator host destination ID on RapidIO
# network enumerator node (overrides kernel command line option).
# See included documentation for more details.options rapidio hdid=-1,-2# Uncomment and edit the line below to change parameters of Tsi721 mport device
# driver. See Documentation/rapidio/tsi721.txt for parameter description.options tsi721_mport mbox_sel=0xf dma_sel=0x7f pcie_mrrs=5 dma_txqueue_sz=4096 dma_desc_per_channel=4096# Uncomment and edit the line below to change parameters of rio_mport_cdev device
# driver if you want it to use reserved memory range for DMA data buffers. options rio_mport_cdev rio_res_mem=0x40000000 rio_res_size=0x10000000# Uncomment one of the module loading options below (if needed)
# ATTN: If you use kernel mode enumeration please make sure that switch drivers
# are loaded before an enumeration/discovery process starts.# Load RapidIO all drivers immediately after rapidio core module was loaded.
# Use command "echo -1 > /sys/bus/rapidio/scan" to start enumeration/discovery. softdep rapidio post: idt_gen2 idt_gen3 idtcps tsi57x tsi568 tsi721_mport rio_mport_cdev rio_cm rio-scan# Load RapidIO switch drivers before rio-scan enumerator module is loaded
# Use this option if RIO scripts package will be installed or rio-scan module
# will be loaded manually using "modprobe rio-scan scan=1"softdep rio-scan pre: idt_gen2 idt_gen3 idtcps tsi57x# Load RapidIO only character mode drivers (good if only user-space enumeration is used)# softdep rapidio post: rio_mport_cdev rio_cm

配置参数的含义可以参看驱动里面的说明:

修改完毕后两块板子重启,在master端进行rio-scan操作。

Echo –l >/sys/bus/rapidio/scan

当扫描到设备后就能在/sys/bus/rapidio/devices下看到slave的设备了,如果扫描不到应该就是硬件连接故障

此时就可以进行通信了

Master端打开接收命令,如果打印speed显示LINK DOWN需要检查硬件连接故障

Slave端进行发送,由于rapidio是基于DMA进行传输,发送端可以直接指定发到接收端的地址

4、测试结果

RapidIO速率都是 5G X4,不同包长情况下重复发送10次,取平均值得到下表测试结果

序号

包大小 B

写速率 MB/S

读速率 MB/S

1

1K

52.79

60.45

2

2K

102.64

116.97

3

4K

189.66

216.32

4

8K

347.38

379.03

5

16K

555.81

601.63

6

32K

831.21

855.34

7

64K

1088.58

1084.60

8

128K

1299.55

1257.66

9

256K

1446.89

1366.63

10

512K

1542.51

1428.73

11

1M

1578.05

1446.96

12

2M

1607.74

1475.45

根据测试结果,能够看到包越大速率越高,这和DMA传输原理是符合的。当包长达到64KB后,读速率低于写速率,这点暂时还不知道原因。

5、一点补充

Tsi721中最重要的几个RapidIO寄存器为

0x60 (表示RapidIO地址)

0x158 (表示port状态)

0x15c (控制port发送和接收使能)

具体可以查看Tsi721 datasheet

下面是链路正常情况下master端的寄存器值,供参考。

下图为slave端寄存器的值

基于Intel E5V4计算刀片的RapidIO性能测试相关推荐

  1. 基于intel低功耗平台边缘计算解决方案助力半导体设备升级

    半导体芯片是现代电子领域的大脑.事实上,在通信.计算.零售.医疗保健和运输应用领域,半导体芯片为各种先进技术提供了基础.2020年全球半导体销售额增长6.5%,相关制造设备的生产需求也相应增加. 某业 ...

  2. 领存技术至强 E5-2648L 6U VPX 通用密集计算刀片

    领存技术至强 E5-2648L 6U VPX 通用密集计算刀片 S6VPX-SE2648-C1I1 是一款基于 Intel 公司 XEON E5 系列处理器的高性能 6U_VP X 计算刀片.该 VP ...

  3. 如何用深度学习进行CT影像肺结节探测(附有基于Intel Extended Caffe的3D Faster RCNN代码开源)

    近期宜远智能参加阿里天池医疗AI大赛,用3D Faster RCNN模型在CT影像的肺结节探测上,取得了较好的成绩,特别是在计算资源充足的情况下,模型效果表现优异.这是他们的经验分享(https:// ...

  4. 仿生学计算机pdf,基于仿生学的计算智能系统论文.pdf

    基于仿生学的计算智能系统 The BasedonBionics ComputationalSystem Intelligence 热合木江古丽·吐尔逊马杰木合塔尔马玉书 (石油大学人工智能研究中心 北 ...

  5. 树莓派4B与Intel Movidius计算棒2代实现深度学习应用加速

    树莓派4B与Intel Movidius计算棒2代实现人脸识别加速实例 树莓派 树莓派介绍 教程 操作 换源部分: 安装cmake Intel 神经计算棒环境配置 Intel 神经计算棒简介 Open ...

  6. 文档相似度之词条相似度word2vec、及基于词袋模型计算sklearn实现和gensim

    文档相似度之词条相似度word2vec.及基于词袋模型计算sklearn实现和gensim 示例代码: import jieba import pandas as pd from gensim.mod ...

  7. R语言编写自定义函数基于ggsumarystats函数计算每个分组的统计值、自定义可视化分组分面条形图,并在X轴标签下方添加分组对应的统计值(样本数N、中位数median、四分位数的间距iqr)

    R语言编写自定义函数基于ggsumarystats函数计算每个分组的统计值.自定义可视化分组分面条形图,并在X轴标签下方添加分组对应的统计值(样本数N.中位数median.四分位数的间距iqr) 目录

  8. pandas基于时序数据计算模型预测推理需要的统计数据(累计时间、长度变化、变化率、方差、均值、最大、最小等):范围内的统计量、变化率、获得数据集最后的几条数据的统计量、变化率、获得范围内的统计量

    pandas基于时序数据计算模型预测推理需要的统计数据(累计时间.长度变化.变化率.方差.均值.最大.最小等):范围内的统计量.变化率.获得数据集最后的几条数据的统计量.变化率.获得范围内的统计量 目 ...

  9. pandas基于时序数据计算模型预测推理需要的统计数据(累计时间、长度变化、变化率、方差、均值、最大、最小等):数据持续的时间(分钟)、获得某一节点之后的数据总变化量、获得范围内的统计量

    pandas基于时序数据计算模型预测推理需要的统计数据(累计时间.长度变化.变化率.方差.均值.最大.最小等):数据持续的时间(分钟).获得某一节点之后的数据总变化量.获得范围内的统计量 目录

最新文章

  1. Paper4:Voxel-Based Extraction and Classification of 3-D Pole-Like Object From Mobile LIDAR Point Clo
  2. 【我眼中的戴尔转型】 (二) 厚积薄发,戴尔扩大战线迎头追击IBM HP
  3. eclipse中统计代码行数
  4. [YTU]_2803( 字符串中小写改大写)
  5. 【视频课】模型优化拆分!分别学习模型剪枝与模型量化理论与实践
  6. 为什么你的用户总是不满意?
  7. 前端性能优化之Lazyload
  8. 锦标赛排序、洪水填充算法、平衡规划
  9. 绝对路径${pageContext.request.contextPath}用法及其与web.xml中Servlet的url-pattern匹配过程...
  10. RMAN使用备份传输表空间
  11. 恒生电子笔试(笔试流程,笔试介绍,题型,以往笔试题)
  12. win10专业版修改家庭计算机,win10家庭版升级专业版的最完美的方法_win10专业版技巧...
  13. 常用计算机设备有哪几种,简述输入、输出设备功能,计算机中常用的输入、输出设备有哪几种?...
  14. 目前人工智能技术,主要有应用于哪些领域?
  15. 移动硬盘遇到无法访问,文件或目录损坏且无法读取的解决办法
  16. 计算机组成原理alu_b什么意思,计算机组成原理实验三多功能ALU设计实验(5页)-原创力文档...
  17. protractor测试框架6----报告、公共方法、公共变量
  18. python直接下载图片到内存
  19. LDPC码的基础(1)
  20. 设计一个图书类Book..........此暂时使用数组实现的 ...................后面会用集合来改进 ...........

热门文章

  1. 深入探索c++对象模型(五、程序转化语义)
  2. bat批量提取word文件名
  3. 自然资源部关于全面开展矿产资源规划(2021-2025年)编制工作的通知 自然资发〔2020〕43号
  4. 52岁的周鸿祎,还年轻吗?
  5. android Cannot access com.xxx
  6. 系统集成项目管理工程师:供应商项目立项
  7. 国标GB/T28181流媒体服务器EasyGBS新版研发——设备信息清零问题
  8. 使用NSIS制作revit插件安装包
  9. 2460: [BeiJing2011]元素 有关线性基的理解
  10. 骑行318、 2016.7.22