0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AI引擎内核编程设计进程

Xilinx赛灵思官微 来源:Xilinx赛灵思官微 作者:Xilinx赛灵思官微 2022-10-11 09:17 次阅读

Versal AI Core 系列可借助 AI 引擎提供突破性的人工智能( AI )推断加速。此系列应用范围广泛,包括用于云端动态工作负载以及超高带宽网络,同时还可提供高级安全性功能。AI 和数据科学家以及软硬件开发者均可充分利用高计算密度的优势来加速提升任何应用的性能。鉴于 AI 引擎所具备的高级信号处理计算能力,它十分适合用于高度优化的无线应用,例如射频5G、回程( backhaul )和其它高性能 DSP 应用。

本文档聚焦 AI 引擎内核编程,除单内核编程外,还涵盖了多方面的内容,如内核之间的数据通信,这些方面的内容都是将应用分区为多个内核以达成整体系统性能所必不可少的概念。本文档涵盖了以下设计进程:

• AI 引擎开发:创建 AI 引擎 Graph 及内核、库用法、仿真调试与剖析以及算法开发。还包含 PL 与 AI 引擎内核的集成。

AI 引擎架构概述

AI 引擎阵列由二维 AI 引擎拼块 (tile) 阵列构成,其中每个 AI 引擎拼块均包含一个 AI 引擎、存储器模块和拼块互连模 块。AI 引擎拼块二维阵列概览如下图所示。

69706e82-48f8-11ed-a3b6-dac502259ad0.png

图:AI引擎阵列

根据阵列中拼块的位置,存储器模块在其东西南北四向的相邻 AI 引擎之间共享。AI 引擎可访问其东西南北各存储器模块及其自己本身的存储器模块。AI 引擎通过专用存储器访问接口来访问这些相邻存储器模块,并且每次访问最大位宽为 256 位。AI 引擎与相邻 AI 引擎之间还可发送或接收级联串流数据。级联串流是水平方向从左到右或从右到左的单向串流,它通过卷绕方式移至下一行。AXI4 互连模块可提供 AI 引擎拼块之间的串流连接,并在串流接口与存储器模块之间提供串流到存储器 (S2MM) 或存储器到串流 (MM2S) 连接。此外,互连模块还可连接到相邻互连模块,以便以类似网格的方式提供灵活的布线功能。

下图显示了单个 AI 引擎拼块的架构。

6995fbca-48f8-11ed-a3b6-dac502259ad0.png

图:AI引擎拼块详情信息

每个 AI 引擎拼块都有一个 AXI4-Stream 交换机,它属于完全可编程的 32 位 AXI4-Stream 交叉开关矩阵。它支持含有反压的电路切换和包切换串流。通过 MM2S DMA 和 S2MM DMA,AXI4-Stream 交换机可提供往来 AI 引擎数据存储器的串流访问。此交换机还包含 2 个深度为 16 且位宽为 33 位(32 位数据 + 1 位 TLAST)的 FIFO,这两个 FIFO 可链接在一起构成深度为 32 的 FIFO,方法是通过电路切换将其中一个 FIFO 的输出链接到另一个 FIFO 的输入。

69b88a6e-48f8-11ed-a3b6-dac502259ad0.png

图:标量处理单元

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    29665

    浏览量

    268004
  • 人工智能
    +关注

    关注

    1789

    文章

    46576

    浏览量

    236899
  • 编程设计
    +关注

    关注

    0

    文章

    9

    浏览量

    6433

原文标题:AI 引擎内核编码最佳实践指南

文章出处:【微信号:赛灵思,微信公众号:Xilinx赛灵思官微】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    SLPC可编程调节器的编程设计与操作

    SLPC可编程调节器的编程设计与操作[hide][/hide]
    发表于 03-15 16:26

    【实验】SLPC可编程调节器的编程设计与操作

    【实验】SLPC可编程调节器的编程设计与操作[hide][/hide]
    发表于 04-04 09:11

    怎么实现SoPC目标板Flash编程设计的创建?

    怎么实现SoPC目标板Flash编程设计的创建?目标板Flash编程设计在实际Flash编程中的应用
    发表于 04-30 07:06

    单片机的ISP在线编程设计

    单片机的ISP在线编程设计   随着电子技术的日益发展,芯片的规模越来越大,封装日趋小型化,相应地对系统板级调试的困难也在加大。在传统
    发表于 03-29 15:10 1946次阅读
    单片机的ISP在线<b class='flag-5'>编程设计</b>

    C嵌入式编程设计模式.part3

    C嵌入式编程设计模式电子书,第三部分的内容。
    发表于 05-20 17:01 0次下载

    C嵌入式编程设计模式.part1

    C嵌入式编程设计模式电子书,第1部分的内容。
    发表于 05-20 17:01 0次下载

    C嵌入式编程设计模式.part2

    C嵌入式编程设计模式电子书,第2部分的内容。
    发表于 05-20 17:01 0次下载

    SLPC可编程调节器的编程设计与操作

    SLPC可编程调节器的编程设计与操作
    发表于 12-11 23:15 0次下载

    一个arm的接口编程设计

    一个arm的接口编程设计
    发表于 10-24 09:22 10次下载
    一个arm的接口<b class='flag-5'>编程设计</b>

    对Linux的进程内核栈的认识

    在每一个进程的生命周期中,必然会通过到系统调用陷入内核。在执行系统调用陷入内核之后,这些内核代码所使用的栈并不是原先用户空间中的栈,而是一个内核
    发表于 05-12 08:53 606次阅读
    对Linux的<b class='flag-5'>进程</b><b class='flag-5'>内核</b>栈的认识

    鸿蒙内核源码:进程内核的资源管理单元

    OpenHarmony内核进程模块可以给用户提供多个进程,实现了进程之间的切换和通信,帮助用户管理业务程序流程。
    的头像 发表于 04-24 10:58 1488次阅读
    鸿蒙<b class='flag-5'>内核</b>源码:<b class='flag-5'>进程</b>是<b class='flag-5'>内核</b>的资源管理单元

    AI引擎编程:卡恩进程网络演进

    电子发烧友网站提供《AI引擎编程:卡恩进程网络演进.pdf》资料免费下载
    发表于 09-13 17:24 0次下载
    <b class='flag-5'>AI</b><b class='flag-5'>引擎</b><b class='flag-5'>编程</b>:卡恩<b class='flag-5'>进程</b>网络演进

    Versal ACAP AI引擎编程环境用户指南

    电子发烧友网站提供《Versal ACAP AI引擎编程环境用户指南.pdf》资料免费下载
    发表于 09-14 10:10 0次下载
    Versal ACAP <b class='flag-5'>AI</b><b class='flag-5'>引擎</b><b class='flag-5'>编程</b>环境用户指南

    AI引擎内核编码最佳实践指南

    电子发烧友网站提供《AI引擎内核编码最佳实践指南.pdf》资料免费下载
    发表于 09-14 14:58 0次下载
    <b class='flag-5'>AI</b><b class='flag-5'>引擎</b><b class='flag-5'>内核</b>编码最佳实践指南

    AI引擎内核与计算图编程指南

    电子发烧友网站提供《AI引擎内核与计算图编程指南.pdf》资料免费下载
    发表于 01-03 10:50 0次下载
    <b class='flag-5'>AI</b><b class='flag-5'>引擎</b><b class='flag-5'>内核</b>与计算图<b class='flag-5'>编程</b>指南