Versal系列0-AI Engine与Systolic Array

2023-10-10 07:59

本文主要是介绍Versal系列0-AI Engine与Systolic Array,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近在开发VCK190时,发现Xilinx Versal系列的AI engine(AIE),其实和Systolic Array(SA)有着很相似的地方。Xilinx工程师在研发AIE时,应该是有所借鉴SA的。

Systolic Array最早是H. T. Kung于1982年在论文《Why systolic architectures?》中提出,但是由于过于过于专用性,在通用处理器当道的年代并没有得到许多的关注。随着人工智能的火热,各种硬件加速器的设计不断涌现,谷歌的TPU就重新使用起了Systolic Array来做AI里最常用的矩阵乘法操作。许多AI模型部署的硬件加速器也都采用了SA做主要算子。

Why systolic architectures?

Systolic Array

在做矩阵乘法时,一般的方法是将矩阵的行和列从存储元件(DDR、BRAM、cache)中取出来,做完运算后再将其返回DDR中。而存储单元消耗的带宽是有限的,通常比计算单元速度慢很多,因此,访存的带宽成了整个系统的瓶颈。如果能每次在取出数据后,尽量做尽可能多的操作,让数据的利用率尽可能大,就能显著提升整个系统的速度。

常规矩阵运算

Systolic Array就是这样一个能显著提升矩阵乘法性能的硬件架构。它只需要从存储元件中取出一次元素,就能将整个矩阵计算完成。以3x3的方阵乘法为例,A矩阵与B矩阵相乘得到C矩阵:

3x3的方阵乘法

用于计算此矩阵乘法的SA也包含3x3个Processing Element(PE),每个PE的完成的操作就是将做个矩阵的乘法并放入自己的局部存储中(Local Memory)。在初始时刻,先将A矩阵的列翻转,B矩阵的行翻转,并按照A每一行晚一拍,B每一列晚一拍进入SA的顺序放置。每个PE的本地存储当前都是空的。

初始状态

然后矩阵元素 a11c_{13} ...

最后一个时钟周期

Systolic Array在整个矩阵的运算中只需要在开始访问存储器得到A和B矩阵的元素,每次运算不需要重新访存,就可以传递给下一个PE,从而克服了访存对速度的限制。

AI Engine

AI Engine是Xilinx Versal系列器件里新添加的硬核,每个AIE都是个32位RISC微处理器,如VCK190上嵌入了400个这样的硬核,因此能提供非常庞大的算力,来满足AI等场景下的要求。

类似SA,AIE也是形成一个阵列[1],从下图中可以看到,它也有局部的存储(灰色块),也有类似SA的计算单元(绿色块)。并且也会有互联的总线逻辑(蓝色,绿色与黑色线)。这种架构能让计算逻辑更快得访问Memory,互联逻辑也能让AIE访问相邻AIE的Memory。

AIE阵列架构

而AIE阵列与SA的区别在于

  • AIE阵列的计算逻辑AIE非常强大,包括标量/矢量计算单元。而SA里的PE通常只是做简单的乘加运算。
  • AIE阵列的单个AIE存储单元容量为32KB,而通常SA的存储单元容量较小。
  • AIE阵列的互联逻辑不仅可以传递数据到右边和下边的AIE,也可以传递到左边和上边,也可以跨AIE,通过AXI Interconnect总线访问更加远的AIE。而SA的互联逻辑更加简单。
AI Engine计算单元
AI Engine存储单元

AIE可以认为是个加强版的Systolic Array,利用了局部存储的高带宽的优势,让计算逻辑与存储逻辑更加靠近,从而满足高吞吐率,高计算量应用的要求。

参考

  1. ^AM009-AI Engine Architecture https://docs.xilinx.com/r/scNYG4asFKV~nqnjEkGwmA/root

link

这篇关于Versal系列0-AI Engine与Systolic Array的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/179109

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

AI一键生成 PPT

AI一键生成 PPT 操作步骤 作为一名打工人,是不是经常需要制作各种PPT来分享我的生活和想法。但是,你们知道,有时候灵感来了,时间却不够用了!😩直到我发现了Kimi AI——一个能够自动生成PPT的神奇助手!🌟 什么是Kimi? 一款月之暗面科技有限公司开发的AI办公工具,帮助用户快速生成高质量的演示文稿。 无论你是职场人士、学生还是教师,Kimi都能够为你的办公文

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

AI hospital 论文Idea

一、Benchmarking Large Language Models on Communicative Medical Coaching: A Dataset and a Novel System论文地址含代码 大多数现有模型和工具主要迎合以患者为中心的服务。这项工作深入探讨了LLMs在提高医疗专业人员的沟通能力。目标是构建一个模拟实践环境,人类医生(即医学学习者)可以在其中与患者代理进行医学

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

AI行业应用(不定期更新)

ChatPDF 可以让你上传一个 PDF 文件,然后针对这个 PDF 进行小结和提问。你可以把各种各样你要研究的分析报告交给它,快速获取到想要知道的信息。https://www.chatpdf.com/