AI硬件加速版XVDPU入门

XVDPU是可以提高CNN计算的速度和延迟,他的目标不是直接替换软件在传统硬件或者通用GPU上实现CNN运算。他的目标就是加速CNN计算。

XVDP的实现方式:CNN卷积计算的是 原始图形矩阵{x行*y列*通道数a}*卷积滑块{w行g列t通道}=卷积后的图形{m行*n列*通道数b}

所以xvdpu的实现:

第一个就是硬件矩阵乘法 MAC计算:乘法+累加

因为这里会有矩阵行列的限制,所以遇到大矩阵,就需要把矩阵拆分为多个矩阵进行计算,但这时候卷积滑块是固定的,需要保留卷积滑块在一个共享的存储中,以供多批次多AIE核心的共享使用,同样在读取原始图形时,已要一次加载到一个快速存储中供买个AIE核进行读取部分需要的块进行计算,但下一次读取其他块内容已是能从这个快速访问的存储中读取数据。

所以就引出来xvdpu的存储实现:

vxdpu中存储分为ddr外部存储,pl中的共享特征图缓存,Pl中的共享权重缓存,aie整列中每个aie核的内部存储。数据流动是 ddr->pl特征图+Pl共享权重->AIE内核存储。只有在第一层是要从ddr加载特征图和权重数据道pl缓存,只有在最后一层输出omf的时候要从pl缓存写到ddr4。所以这里就还需要用来移动数据的控制器,在vxdpu中有两个datamove和load引擎,datemove是在PL上:把数据从ddr->PL缓存(特征图和共享权重),PL缓存->aie阵列本地存储。 Load引擎是在aie核内:aie本地存储->AIE的MAC计算器

所以就引出aie mac在计算的时候数据单位:

aie核的mac计算能力,这里设计的是2*8*8. 128*int8 操作。

aie核读取特征图是每个aie核都有单独的axi接口,读取能力是128字节,aie核读取共享权重是有个共享axi接口,读取能力是512字节.

所以就引出xvdpu的整体模块有哪些:

|-----|-------------------|--------------|
| ddr | | 外部存储 |
| ps | | 运行vitis ai工具 |
| pl | pl中的共享特征图缓存 | |
| pl | pl中的共享权重缓存 | |
| pl | pl中的DATAMOVE数据移动器 | |
| pl | pl中ALU计算器 | |
| aie | aie阵列 | |
| aie | aie核心mac计算引擎 | |
| aie | load引擎 | |
| aie | aie本地存储 | |

下一遍文章解释ps中vitis ai用来进行ai开发的内容

相关推荐
舒一笑29 分钟前
智能体革命:企业如何构建自主决策的AI代理?
人工智能
丁先生qaq1 小时前
热成像实例分割电力设备数据集(3类,838张)
人工智能·计算机视觉·目标跟踪·数据集
红衣小蛇妖2 小时前
神经网络-Day45
人工智能·深度学习·神经网络
KKKlucifer2 小时前
当AI遇上防火墙:新一代智能安全解决方案全景解析
人工智能
DisonTangor2 小时前
【小红书拥抱开源】小红书开源大规模混合专家模型——dots.llm1
人工智能·计算机视觉·开源·aigc
浠寒AI4 小时前
智能体模式篇(上)- 深入 ReAct:LangGraph构建能自主思考与行动的 AI
人工智能·python
weixin_505154465 小时前
数字孪生在建设智慧城市中可以起到哪些作用或帮助?
大数据·人工智能·智慧城市·数字孪生·数据可视化
Best_Me075 小时前
深度学习模块缝合
人工智能·深度学习
YuTaoShao5 小时前
【论文阅读】YOLOv8在单目下视多车目标检测中的应用
人工智能·yolo·目标检测
算家计算5 小时前
字节开源代码模型——Seed-Coder 本地部署教程,模型自驱动数据筛选,让每行代码都精准落位!
人工智能·开源