AI计算平台设计方案:901-基于3U VPX的图像数据AI计算平台

 

 

一、产品概述

      设备基于3U VPX的导冷结构,集成FPGA接口预处理卡,GPU板卡、飞腾ARM处理卡,实现光纤、差分电口或者Camera link的图像接入,FPGA信号预处理,GPU AI计算,飞腾ARM的采集管理存储。

二、系统组成

      系统组成包括:3U VPX机箱电源、3U VPX背板、 1块3U VPX V7采集处理板、1块3U VPX AGX orin GPU计算主板、1块3U VPX飞腾处理器计算板。

 

2.1基于XC7V690T的3U VPX信号处理板(274)

      本板卡系我司自主研发的基于3U VPX导冷架构的信号处理板,适用于高速图像处理等。芯片采用工业级设计。该处理板包含1片Xilinx公司的Virtex7系列FPGA-XC7V690T-2FFG1761I。板载两组64位宽DDR3,每组容量4GB,一个HPC FMC接口。VPX接口连接4组x4 GTH,24组LVDS,一路RS422,一路1000Base-T。板卡的电气与机械设计依据VPX标准(VITA 46.0),支持导冷,能够满足用户在特殊环境下的使用需求。

 

 

板卡功能

参数内容

主处理器

Xilinx XC7V690T-2FFG1761I

板卡标准

VPX VITA 46.0

电气规范

PCIe 2.0,3.0 X4

FMC接口

FMC  ANSI/VITA 57.1 – 2008 ,ASP-134486-01
HPC中LA,HA,HB全部接口和DP0~DP7 8路高速接口

板载缓存

两组DDR3,每组512Mx64bit(4GB), MT41K512M8RH-125-IT

加载Flash

BPI加载模式,BPI Flash 2Gb

VPX接口

P1: GTX x16, 支持PCIe、SRIO协议
P2: LVDS x24,一路RS422,一路1000Base-T

仿真器接口

1x 6Pin JTAG接口,间距2.54mm

LED

两个,电源状态指示灯,FPGA状态指示灯(可编程)

复位方式

外复位

板卡尺寸

100mm x 160mm x20mm

板卡重量

(含散热片)

板卡供电

+12V@4A

板卡功耗

48W

工作温度

Industrial  -20℃到+70℃

光纤收发子卡、2711子卡、Cameralink子卡

 2.2 基于3U VPX的AGX Orin GPU计算主板(735)

      Jetson AGX Orin 采用 NVIDIA Ampere 架构 GPU 和 Arm Cortex-A78AE CPU,以及新一代深度学习和视觉加速器。高速 IO、204GB/s 的内存带宽以及 32GB 的 DRAM 能够馈送多个并发 AI 应用程序管道。采用 Jetson AGX Orin,您现在可以部署更大型、更复杂的模型,解决自然语言理解、3D 感知和多传感器融合等问题。Jetson Orin算力高达275 TOPS,是上一代多个并发 AI推理管道性能的8倍,加上支持多个传感器高速接口,可为新时代机器人提供理想的解决方案.

 

GPU

2048-core NVIDIA Ampere architecture GPU with
64 Tensor Cores

CPU

12-core Arm Cortex-A78AE v8.2 64-bit CPU
3MB L2 + 6MB L3

显存

64GB 256-bit LPDDR5   204.8GB/s

存储

64GB eMMC 5.1

DLA最大频率

1.6 GHz

AI性能

275 TOPS

DL加速器

2x NVDLA v2

视频加速器

1x PVA v2

视频编码

2x 4K60 (H.265), 4x 4K30 (H.265)  
8x 1080p60 (H.265), 16x 1080p30 (H.265)

视频解码

1x 8K30 (H.265), 3x 4K60 (H.265), 7x 4K30 (H.265)
11x 1080p60 (H.265),22x 1080p30 (H.265)

PCle

x8 PCle Gen4

显示接口

HDMI

网络

RJ45 接口 (高达1 GbE)

2.3 3U VPX飞腾处理器刀片计算机

2.3.1 产品概述 

     该产品是一款基于国产飞腾FT2000 4核或腾锐D2000 8核的高性能3U VPX刀片式计算机。产品提供了4个x4 PCIe 3.0总线接口,同时可配置为1个x16或2个x8 PCIe3.0接口,因此具有很强的扩展性,极大地满足多负载多节点的应用需求。产品结构完全符合VITA 46.0规范,有很强的可靠性、可维护性、可管理性,并与军用计算机的抗振动、抗冲击、抗宽温环境急剧变化等恶劣环境特性进行完美融合。

2.3.2 功能指标 

 ● 3U 5HP VPX规格。 

 ● 支持FT-2000/4 四核处理器和腾锐D2000 八核处理器 

    FT-2000/4标准版,2.6GHz,16W 

    腾锐D2000/8标准版,2.3GHz,25W 

 ● 板载16GB双通道DDR4内存,频率2400MHz。 

 ● 支持2个VGA接口,最大分辨率1920x1080@60Hz;其中1路VGA为后出接口。 

 ● 支持4个x4 PCIe3.0接口,可配置成1个x16 PCIe 3.0或2个x8 PCIe 3.0。 

 ● 前面板支持1路10/100/1000Mbps网络接口,后出2路10/100/1000Mbps网络信号,其中1路后出网口与前面板网口二选一切换。 

 ● 板载1个mSATA接口,支持SATA3.0;后出2路SATA3.0信号,用于扩展存储。 

 ● 前面板支持2个USB3.0接口;后出2路USB3.0接口信号。 

 ● 提供2路RS232后出串口,其中1路可选RS422/RS485模式。 

 ● 提供1路RS232后出CPU管理串口。 

 ● 前面板带复位按键和LED指示灯。 

 ● 单板管理功能(可选功能)。 

 ● 支持银河麒麟、UOS、Centos、ubuntu、VxWorks系统。 

(本项目使用ubuntu操作系统)

三、软件开发内容
 

3.1光纤收发整体流程设计

 

    2路QSFP+光纤接口,一路作为发送端口,一路作为接收端口,每路接口作为4个X1通道互不影响。

    接收端:数据流从光纤接收端进来,存到FPGA的DDR中,然后通过PCIE导入到GPU中。

    发送端:数据存在飞腾主板中,飞腾通过PCIE写入FPGA的DDR中,FPGA取走数据,通过光纤发送端口发送出去。

    GPU接收的数据通过千兆网发送到飞腾主板中。

3.2 TLK2711收发整体流程设计

    4路TLK2711接口,2路作为发送端口,2路作为接收端口,每路接口互不影响。

    接收端:数据流从TLK2711接收端进来,存到FPGA的DDR中,然后通过PCIE导入到GPU中。

    发送端:数据存在飞腾主板中,飞腾通过PCIE写入FPGA的DDR中,FPGA取走数据,通过TLK2711发送端口发送出去。

    GPU接收的数据通过千兆网发送到飞腾主板中。

3.3 FPGA流程框架

 

      如图所示,FPGA程序可以大体划分为PCIe端点控制器XDMA、DDR3读写控制以及TLK2711收发控制三部分。FPGA与PC的PCIe通信采用Xilinx的XDMA IP,逻辑模块间采用AXI总线互联方式。XDMA0数据链路为飞腾主板主控数据链路,XDMA1数据链路为Orin_GPU卡主控数据链路。

      Orin_GPU卡主控数据链路:tlk2711子卡的接收端口接收到图像数据缓存到第一组ddr3中,大小为4GB,对0-4GB的ddr3空间读写,gpu把图像数据读出并作处理。链路数据流向分为数据发送(FPGA-PC)(这里飞腾主板和Orin_GPU卡都称为PC):

      数据接收过程描述(FPGA-PC):图像数据以1.6Gbps线速率通过rxp接口,wr_fifo把16bit数据位宽转化为128bit数据位宽,fdma_ctrl的写ddr3模块把数据写入到0-4GB的地址空间,通过定义的寄存器信号告诉主机软件取出对应地址空间的数据,通过dma的C2H通道直接写入主机内存。

      飞腾主板主控数据链路:飞腾主板把图像处理结果写入板卡第二组ddr3中,fpga逻辑读出ddr3中的数据通过tlk2711子卡的发送端口发送出去。(这里飞腾主板和Orin_GPU卡都称为PC)。

      数据发送过程描述(PC-FPGA):为了实现数据发送,主机软件从主机内存固定位置读出图像处理数据发送到DMA的H2C通道,写入到板载第二组DDR3的0-4GB的空间,主机软件通过寄存器通知fdma_ctrl的读ddr3模块取出对应地址ddr3的数据,通过rd_fifo把数据128bit位宽变化到16bit后,给到tlk2711子卡的发送模块,最后数据以1.6Gbps的线速率通过txp口发送出去。

3.4 软件PCIE读流程

 

      软件启动开始接收,软件通过寄存器使能FPGA开始接收数据(光纤或者TLK2711数据),软件开始轮询FPGA写入完成寄存器,当读到FPGA完成标志,说明FPGA已经写入数据,软件读取DDR中数据,完成一次读取数据交互流程。

之后重复单次流程,直到数据接收完整。

3.5 软件PCIE写流程

 

      软件启动开始发送数据(光纤或者TLK2711数据),软件把数据写入DDR中, 通过寄存器使能FPGA开始发送,软件开始轮询FPGA读取完成寄存器,当读到FPGA完成标志,说明FPGA已经把DDR的数据取走,这样就完成一次写入数据交互流程。之后重复单次流程,直到数据发送完整。

3.6飞腾GPU数据交互

 

      在背板设计中,飞腾主板和GPU千兆网互联和RS232互联。考虑传输速度,使用千兆网进行传输。使用TCP/IP协议,飞腾处理器为TCP服务端,GPU为TCP客户端主动进行链接请求。

 

 

3.7 客户端界面

 

 

      客户端具有状态信息显示,控制四通道光纤数据发送或者双通道TLK2711接口数据发生功能。上位机自动识别FPGA子卡类型,切换操作界面。

      

四通道光纤子卡界面

 

 

双通道TLK2711子卡界面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/780087.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网安播报 | GitHub遭遇严重的供应链“投毒”攻击,影响GG平台

1、GitHub遭遇严重的供应链“投毒”攻击,影响GG平台 多年来,威胁行为者一直在使用多种策略、技术和程序 (TTP),包括劫持 GitHub账户、分发恶意 Python 包、使用虚假的 Python 基础设施以及社会工程进行攻击&#xff0c…

jupyter lab使用虚拟环境

python -m ipykernel install --name 虚拟环境名 --display-name 虚拟环境名然后再启动jupyter lab就行了

计算机视觉的应用25-关于Deeplab系列语义分割模型的应用场景,以及空洞卷积的介绍

大家好,我是微学AI,今天给大家介绍一下计算机视觉的应用25-关于Deeplab系列语义分割模型的应用场景,以及空洞卷积的介绍。Deeplab是Google研发的一系列深度学习模型,主要用于图像语义分割任务,其在众多应用场景中展现出…

设计模式之代理模式精讲

代理模式(Proxy Pattern)也叫委托模式,是一个使用率非常高的模式,比如我们在Spring中经常使用的AOP(面向切面编程)。 概念:为其他对象提供一种代理以控制对这个对象的访问。 代理类和实际的主题…

mysql 常见运算符

学习了mysql数据类型,接下来学习mysql常见运算符。 2,常见运算符介绍 运算符连接表达式中各个操作数,其作用是用来指明对操作数所进行的运算。运用运算符 可以更加灵活地使用表中的数据,常见的运算符类型有:算…

pytorch | torchvision.transforms.CenterCrop

torchvision.transforms.CenterCrop>从图像中心裁剪图片 transforms.CenterCrop torchvision.transforms.CenterCrop(size) 功能:从图像中心裁剪图片 size: 所需裁剪的图片尺寸 transforms.CenterCrop(196)的效果如下: (也可…

2024年水电站大坝安全监测工作提升要点

根据《水电站大坝运行安全监督管理规定》(国家发改委令第23号)和《水电站大坝运行安全信息报送办法》(国能安全〔2016〕261号)的相关规定、要求,电力企业应当在汛期向我中心报送每日大坝汛情。近期,全国各地…

HarmonyOS-如何使用ArkTS声明式语法和基础组件,实现待办列表。

介绍 本篇Codelab将介绍如何使用ArkTS声明式语法和基础组件,实现简易待办列表。效果为点击某一事项,替换标签图片、虚化文字。效果如图所示: 相关概念 ArkTS语法:ArkTS是HarmonyOS的主要应用开发语言。ArkTS基于TypeScript&…

Java八股文(高并发,分布式,JUC)

Java八股文の高并发,分布式,JUC 高并发,分布式,JUC 高并发,分布式,JUC 对于高并发的系统,为了提高用户的体验,你是如何做的?或者说高并发的技巧你用过哪些? …

Flink学习(一)-flink 本地部署

1,安装 jdk 官网推荐 jdk11 版本。我用 17也可以跑起来 2,下载 flink-1.19 的版本并解压 下载 release 1.19.0 并解压。 tar -xzf flink-1.19.0-bin-scala_2.12.tgz cd flink-1.19.0 3,启动 ./bin/start-cluster.sh 4,访问…

springboot通过threadLocal+参数解析器实现保存当前用户登录信息

首先先介绍一下threadLocal ThreadLocal 线程局部变量,创建一个线程变量后,针对这个变量可以让每个线程拥有自己的变量副本,每个线程是访问的自己的副本,与其他线程的相互独立。 大致知道threadLocal就可以了,然后我…

Qt 完成图片的缩放拖动

1. 事件和函数 主要使用事件paintEvent(QPaintEvent *event)和drawTiledPixmap函数实现绘图。 paintEvent事件在改变窗口大小、移动窗口、手动调用update等情形下会被调用。需先了解下绘图该函数的用法。 - QPainter::drawTiledPixmap(int x, int y, int w, int h, const QPi…

Docker部署MongoDB+整合Mongo版MyBatis—Plus

👩🏽‍💻个人主页:阿木木AEcru 🔥 系列专栏:《Docker容器化部署系列》 《Java每日面筋》 💹每一次技术突破,都是对自我能力的挑战和超越。 目录 一、 MongoDB简介1.1 适用场景1.2 应…

缓冲区溢出漏洞学习总结(漏洞原理及其利用方法)

文章目录 前言1、缓冲区溢出漏洞概述1.1、漏洞概述1.2、缓冲区溢出漏洞概述1.3、缓冲区溢出攻击概述1.4、引发缓冲区溢出的原因 2、栈溢出漏洞2.1、栈溢出漏洞概述2.2、栈溢出漏洞利用2.2.1、利用方法一:修改返回地址2.2.2、利用方法二:覆盖临接变量 3、…

(js)循环条件满足时终止循环

(js)循环条件满足时终止循环 功能需求&#xff1a;勾选的字段中若包含“数据标注划分”则显示数据划分&#xff0c;不包含则不显示 包含&#xff1a; 不包含&#xff1a; // 标注划分显示 const markStr 数据标注划分 for (let i 0; i < value.length; i) { //value为勾选…

Coursera自然语言处理专项课程03:Natural Language Processing with Sequence Models笔记 Week02

Natural Language Processing with Sequence Models Course Certificate 本文是https://www.coursera.org/learn/sequence-models-in-nlp 这门课程的学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 文章目录 Natural Language Processing with Sequence ModelsWeek 02…

vsqt更改ui,cpp报错(唯二)解决方法,及ui界面布局在cpp文件的运用基本流程

qt的ui布局界面如下 点cpp文件->编译 此时就会自动生成ui_xxx.h 这里是ui文件里面就有类名&#xff1a;Ui_文件名字 下面就有一个类继承于这个类 你所使用的这个ui指针&#xff0c;就这么来的 ***报错解决方法有两种&#xff1a;***第一种&#xff1a;如果改了ui&#x…

钉钉服务端API报错 错误描述: robot 不存在;解决方案:请确认 robotCode 是否正确

problem 调用钉钉服务端API&#xff0c;机器人发送群聊消息&#xff0c;后台返回报错信息: 钉钉服务端API报错 错误描述: robot 不存在&#xff1b;解决方案:请确认 robotCode 是否正确&#xff1b; reason 定位: 登录后台&#xff0c;查看机器人是存在查看机器人调用权限接…

Django创建多app应用

目录 1. 引言 2. 多app创建的两种方式 2.1 多个app结构 2.2 单个apps多个app 3. 最后 1. 引言 在平常业务开发中&#xff0c;我们遇到的功能可能会有很多&#xff0c;单个app的应用可能无法满足我们 这个时候&#xff0c;我们就需要多app应用&#xff0c;例如&#xff1a…

linux 组建raid5详细操作

raid5最多运行损坏一个盘&#xff0c;最少3个盘&#xff0c;容量为少一块硬盘的容量之和。 如果硬盘数量较多&#xff0c;比如8块以上&#xff0c;建议用raid6&#xff0c;raid6最多允许两块硬盘损坏。 如果需要 一、安装raid软件 deb包 apt-get install mdadm或dnf包 dnf …