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

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

3天内不再提示

AI引擎架构和阵列编程要求

Xilinx赛灵思官微 来源:Xilinx赛灵思官微 作者:Xilinx赛灵思官微 2022-12-08 09:18 次阅读

Versal AI Core 系列可借助 AI 引擎提供突破性的 AI 推断加速。此系列应用范围广泛,包括用于云端动态工作负载以及超高带宽网络,同时还可提供高级安全性功能。AI 和数据科学 家以及软硬件开发者均可充分利用高计算密度的优势来加速提升任何应用的性能。

AI 引擎是超长指令字 (VLIW) 处理器阵列,具有高度优化的单指令流多数据流 (SIMD) 矢量单元,专用于各种计算密集 型应用,尤其是数字信号处理 (DSP)、5G 无线应用和人工智能 (AI) 技术(如机器学习 (ML))等。同时,AI 引擎还是硬化的块,可提供多级并行处理能力,包括指令级并行处理和数据级并行处理。

本指南阐述了对 AI 引擎 graph 应用进行编译与仿真、使用 Vitis 工具流程来集成应用、使用 Vitis IDE、调试 AI 引擎应用、映射器/布线器方法论、AI 引擎硬件剖析和调试方法论等内容。

本文选取 AI 引擎架构概述部分。

AI 引擎阵列编程要求充分理解要实现的算法、AI 引擎的功能以及各功能单元之间的整体数据流。AI 引擎阵列支持三种 级别的并行度:

SIMD:通过矢量寄存器,允许并行计算多个元素。

指令级别:通过 VLIW 架构,允许在单个时钟周期内执行多项指令。

多核:通过 AI 引擎阵列,即可在其中并行执行数百个 AI 引擎。

虽然对于 AI 引擎而言,大部分标准 C 语言代码均可编译,但代码可能需要大幅重构才能在 AI 引擎阵列上实现最优性能。AI 引擎的优势在于,它能够在每个时钟周期内执行矢量 MAC 运算、为下一项运算加载 2 个 256 位矢量、存储来自上一项运算的单个 256 位矢量并递增一个指针或执行另一次标量运算。AI 引擎编译器不会执行任何自动矢量化或基于编译指示的矢量化。代码必须重写后才能使用 SIMD 内部数据类型(例如,v8int32)和矢量内部函数(例如, mac(…)),而这些都必须在单个流水打拍循环内执行,才能达成最优性能。32 位标量 RISC 处理器具有一个 ALU、 部分非线性函数和数据类型转换。每个 AI 引擎所能访问的存储器量是有限的,这表示大型数据集需要分区。

AI 引擎内核即 AI 引擎上运行的函数,这些函数构成数据流 graph 规范的基本构建块。数据流 graph 是 Kahn 进程网络,具有确定性行为,不依赖于各种计算延迟或通信延迟。AI 引擎内核声明为空的 C/C++ 函数,通过提取窗口实参或串流实参来建立 graph 连接。内核还可包含静态数据和运行时参数实参,包括异步实参或触发实参。每个内核都应在其自己的源文件内定义。

为了达成总体系统性能,必须广泛阅读了解有关架构、分区、AI 引擎数据流 graph 生成和数据流连接最优化等方面的 知识,积累相关经验。

AMD 赛灵思提供了 DSP 和通信库,其中包含经最优化的代码,可用于 AI 引擎,应尽可能多加利用。其中提供的源代码也提供了强大的资源,供用户学习有关 AI 引擎内核编码的信息

AI 引擎组件

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

AI 引擎:每个 AI 引擎都是一个超长指令字 (VLIW) 处理器,其中包含一个标量单元、一个矢量单元、两个加载单元和一个存储单元。

AI 引擎拼块:每个 AI 引擎拼块都包含一个 AI 引擎、一个本地存储器模块,搭配多条通信路径以促进拼块间的数据交换。

AI 引擎阵列:AI 引擎阵列是指 AI 引擎拼块的完整二维阵列。

AI 引擎程序:AI 引擎程序包含以 C/C++ 编写的数据流 graph 规范。该程序是使用 AI 引擎工具链来编译并执行的。

AI 引擎内核:内核是使用 AI 引擎矢量数据类型和内部函数以 C/C++ 编写的。这些函数均为 AI 引擎上运行的计算函数。内核构成数据流 graph 规范的基本构建块。

ADF graph:ADF graph 是具有单个 AI 引擎内核或多个 AI 引擎内核(以数据串流连接)的网络。它凭借如下特定构造来与可编程逻辑、全局存储器和处理器系统进行交互,此类构造有:PLIO(graph 编程中的端口属性,用于建立往来可编程逻辑的串流连接)、GMIO(graph 编程中的端口属性,用于建立往来全局存储器的外部存储器映射连接)和 RTP。

工具

Vitis 集成设计环境

Vitis 集成设计环境 (IDE) 可用于为赛灵思器件执行系统编程,包括含多个 AI 引擎内核的 Versal 器件。在此工具中,有下列功能特性可用。

最优化 C/C++ 编译器,用于编译内核与 graph 代码,执行所有必要的连接、布局和检查以确保器件上的各项功能正常工作。

周期近似的仿真器、加速的功能仿真器和剖析工具。

调试环境,可在仿真环境和硬件环境下使用。

Vitis 命令行工具

命令行工具可用于构建、仿真以及生成输出文件和报告。捕获由 IDE 生成的命令行输出后,有助于后续集成到客户构建环境内。Vitis 分析器 IDE 可用于查看报告并分析由命令行工具生成的输出文件和报告。

Vitis Model Composer

Vitis Model Composer 可提供基于 MATLABSimulink 的高层次图形输入环境,用于包含 AI 引擎、HLS 和 RTL 组件的设计仿真与代码生成。

将 AI 引擎内核、graph、HLS 内核与基于 RTL 的块导入同一个 Simulink 设计,用于快速协同仿真。

从 Simulink 库浏览器中,将经过最优化的 AI 引擎函数(例如,有限脉冲响应 (FIR) 和 FFT 滤波器)拖放到设计中。

使用 MATLAB 或 Simulink 中生成的激励来验证设计、直观显示结果并将结果与黄金参考结果进行比较。生成 graph 代码并测试矢量。

汇编导入的代码和块库代码以供馈送到下游工具中。

审核编辑:郭婷

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

    关注

    87

    文章

    27459

    浏览量

    265129
  • 引擎
    +关注

    关注

    1

    文章

    346

    浏览量

    22353

原文标题:AI 引擎工具和流程用户指南

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

收藏 人收藏

    评论

    相关推荐

    蚂蚁数科发布新一代融合AI风控引擎“AIR Engine”

    在数字化浪潮的推动下,金融科技领域的风控技术正迎来新的突破。近日,蚂蚁数科旗下的蚁盾风控团队正式发布了新一代融合AI风控引擎——“AIR Engine(AIFUSERiskEngine)”,该引擎在原有的决策式
    的头像 发表于 06-26 18:20 753次阅读

    FX3系列编程手册应用指令说明书

    电子发烧友网站提供《FX3系列编程手册应用指令说明书.pdf》资料免费下载
    发表于 05-11 09:33 0次下载

    直流可编程电子负载IT8500系列编程与语法指南

    电子发烧友网站提供《直流可编程电子负载IT8500系列编程与语法指南.pdf》资料免费下载
    发表于 04-14 09:56 2次下载

    fpga是什么架构

    FPGA(现场可编程阵列)的架构主要由可配置逻辑模块(CLB)、输入/输出模块(IOB)以及可编程互连资源组成。
    的头像 发表于 03-14 17:05 393次阅读

    AMD发布适用于Linux系统的XDNA驱动,助力APU AI引擎

    AMD于去年推出了Ryzen 7040“凤凰城”系列APU,其中首次搭载了基于Xilinx IP的XDNA架构AI引擎。借助此引擎,PyTorch和TensorFlow等机器学习框架的
    的头像 发表于 01-30 14:04 604次阅读

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

    电子发烧友网站提供《AI引擎内核与计算图编程指南.pdf》资料免费下载
    发表于 01-03 10:50 0次下载
    <b class='flag-5'>AI</b><b class='flag-5'>引擎</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加速器架构设计与实现》+第2章的阅读概括

    首先感谢电子发烧友论坛提供的书籍和阅读评测的机会。 拿到书,先看一下封面介绍。这本书的中文名是《AI加速器架构设计与实现》,英文名是Accelerator Based on CNN Design
    发表于 09-17 16:39

    AI加速器架构设计与实现》+学习和一些思考

    AI加速器设计的学习和一些思考 致谢 首先感谢电子发烧友论坛提供的书籍 然后为该书打个广告吧,32K的幅面,非常小巧方便,全彩印刷,质量精良,很有质感。 前言 设计神经网络首先要考虑的几个问题
    发表于 09-16 11:11

    AI引擎及其应用

    电子发烧友网站提供《AI引擎及其应用.pdf》资料免费下载
    发表于 09-14 10:21 0次下载
    <b class='flag-5'>AI</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-13 17:24 0次下载
    <b class='flag-5'>AI</b><b class='flag-5'>引擎</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>上的实现

    美格高算力AI模组为SoC阵列式服务器提供澎湃算力

    本期我们带来高算力AI模组前沿应用,基于ARM架构的SoC阵列式服务器相关内容。澎湃算力、创新架构、异构计算,有望成为未来信息化社会的智能算力底座。
    的头像 发表于 07-27 17:13 925次阅读

    Renesas R-IN32M3 系列编程手册:驱动程序 Rev.6.01

    Renesas R-IN32M3 系列编程手册:驱动程序 Rev.6.01
    发表于 07-06 18:42 0次下载
    Renesas R-IN32M3 系<b class='flag-5'>列编程</b>手册:驱动程序 Rev.6.01