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
    +关注

    关注

    89

    文章

    38156

    浏览量

    296828
  • 引擎
    +关注

    关注

    1

    文章

    367

    浏览量

    23368

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【「AI芯片:科技探索与AGI愿景」阅读体验】+第二章 实现深度学习AI芯片的创新方法与架构

    连接定义了神经网络的拓扑结构。 不同神经网络的DNN: 一、基于大模型的AI芯片 1、Transformer 模型与引擎 1.1 Transformer 模型概述 Transformer 模型的出现
    发表于 09-12 17:30

    【「AI芯片:科技探索与AGI愿景」阅读体验】+AI芯片的需求和挑战

    ②Transformer引擎③NVLink Switch系统④机密计算⑤HBM FPGA: 架构的主要特点:可重构逻辑和路由,可以快速实现各种不同形式的神经网络加速。 ASIC: 介绍了几种ASIC AI芯片
    发表于 09-12 16:07

    AI 芯片浪潮下,职场晋升新契机?

    职场、渴望在专业领域更进一步的人来说,AI 芯片与职称评审之间,实则有着千丝万缕的联系,为职业晋升开辟了新的路径。 AI 芯片领域细分与职称对应 目前,AI 芯片从技术架构上主要分为
    发表于 08-19 08:58

    信而泰×DeepSeek:AI推理引擎驱动网络智能诊断迈向 “自愈”时代

    DeepSeek-R1:强大的AI推理引擎底座DeepSeek是由杭州深度求索人工智能基础技术研究有限公司开发的新一代AI大模型。其核心优势在于强大的推理引擎能力,融合了自然语言处理(
    发表于 07-16 15:29

    如何基于Kahn处理网络定义AI引擎图形编程模型

    本白皮书探讨了如何基于 Kahn 处理网络( KPN )定义 AI 引擎图形编程模型。KPN 模型有助于实现数据流并行化,进而提高系统的整体性能。
    的头像 发表于 04-17 11:31 683次阅读
    如何基于Kahn处理网络定义<b class='flag-5'>AI</b><b class='flag-5'>引擎</b>图形<b class='flag-5'>编程</b>模型

    RAKsmart高性能服务器集群:驱动AI大语言模型开发的算力引擎

    RAKsmart高性能服务器集群凭借其创新的硬件架构与全栈优化能力,成为支撑大语言模型开发的核心算力引擎。下面,AI部落小编带您了解RAKsmart如何为AI开发者提供从模型训练到落地
    的头像 发表于 04-15 09:40 526次阅读

    首创开源架构,天玑AI开发套件让端侧AI模型接入得心应手

    正式提出“智能体化用户体验”方向,并启动“天玑智能体化体验领航计划”。更值得注意的是,其三大AI工具链的发布——天玑开发工具集、AI开发套件2.0,以及升级的天玑星速引擎与旗舰芯片天玑9400+,标志着联发
    发表于 04-13 19:52

    面向AI与机器学习应用的开发平台 AMD/Xilinx Versal™ AI Edge VEK280

    解读: *附件:VEK280_用户指南 开发手册.pdf 一、核心配置与架构 ​ 自适应SoC芯片 基于AMD Versal™ AI Edge系列VE2802自适应SoC,集成AI引擎
    的头像 发表于 04-11 18:33 2038次阅读
    面向<b class='flag-5'>AI</b>与机器学习应用的开发平台 AMD/Xilinx Versal™ <b class='flag-5'>AI</b> Edge VEK280

    AI Agent 应用与项目实战》阅读心得3——RAG架构与部署本地知识库

    技术不仅解决了LLM的知识更新问题,更为构建专业领域的智能问答系统提供了完整的技术方案。通过与向量数据库的深度集成,RAG实现了知识的动态扩展和精准检索,这种架构设计为AI系统的持续进化提供了可能。在
    发表于 03-07 19:49

    FPGA+AI王炸组合如何重塑未来世界:看看DeepSeek东方神秘力量如何预测......

    畅想! 一、关于FPGA的前世今生——“无处不在的加速引擎”我们首先一文科普什么是FPGA?FPGA(Field-Programmable Gate Array,现场可编程阵列)是一种可
    发表于 03-03 11:21

    明远智睿SD2351核心板首发:四核A35+硬核AI引擎,赋能工业AIoT

    ARM Cortex-A35架构,主频高达1.5GHz,集成智能视频引擎(IVE)与智能处理单元(IPU),支持多模态AI分析与实时视频处理,为边缘计算场景提供强劲算力支持。 核心配置亮点: 处理
    发表于 02-20 14:11

    AI技术与PLC编程融合

    如何将AI技术融入PLC编程软件
    发表于 02-14 15:55

    腾讯混元3D AI创作引擎正式发布

    近日,腾讯公司宣布其自主研发的混元3D AI创作引擎已正式上线。这一创新性的创作工具将为用户带来前所未有的3D内容创作体验,标志着腾讯在AI技术领域的又一重大突破。 混元3D AI创作
    的头像 发表于 01-23 10:33 988次阅读

    腾讯混元3D AI创作引擎正式上线

    近日,腾讯公司宣布其自主研发的混元3D AI创作引擎已正式上线。这一创新性的创作工具,标志着腾讯在3D内容生成领域迈出了重要一步。 混元3D AI创作引擎的核心功能极为强大,用户只需通
    的头像 发表于 01-22 10:26 973次阅读

    什么是AI查询引擎

    AI 查询引擎可高效处理、存储和检索大量数据,以增强生成式 AI 模型的输入。
    的头像 发表于 01-10 10:00 2401次阅读