AI 引擎:满足新一代应用的计算需求

在 5G 通信、数据中心、汽车电子及工业应用等快速演变的市场中,各类应用在追求持续提升计算加速性能的同时,还必须保持优异的能效表现。随着摩尔定律和登纳德缩放比例定律不再遵循其传统发展规律,只向新一代芯片节点发展,就不能像前几代产品那样,以更好的性能提供更低功耗及更低成本的优势。

为应对无线波束成形和机器学习推理等新一代应用的非线性需求增长,AMD 创新开发了 AI 引擎处理技术,将其作为 AMD Versal™ 架构的核心组件。

AI 引擎架构

AI 引擎采用模块化二维阵列架构,由多个 AI 引擎计算单元组成,可在 Versal 产品组合中实现高度可扩展的解决方案,单个器件可集成数十至上百个 AI 引擎,全面满足各类应用场景的计算需求。产品优势包括:

多个编程选项

对于高性能 DSP 应用,可使用以下方法对 AI 引擎进行编码(有关详细信息,请访问:AMD Vitis™ AI 引擎 DSP 设计

  • 基于 C 语言的流程:使用 DSP 库函数与 API 编码
  • 基于模型的设计(在 MathWorks Simulink 中使用 Vitis Model Composer)
  • 内部函数 
面向 AI/ML 应用:
  • 为 AI/ML 框架开发者提供支持的强大库
确定性
  • 专用指令及数据存储器
  • 专用互连架构与 DMA 引擎协同,通过 AI 引擎阵列间连接实现可调度的数据流动
效率
  • 在高性能 DSP 应用中,与传统纯可编程逻辑实现方案相比,AI 引擎可实现动态功耗优化与显著资源节省
AI 引擎计算单元

每个 AI 引擎计算单元由一个 VLIW(超长指令字)、SIMD(单指令多数据)矢量处理器组成,该矢量处理器针对机器学习和高级信号处理应用进行了优化。AI 引擎处理器运行频率高达 1.3GHz,能够实现极高效、高吞吐量和低延迟的各项功能。

每个计算单元不仅包含 VLIW 向量处理器,还包括用于存储必要指令的程序存储器;用于存储数据、权重、激活值和系数的本地数据存储器;一个 RISC 标量处理器以及用于处理不同类型数据通信的多种互连模式。

异构工作负载:信号处理和机器学习推理加速

AMD 提供两种类型的 AI 引擎:AIE 和 AIE-ML(用于机器学习的 AI 引擎)均较前一代 FPGA 实现了显著的性能提升。AIE 可加速包括机器学习推理应用和高性能 DSP 信号处理工作负载(如波束成形、雷达以及其他需要大规模滤波和变换的工作负载)在内的多种工作负载。通过增强的 AI 向量扩展以及在 AI 引擎阵列中引入共享内存计算单元,AIE-ML 在专注于 ML 推理的应用中表现出比 AIE 更优越的性能,而 AIE 在某些类型的高级信号处理方面,则可能比 AIE-ML 表现更佳。

AI Engine Diagram Workloads
AI 引擎计算单元

AIE 可加速一组均衡的工作负载,包括机器学习推理应用,以及波束成形、雷达、FFT 和滤波器等高级信号处理工作负载。

支持许多工作负载/应用
  • 用于通信、雷达、测试和测量、工业/汽车应用的高性能 DSP
  • 视频和图像处理
  • 机器学习推理
对实数、复数、浮点数据类型的本机支持
  • INT8/16/32 定点
  • CINT16 和 CINT32 复数定点
  • FP32 浮动数据点
专用于 FFT 与 FIR 实现方案的硬件特性
  • 每个计算单元 128 个 INT8 MAC

请参阅 AMD Versal AI Engine 架构手册以了解更多信息。

每个 AIE 计算单元的 OPS
INT4
256
INT8
256
INT16
64
CINT16
16 16
BFLOAT16*
16
FP32
16 16

*BFLOAT16 使用 FP32 矢量处理器实现。

AI Engine-ML 计算单元

AI Engine-ML 架构针对机器学习进行了优化,全面增强计算核心和存储器架构。这些经过优化的计算单元兼具机器学习和高级信号处理能力,它们降低了对 INT32 和 CINT32 的支持(在雷达处理中普遍存在),目的是强化专注于机器学习的应用。

AIE-ML 将提供两个版本:AIE-ML(与 AIE 相比,计算能力翻了一番)和 AIE-MLv2(与 AIE-ML 相比,计算能力翻了一番),并且增加了流互连之间的额外带宽。

为机器学习数据类型提供更广泛的原生支持
  • BFLOAT16
  • FP8(仅限 AIE-MLv2)
  • FP16(仅限 AIE-MLv2)
  • MX4(仅限 AIE-MLv2)
  • MX6(仅限 AIE-MLv2)
  • MX9(仅限 AIE-MLv2)
增强机器学习计算能力并缩短延迟
  • AIE-ML 中每个计算单元 256 个 INT8 MAC/周期
  • AIE-MLv2 中每个计算单元 512 个 INT8 MAC/周期
增加了用于本地化数据的阵列内存
  • 每个计算单元的本地数据内存增加了 1 倍 (64kB)
  • 为高带宽共享内存访问而设的内存计算单元 (512kB)
每个 AIE-ML 计算单元的 OPs
INT4
1024
INT8
512
INT16
128
CINT16
16
BFLOAT16
256
FP32**
42

**AIE-ML 的 FP32 软件仿真支持。

异构平台的一部分

AI 引擎与可编程逻辑单元及处理系统共同构成 Versal 自适应 SoC 中紧密集成的异构架构,该架构支持硬件与软件层面的动态重构,可灵活适应多样化应用场景与工作负载需求。

Versal 架构采用原生软件可编程设计,集成灵活的每秒多太比特级片上可编程网络 (NoC),实现所有组件与关键接口的无缝互联,使该平台在启动时即可就绪,并且软件工程师、数据科学家及硬件开发者可轻松对其进行编程。

应用

AI 引擎适用于各种异构工作负载,从无线处理到位于云端、网络和边缘的机器学习,无所不包

数据中心计算

图像和视频分析是数据中心数据爆炸式增长的核心。这些工作负载的卷积神经网络 (CNN) 特性需要数量庞大的计算,通常达数万亿次。AI 引擎经过专门优化,能够以高成本效益与高能效比实现卓越的计算密度。

5G 无线处理

5G 能够以极低的时延提供前所未有的吞吐量,因此需要显著增加信号处理。AI 引擎可在无线电单元 (RU) 和分布式单元 (DU) 中以更低功耗执行实时信号处理,例如通过大规模 MIMO 天线阵列中的先进波束成形技术来提升网络容量。

ADAS 和自动驾驶

CNN 是一种深度前馈人工神经网络,常用于分析视觉图像。随着计算机广泛用于从自动驾驶汽车到视频监控的各个领域,CNN 现已变得至关重要。AI 引擎能够为具有紧凑散热封装的小尺寸规格,提供所需的高计算密度和效率。  ​

工业

工业应用(包括机器人和机器视觉)通过结合传感器融合与 AI/ML 技术,在边缘侧靠近数据源头完成实时数据处理。尽管环境存在不确定性,但 AI 引擎仍能提高这些实时系统的性能和可靠性。

无线测试设备

实时 DSP 被广泛用于无线通信测试设备中。AI 引擎架构能够很好地处理各种协议的实现,包括从数字前端到波束成形和基带的 5G 应用。

医疗

利用 AI 引擎的医疗应用包括:用于医疗超声的高性能并行波束成形器、用于 CT 扫描仪的反向投影、MRI 设备中图像重建的分载,以及各种临床和诊断应用中的辅助诊断。

AI 引擎开发流程

AI 引擎采用原生设计理念,兼具软件可编程性与硬件可适配性。为充分发挥这些计算引擎的性能优势,开发者可采用两种独特的设计流程,既能实现分钟级编译,又可快速探索不同微架构方案。这两种设计流程包括:

  • Vitis™ Unified IDE:专为 C/C++ 编程范式设计,全面适配软硬件开发者的需求
  • Vitis Model Composer,用于基于模型的设计流程,作为 MathWorks Simulink® 中的插件运行
  • Vitis AI:面向基于 AI/ML 框架的流程,专为 AI 与数据科学家设计

AI 引擎阵列还能够以一种优化资源和功耗的方式,实现高性能 DSP 功能的部署。通过将 AI 引擎与 FPGA 结构资源结合使用,能够非常高效地实现高性能 DSP 应用。了解如何使用 AMD Vitis 工具流程释放 AI 引擎在 DSP 应用中的硬件加速潜能:AMD Vitis AI Engine DSP 设计

面向软硬件开发者和数据科学家的 AI 引擎库

利用 Vitis 加速库,AMD 提供预构建的内核,旨在实现:

  • 更短的开发周期
  • AI 引擎架构之间的可移植性,例如,从 AIE 到 AIE-ML 的移植
  • 更快地学习和使用 AI 引擎技术
  • 帮助设计人员专注于自己的专有算法

软件和硬件开发者可以直接编程基于矢量处理器的 AI 引擎,并在需要时,使用 C/C++ 代码调用预构建的库。

AI 数据科学家可以继续在他们熟悉的框架环境(如 PyTorch 或 TensorFlow)中工作,并通过 Vitis AI 调用预构建的 ML 覆盖层,从而避免直接编程 AI 引擎。

这些库是开源的,可在 GitHub 上获取:https://github.com/Xilinx/Vitis_Libraries

面向软件/硬件开发者的数据流编程

AI 引擎架构基于数据流技术。处理元件以 10 至 100 个阵列片 (tile) 的规模组成,可通过统一编程模型实现跨计算单元的协同运算。若要求设计人员手动为每个阵列片 (tile) 编写并行化指令,不仅繁琐且几乎不可行。为突破这一技术瓶颈,AI 引擎设计分两阶段执行:先进行单个内核开发,然后通过自适应数据流 (ADF) 图创建,将这些内核连接在整个应用中。

Vitis Unified IDE 提供单一 IDE 控制平台,支持通过 C/C++ 代码开发 AI 引擎内核,并集成 ADF 图设计功能。具体而言,设计人员可以:

  • 使用 C/C++ 开发内核并使用 Vitis 库描述特定的计算函数
  • 使用 Vitis AI Engine 工具通过 ADF 计算图连接内核

默认情况下,单个内核运行在单个 AI 引擎计算单元上。然而,多个内核可在同一 AI 引擎阵列片 (tile) 上分时运行(只要应用允许)。

下面是一个概念示例:

  • AI 引擎内核采用 C/C++ 开发
  • 可编程逻辑 (PL) 中的内核以 RTL 或 Vitis HLS(高层次综合)编写 
  • PL 和 AI 引擎中内核之间的数据流通过 ADF 计算图执行
将 AI 引擎设计整合在一个完整的系统中

借助 Vitis Unified IDE,AI 引擎设计可以集成到一个更大的完整系统中,该系统将设计的各个组成部分整合到一个统一的流程中,从而实现仿真、硬件仿真、调试和部署。

  • Versal 平台的各种异构引擎,包括处理系统 (Arm® 子系统)、可编程逻辑以及 DSP 和 AI 引擎,都由专用编译器负责编译。
  • 系统编译器随后会将这些单独的代码块连接起来,并建立所有互连,从而优化它们以及任何自定义存储器间的数据传输。该工具套件还集成了适用于 PCIe® 系统的 x86 工具链。
  • 为了部署您的应用,Xilinx Runtime 软件 (XRT) 提供独立于平台和操作系统的 API,以管理器件配置、存储器以及主机到器件的数据传输和加速器执行。 
  • 完成第一个原型的组装之后,您可以使用快速事务级仿真器或周期精确仿真器来模拟您的应用,并利用性能分析器来优化您的应用,从而实现出色的分区和性能。
  • 对结果感到满意时,即可部署在 Versal 平台上。

产品系列

Versal™ AI Core 系列

AMD Versal AI Core 系列通过 AI 引擎提供突破性的 AI 推理和无线加速,从而提供卓越的计算性能。作为 Versal 产品组合中计算性能超强的器件,Versal AI Core 自适应 SoC 主要面向以下四大核心应用场景:数据中心计算、无线通信波束成形、视频图像处理以及无线测试设备。

Versal™ AI Edge 系列

AMD Versal AI Edge 系列可为自动驾驶、预测工厂及医疗保健系统的智能化以及其他各种应用提供高性能、低延迟的 AI 推理能力。不仅仅是人工智能,Versal AI Edge 系列实现了从传感器到人工智能再到实时控制的整个应用加速,同时满足关键的安全性和保密性要求。

Versal Premium 系列

为了满足有线通信、数据中心计算、测试与测量等领域中极为严苛的计算和数据移动应用的需求,AMD Versal Premium 系列集成了 AI 引擎,从而提供出色的自适应信号处理能力。AI 引擎融合了可编程逻辑、DSP 引擎以及用于以太网和高速加密的硬 IP 模块。

AMD Versal AI Edge VEK280
Versal AI Edge 系列 VEK280 评估套件

VEK280 评估套件配备 Versal AI Edge VE2802 自适应 SoC,不仅提供 AIE-ML 及 DSP 硬件加速引擎,而且还提供多种高速连接选项。该套件针对汽车、视觉、工业、科学以及医疗等市场的机器学习推理应用进行了优化。

AI Engine Diagram Versal AI Kit
Versal AI Core 系列 VCK190 评估套件

VCK190 评估套件让设计人员能够开发基于 AI 和 DSP 引擎的解决方案,这些引擎的计算性能比现有服务器级 CPU 高出 100 倍以上。Versal AI Core 系列 VC1902 器件,凭借广泛的连接选项和标准化的开发流程,能够为云、网络和边缘应用提供 Versal 产品组合中最高的 AI 推理和信号处理吞吐量。

立即体验

AMD Vitis 统一软件平台提供了全面的内核开发套件与库,助力更好地利用硬件加速技术。

访问 Vitis GitHubAI 引擎开发资源库以获得各种 AI 引擎教程,并了解有关技术特性和设计方法的更多信息。

AI 引擎工具(编译器和仿真器)都集成在 Vitis IDE 中,需要额外的专用许可证。有关如何访问 AI 引擎工具和许可证的更多信息,请联系您当地的 AMD 销售代表,或查看联系销售人员表单。 

AMD Vitis Model Composer 是一款基于模型的设计工具,可在 Simulink® 和 MATLAB® 环境中实现快速的设计探索。它支持在系统级进行 AI 引擎 ADF 图的开发与测试,使用户能够在同一仿真环境中将 RTL 和 HLS 模块与 AI 引擎内核及/或计算图集成。利用 Simulink 和 MATLAB 工具中的信号生成和可视化功能,DSP 工程师可以在熟悉的环境中进行设计和调试。要了解如何将 Versal AI Engine 与 Vitis Model Composer 配合使用,请访问 AI 引擎资源页面

VCK190 套件基于 Versal AI Core 系列,使设计人员能够使用 AI 引擎和 DSP 引擎开发解决方案。此评估套件拥有快速启动设计所需的全部组件。

此外还提供基于 PCIe® 的 VCK5000 开发卡,该卡搭载内置 AI 引擎的 Versal AI Core 器件,专为数据中心高吞吐量 AI 推理而设计。

为了进行 AIE-ML 的开发,基于 Versal AI Edge 系列的 VEK280 评估套件将为开发者提供开发 DSP 和机器学习应用的能力。

AMD 培训和学习资源提供了实用的实践技能和基础知识,可助力开发者在下一个 Versal 自适应 SoC 开发项目中充分发挥生产力。课程包括:

从解决方案规划到系统集成与验证,AMD 为全套 Versal 自适应 SoC 文档提供定制化视图,助力用户设计效率最大化。访问 Versal 自适应 SoC 设计流程中心,获取满足您设计需求的最新内容,并探索 AI 引擎功能和设计方法。

资源

随时掌握最新动态

加入自适应 SoC 和 FPGA 通知列表,及时接收最新动态与资讯。