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

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

3天内不再提示

赛灵思分享:智能引擎中所的AI引擎技术分析

454398 来源:Xilinx技术社区 作者:Olivier Tremois 2020-10-11 11:14 次阅读

作者:Olivier Tremois(AI 引擎工具市场营销部门)和 Florent Werbrouck(赛灵思技术支持产品应用工程师

Versal ACAP 简介

Versal 自适应计算加速平台 (ACAP) 是基于 TSMC 7nm FinFET 工艺技术构建的最新一代赛灵思器件。它利用高带宽片上网络 (NoC) 将代表处理器系统 (PS) 的标量引擎、代表可编程逻辑 (PL) 的自适应引擎与智能引擎有机结合在一起。

本文将着重介绍智能引擎中所包含的 AI 引擎。

赛灵思 AI 引擎简介

在部分赛灵思 Versal ACAP 中包含了 AI 引擎。这些 AI 引擎可排列组合为一组与内存、数据流和级联接口相连的二维AI 引擎拼块阵列。在当前 ACAP 器件(例如,VC1902 器件)上,此阵列最多可包含 400 个拼块。此阵列中还包含AI 引擎接口(位于最后一行),以便于阵列中的其它器件(PS、PL 和 NoC)进行交互。

AI 引擎接口包含PL 和 NoC 接口拼块以及配置拼块。从 PL 到 AI 引擎阵列的连接是使用 AXI4-Stream 接口通过 PL 和 NoC 接口拼块来实现的。从 NoC 到 AI 引擎阵列的连接是使用 AXI4 存储器映射接口通过 NoC 接口拼块来实现的。

有趣的是,从中可以看到,只有在 NoC 到 AI 引擎拼块之间才存在 AXI4 存储器映射直接通信通道,在 AI 引擎拼块到 NoC 之间却并不存在。

注:PL 和 NoC 接口拼块的精确数量因器件而异。《Versal 架构和产品数据手册:简介》(DS950) 中罗列了 AI 引擎阵列的大小。
https://china.xilinx.com/support/documentation/data_sheets/ds950-versal-...

AI 引擎拼块架构

现在,我们来详细了解下此阵列,看看 AI 引擎拼块的内部。

每个 AI 引擎拼块都包含:

  • 1 个拼块互连模块,用于处理 AXI4-Stream 和存储器映射 AXI4 输入/输出
  • 1 个存储器模块,其中包含 32 KB 数据内存,细分为 8 个内存 bank、1 个内存接口、DMA 和各种锁定。
  • 1 个 AI 引擎

AI 引擎可访问全部 4 个方向中的多达 4 个内存模块(作为 1 个连续存储器块)。这意味着除了拼块本地的内存,AI 引擎还可以访问 3 个相邻拼块的本地内存(除非拼块位于阵列边缘)。

  • 北侧内存模块
  • 南侧内存模块
  • 东侧或西侧内存模块(取决于 AI 引擎和内存模块所在的行和相对布局)。

AI 引擎架构

AI 引擎属于高度优化的处理器,包含下列主要特色:

  • 32 位标量 RISC 处理器(名为 Scalar Unit)
  • 1 个 512b SIMD 矢量单元(可提供矢量定点/整数单元)和 1 个单精度浮点 (SPFP) 矢量单元
  • 3 个地址生成器单元 (AGU)
  • 超长指令字 (VLIW) 功能
  • 3 个数据内存端口(2 个负载端口,1 个存储端口)
  • 直接流传输接口(2 个输入流,2 个输出流)

AI 引擎阵列编程

AI 引擎拼块按 10 或 100 为单位组成阵列。创建嵌入多项指令的单一程序用于指定并行性将是一项冗长且近乎不可能的任务。因此 AI 引擎阵列模型编程与 Kahn 处理网络 (Kahn Process Networks) 之间的共通之处在于自主计算进程通过通信边缘实现彼此互连,从而生成处理网络。

(请参阅 https://perso.ensta-paris.fr/~chapoutot/various/kahn_networks.pdf )

在 AI 引擎框架中,Graph 边缘是缓存和数据流,而计算进程则被称为内核。在Graph中,内核经过例化,彼此相连并连接到设计其余部分(NoC 或 PL)。

编程流程分为 2 个阶段:

单内核编程:

内核用于描述特定计算进程。每个内核都将在单一 AI 引擎拼块上运行。但请注意,多个内核可在同一个 AI 引擎拼块上运行,并共享处理时间。任意 C/C++ 代码均可用于对 AI 引擎进行编程。标量处理器将处理大部分代码。如果您的目标是设计高性能内核,那么应考虑采用矢量处理器,它使用称为内部函数的专用函数。这些函数专用于 AI 引擎的矢量处理器,支持您从 AI 引擎中发掘出巨大的处理性能。赛灵思将提供预构建内核(包含在库内),以供用户在其定制 Graph 中使用。

Graph 编程:

赛灵思将提供 C++ 框架以从内核创建Graph。此框架包含 Graph 节点和连接声明。这些节点可包含在 AI 引擎阵列内或可编程逻辑(HLS 内核)中。为了完全掌握内核位置,将有一系列方法可用来约束布局(内核、缓存、系统内存等)。Graph 将例化并使用缓存和数据流将内核连接在一起。它还将描述 AI 引擎阵列与其它ACAP 器件(PL 或 DDR)之间的双向往来数据传输。

赛灵思将提供预构建 Graph(包含在库内),以供用户在其应用中使用。

在运行时以及仿真期间,AI 引擎应用由 PS 进行控制。

赛灵思将根据应用的操作系统提供多种 API,如下所述。

  • Xilinx Run Time (XRT) 和 OpenCL,适用于 Linux 应用
  • 裸机驱动程序

编辑:hfy

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

    关注

    32

    文章

    1794

    浏览量

    130534
  • AI
    AI
    +关注

    关注

    87

    文章

    26459

    浏览量

    264079
  • 可编程逻辑
    +关注

    关注

    7

    文章

    512

    浏览量

    43907
收藏 人收藏

    评论

    相关推荐

    开放原子开源大赛—基于OpenHarmony的团结引擎应用开发正式启动!

    “基于OpenHarmony的团结引擎应用开发”是开放原子全球开源大赛下开设的新兴及应用题之一,本次题旨在鼓励更多开发者基于Ope
    发表于 03-13 10:45

    恩智浦发布新一代智能语音技术组合的语音识别引擎

    恩智浦发布新一代智能语音技术组合的语音识别引擎。本文将探讨开发人员在嵌入式语音控制设计中面临的挑战、恩智浦新的Speech to Intent引擎,以及您如何在应用中使用它。
    的头像 发表于 01-26 09:15 250次阅读
    恩智浦发布新一代<b class='flag-5'>智能</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>内核与计算图编程指南

    赛灵思AI引擎及其应用

    电子发烧友网站提供《赛灵思AI引擎及其应用.pdf》资料免费下载
    发表于 09-18 10:10 0次下载
    赛灵思<b class='flag-5'>AI</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>内核编码最佳实践指南

    AI引擎及其应用

    电子发烧友网站提供《AI引擎及其应用.pdf》资料免费下载
    发表于 09-14 10:21 0次下载
    <b class='flag-5'>AI</b><b class='flag-5'>引擎</b>及其应用

    AI引擎的自动数字预失真设计生成

    电子发烧友网站提供《AI引擎的自动数字预失真设计生成.pdf》资料免费下载
    发表于 09-13 17:39 0次下载
    <b class='flag-5'>AI</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>编程:卡恩进程网络演进

    波束成形在AI引擎上的实现

    电子发烧友网站提供《波束成形在AI引擎上的实现.pdf》资料免费下载
    发表于 09-13 14:37 0次下载
    波束成形在<b class='flag-5'>AI</b><b class='flag-5'>引擎</b>上的实现

    集成ARM Mobile Studio和虚幻引擎1.0版

    您可以在您的非真实引擎游戏中添加仪表, 以便您可以在 Arm Moved Studio 中分别分析不同区域。 例如, 当您生成一个绩效顾问报告时, 区域名称可以在框架费率分析图表中看到, 而报告包含
    发表于 08-28 06:12

    人工智能引擎是什么?人工智能引擎的作用?人工智能引擎有哪些?

    人工智能引擎是什么?人工智能引擎的作用?人工智能引擎有哪些? 人工
    的头像 发表于 08-15 16:07 1975次阅读

    高通WAIC展示两大终端侧生成式AI技术 AI引擎获奖

    赋能等多个角度,描绘了混合AI赋能的智能未来。同期,第二代骁龙8的高通AI引擎获得大会最高奖项——SAIL奖(卓越人工智能引领者奖);高通还
    的头像 发表于 07-07 19:58 572次阅读
    高通WAIC展示两大终端侧生成式<b class='flag-5'>AI</b><b class='flag-5'>技术</b> <b class='flag-5'>AI</b><b class='flag-5'>引擎</b>获奖

    引领AI创新 高通AI引擎荣获WAIC 2023卓越人工智能引领者奖

    奖项:SAIL奖——卓越人工智能引领者奖。高通公司全球副总裁侯明娟上台领奖。 第二代骁龙8凭借面向整个平台的开创性AI智能设计赋能了非凡用户体验,树立了网联计算的新标杆,其搭载高通技术
    的头像 发表于 07-07 19:56 344次阅读
    引领<b class='flag-5'>AI</b>创新 高通<b class='flag-5'>AI</b><b class='flag-5'>引擎</b>荣获WAIC 2023卓越人工<b class='flag-5'>智能</b>引领者奖

    x86处理器首个独立AI引擎,Ryzen AI

    的Ryzen 7040U系列笔记本处理器中,最受关注的莫过于基于同一技术的独立AI引擎加入,AMD将其称为Ryzen AI。   Ryzen AI
    的头像 发表于 06-06 01:10 2404次阅读