StarryHeavensAbove

其他

领域编译器发展的前世今生 • 面向AI的编译技术

作者简介:张朔铭,博士研究生,正在中国科学院计算技术研究所崔慧敏研究员指导下攻读计算机系统结构博士学位,目前主要的研究方向是AI编译。zhangshuoming17@mails.ucas.ac.cn本文分为两个部分,第一部分为综述(领域编译器发展的前世今生
2023年2月5日
其他

领域编译器发展的前世今生 • 综述

作者简介:张朔铭,博士研究生,正在中国科学院计算技术研究所崔慧敏研究员指导下攻读计算机系统结构博士学位,目前主要的研究方向是AI编译。zhangshuoming17@mails.ucas.ac.cn本文分为两个部分,第一部分为综述,第二部分重点讨论AI编译技术0.
2023年1月27日
其他

人工智能会改变EDA吗?

摆放(placement)[3]。通过强化学习算法,这个工作可以类比于AlphaGo进行围棋落子,其中芯片版图类似于围棋棋盘,而每一个macro元件的摆放位置类似于围棋每次最佳的落子位置。图3
2023年1月2日
其他

AI编译关键技术 • 高层循环编译优化 - 不仅仅是分块和合并

作者简介:赵捷(清华大学工学学士,法国巴黎高等师范学校工学博士),长期从事编译器高级优化和代码生成方面的研究,目前主要从事深度学习编译器的研究。李宝亮(清华大学获工学学士,国防科学技术大学工学博士),长期从事体系结构性能分析优化方面的研究,目前主要从事深度学习专用加速芯片的研制和相关系统软件和编程语言的开发。随着人工智能、大数据和云计算的飞速发展,基于领域特定体系结构(DSA)的芯片[1-5]设计受到越来越多的关注。然而,领域特定体系结构在微架构和编程模型等方面也与通用CPU和GPU存在巨大差异[6-8],为了充分发挥DSA的性能优势并提高编程灵活性,编译器需要弥合上层编程模型与底层硬件结构的巨大鸿沟,在充分发挥硬件性能的前提下尽可能降低软件的编程难度。系统性能优化涵盖的优化内容纷繁复杂,在各种层级上都可以实现面向不同粒度、不同目标的优化。具体到面向深度学习的编译优化,通过这几年的不断努力尝试[9-14],业界逐渐形成了面向深度学习领域的计算图优化方法和面向通用计算领域的经典编译优化方法相结合的方式实现深度学习应用的端到端优化体系。首先,将深度学习应用转换为计算图描述、在计算图上实现硬件结构无关的图层编译优化[15-21],然后再将计算图的子图下降到以循环为核心的计算描述,并实现硬件相关的循环编译优化[12,14]的编译流程。在硬件相关的循环优化阶段,编译器所做的工作也可以划分为两部分,高层循环优化负责实现包括芯片和体系结构领域相关从业人员相对熟悉的tiling(循环分块)、fusion(循环合并)等循环变换,而底层循环优化主要在循环内部实现比较成熟的寄存器分配、指令流水等优化。在这篇文章中,我们主要讨论高层循环优化。如何借助编译优化理论和方法,将计算图描述的深度学习算法部署在具体硬件上并让算法高效运行,是学术界和工业界一个重要的研究课题。更多深度芯片编译技术内容在清华大学出版社新书《多面体编译理论与深度学习实践》中,现有5折预售优惠。(5折活动持续到2022年12月20日)在整个过程中,循环优化起到至关重要的作用,因为整个深度学习算法的核心任务都是在循环中完成的。循环优化涉及依赖分析、循环变换、指令调度、存储管理和代码生成等内容,是一个非常复杂的步骤。近些年深度学习算法上编译技术的革新,涌现出了以循环分块为核心[22,23]、以循环合并为优化重点[12,14,25,26]的编译框架,但是高层循环优化所涵盖的内容却不仅仅是只有分块和合并这两种变换。在把一个用计算图描述的算法通过分析和优化转换成目标平台上能够运行的源程序或可执行代码之前,高层循环编译优化至少要经过如下图所示的十个步骤。①
2022年11月19日
其他

『译』计算机体系结构发展史(六)

系列文章第六篇(对应M.7)往期文章『译』计算机体系结构发展史(一)『译』计算机体系结构发展史(二)『译』计算机体系结构发展史(三)『译』计算机体系结构发展史(四)『译』计算机体系结构发展史(五)M.7
2022年10月15日
其他

『译』计算机体系结构发展史(五)

Graphics收购。1998年,它发布了SV1系统,该系统将更快的CMOS处理器嫁接到了J90存储系统上。它还给每个CPU添加了用于向量的高速数据缓存,以满足不断增长的内存带宽需求。Silicon
2022年10月11日
其他

『译』计算机体系结构发展史(四)

www.cs.clemson.edu/mark/acs.html,这个网站可以查询这个非常重要项目最完整的可访问文档,其中包括与ACS资深专家的访谈以及指向其它资源的链接。此外,Sussenguth
2022年10月7日
其他

『译』计算机体系结构发展史(三)

cedar.intel.com/cgi-bin/ids.dll/content/content.jsp?cntKey=Legacy::irtm_AP548_9996&cntType
2022年10月4日
其他

『译』计算机体系结构发展史(二)

645上的Multics保护软件的启发。随着时间的推移,一些更为复杂的机制相继出现。最精细的机制是“capabilities”,它在70年代末和80年代初引起了极大的兴趣[Fabry
2022年10月1日
其他

『译』计算机体系结构发展史(一)

前言2021年春节,我有幸参与了《计算机体系结构:量化研究方法(第6版)》中文译本的审校工作。之后,更多专家加入,最近终稿几近完成。和大部分参与其中的朋友一样,这段经历对我来说更多的是”重温经典“的过程,也是进一步学习和思考的机会。对这部书的价值,相信大家都非常清楚。但可能不是所有朋友都了解,这部书印刷部分包括的是正文的7个章节和A,B,C三个附录,而剩下的D-M的10个附录是可以在书籍网站上免费下载阅读的(网站还有一些其它很有价值的资源,可通过文后原文链接访问)。这些附录也包含了大量有价值的信息。其中,附录M:Historical
2022年9月25日
其他

编译器与IR的思考: LLVM IR,SPIR-V到MLIR

(capability)。这些信息完全是可以通过对中间表示的主体进行分析来得到的,所以是重复的信息。但是它们的存在减少了硬件驱动所需做的工作,从而加速了实际运行。如果输入语言已经足够低层次,比如
2022年2月8日
其他

专用AI芯片的『更高』使命

Session中几家AI芯片初创企业不约而同想要解决的问题,特别是Cerebras在这方面走的最远。source:
2021年8月28日
其他

机器学习系统 • 提问

一个实际运作的机器学习系统包括算法,软件栈,系统硬件,芯片等内容。如何设计,实现和优化一个高效的机器学习系统是一个很重要的话题。最近我和一些系统方向(特别是软件栈)的一线工程师和学者进行了讨论,大家提出很多有意思的问题。即使还没有明确的答案,好的问题引起的思考和讨论本身就很有价值。下面整理了一些问题,抛砖引玉,也希望更多朋友提出自己的见解。做机器学习系统的朋友都对算法和Workload的发展趋势非常关注,甚至有一些“焦虑”。毕竟软硬件系统是跟着算法需求走的,而且越往底层,改动的成本越高,跟不上需求的代价越高(参考“『The
2021年4月4日
其他

『The Hardware Lottery』

TRANSFORMERS,这实际是一个非常好的结合计算系统特点来优化模型的例子。而非常有意思的是,在论文中的DISCUSSION部分,有个问题是“Why
2021年1月17日
其他

聊聊芯片技术趋势

年底了,闲聊几句。题目有点大,想到哪写到哪吧,一些粗浅思考,也只限于本人关注的很小的范围。今年我们看到很多芯片领域出现的“新现象”,也有不少会让你“陷入沉思”的时刻。对我个人来说,苹果M1可能是冲击最大的一个。我从04年开始做手机SoC,08年开始接触ARM,断断续续做到16年。在苹果M1之前,我从来没想过基于ARM的架构可能在性能上超越X86。当然,M1并不是传统意义上的CPU,而是一颗SoC,所以直接的比较也许并不完全公平。但如果从应用程序的角度来看,运行速度加快,功耗降低,都是实实在在的。对M1的分析很多,细看下来,大部分架构优化的思路和获得的结果也都是非常自然的(可能也有一些我们不知道的苹果黑科技)。但为什么苹果之前没人这么做,或者说做不到呢?问题的关键在于苹果掌握了完整生态和供应链,在有充分的技术积累和丰厚利润之后,可以做更多的“纵向优化”。这个事件本身还不只是技术上的胜利,未来会给整个产业带来深远的影响。当然,从这句话的限定词来看,能成功复制者可能寥寥无几。后面的新闻说微软也打算给Surface自研芯片来看,不知是不是有戏。(我双十一买了台Surface(i5),之后就看到M1)。之前的文章对芯片架构和技术趋势有不少讨论,“通用”到“专用”(后通用芯片时代:专用芯片兴起背后的经济学),“同构”到“异构”,“先进工艺”到“先进封装”(从AI
2020年12月26日
其他

Google的『泛芯片』科技蓝图

Alliance的发起者。相信大家都关注到Google和Skywater的开源PDK项目,以及Google支持的免费投片。此外还有例如RISCV-DV的开源项目,有兴趣的读者可以看看最近的Chip
2020年10月4日
其他

AI训练芯片巅峰对决,如何正确“围观”?

数据,及数据背后”)。如果未来这个现象无法改变,MLPerf的代表性可能会有疑问,这应该是MLPerf必须思考的问题。最近也看到国内几位老师对AI硬件Benchmark上的思考,比如在HPC上的AI
2020年8月8日
其他

AI芯片技术发展

前段时间我在Techbeat上做了一个关于AI芯片的讲座,这里整理一个文字的版本,分享给大家。我们说AI芯片,一般是泛指所有用来加速AI应用,特别是基于神经网络的深度学习应用的硬件,它可以是一颗独立的芯片,也可以是芯片中的模块,其基本技术都是相关的。当我们讨论AI芯片出现的背景的时候,经常会看到这两张图。左边这张是openai在2018年发布的报告,简单来说,它的结论就是从2012年到2018年,我们训练神经网络模型需要的计算量呈指数型增长。这背后一方面是因为我们使用的神经网络模型的规模越来越大,另一方是要训练这样的模型需要更大的数据集。这个规律我们也称为AI的摩尔定律。右边这张图是通用处理器的性能在40年间增长的趋势,可以看到,在近10年,处理器性能的增长已经非常缓慢了,很难达到实际的摩尔定律最初的预测。综合来说,AI计算的需求爆炸性增长,而通用处理的处理能力很难提升,这中间就出现一个很明显的gap。所以,一个很直接的想法就是,如果通用处理器不能满足AI计算的需求,我们是否可以设计针对AI计算的专用处理器呢?答案当然是肯定的。这也就是领域专用计算的概念。一般来说,一个领域是不是适合开发专用的处理器有两个条件,第一是这个领域的应用需求足够大,有很强的动力驱动相应的研发投入;第二是这个领域的计算模式限定在一个较小的集合,这样我们才有可能用专用硬件来对这些特定的运算进行加速。AI领域正好满足这两个条件。因此,我们说AI芯片设计是一个典型的领域专用计算问题,也就是domain
2020年6月27日
其他

如何加速推荐系统?这是个高价值问题

今年的ISCA中有一个Tutorial[2]和三篇论文[3-5],直接和推荐系统的加速有关。以此为起点,本文讨论一下如何加速推荐系统这个问题。推荐系统的优化和加速是一个系统性问题。本文主要围绕Facebook的一些分析和工作,后续可能进行更多的讨论。个性推荐系统背景知识我们每打开一个App或者访问一个网站,呈现在我们面前的内容有很大的可能就是推荐系统工作的成果。它们都是推荐系统基于用户和“商品”的各种信息(特征),对用户动作进行预测后推送给我们的。和搜索引擎根据明确的搜索请求返回结果不同,推荐系统是主动去”猜“用户”想要什么“,能够在”信息过载“的情况下,推送最合适的内容,这是一个好的推荐系统能够给用户带来的最大的价值。而对”商品“提供者来说,推荐系统的价值和重要性也是不言而喻的。引用王喆老师的《深度学习推荐系统》[6]中的例子,2019年天猫”双11“的成交额是2684亿元,而天猫的推荐系统实现了首页商品的个性化推荐,其目标是提高转化率和点击率。假设推荐系统进行了优化,整体的转化率提高1%,那么增加的成交额大约就是26.84亿。有这么明确的收益,我们不难想象互联网巨头优化推荐系统的动力。另一个例子是,在ISCA的tutorial[2]中,百度的同学介绍他们为什么在广告推荐系统中使用一个巨大的模型(10TB)而不能进行压缩的时候,给出的原因就是,尝试压缩后的模型会导致0.1%左右的AUC(推荐系统评价标准)下降,直接导致营收下降,这是不能接受的。类似的例子还有很多,总的来说就是,现在的推荐系统往往是直接和营收挂钩的。因此,“如何加速(优化)推荐系统?”当然是一个高价值问题。对于不同应用,不同公司,不同商业模式,推荐系统的目标和具体的设计也是有所偏重的。即使是同一类应用,也可能同时存在不同的推荐模式。比如一个视频应用,可能同时存在两种类型的推荐,视频内容推荐和广告推荐。前者是要在大量的视频中快速找到用户可能感兴趣,会点击观看的内容。如果商业模式是观看时间越长,可以插播越多广告,那么推荐的视频还会希望用户尽量长时间观看。后者则是希望推荐的广告是用户可能点击,可以直接转化为广告收入的。此外,不同的应用场景,对于推荐的性能要求也有差别,特别是有些场景对实时性有较高要求,这类情况可能就需要在高准确度(往往需要更多数据和更复杂的模型)和低延时上做tradeoff;或者是throughput和latency间的tradeoff。除了推荐的内容和模式的差别,不同应用能获得或者利用的用户特征(除了用户的基本信息,如性别,年龄等等)也是有所不同的。电商可以获得用户访问和购买商品的信息,那么它给出的推荐主要就是依据这些信息;搜索引擎,可以根据用户的搜索请求和搜索记录给出广告推荐;视频应用可以根据用户的观看记录;社交网络可以依据用户的关系等等。类似的,不同应用提供的”商品“特征也不尽相同。此外,推荐系统往往需要大规模的数据和模型,由于不同公司的技术能力和基础设施水平的差异,推荐系统部署的策略也不尽相同。总之,不同类型的应用,不同公司,在推荐系统的设计和部署中可能存在很大差异(可以参考[6]),这也是我们讨论推荐系统加速问题的一个挑战。在这次的ISCA的相关tutorial和paper中,很多内容都和Facebook的推荐系统有关,也有比较完整的讨论思路。本文主要是结合这个思路来进行分析。Facebook的推荐系统优化实践首先,在PeRSonAl
2020年6月13日
其他

一图理清Nvidia AI软件栈

AI,作为其AI软硬件技术栈中新的一层。CUDA发展到今天,编程模型,编程语言(C++扩展和PTX),Runtime/Driver
2020年3月11日
其他

AI芯片的第一次同场竞技 - 数据,及数据背后

Zurich的AI-Benchmark(类似手机跑分软件,也没有严格的规则)。MLPerf据说未来也会提供类似的手机APP的测试模式,但能否取代AI-Benchmark的地位就很难说了。
2019年11月8日
其他

Polyhedral Model—AI芯片软硬件优化利器(三)

https://github.com/tensorflow/mlir/blob/master/g3doc/RationaleSimplifiedPolyhedralForm.md[30]
2019年9月28日
其他

Polyhedral Model—AI芯片软硬件优化利器(二)

自动生成数据传输指令的循环信息。确定数据传输指令的位置后,Poly可以根据数学关系计算出当前指令所在循环的层次和维度信息,并自动为数据传输指令计算对应的调度关系,然后交给后端代码生成器生成代码。
2019年9月25日
其他

Polyhedral Model—AI芯片软硬件优化利器(一)

神经网络中的很多重要算子都可以表现为嵌套的多重循环的形式,而以加速神经网络为目的的AI芯片和编译器,很多软硬件优化工作是对这些循环的变换和优化。Polyhedral
2019年9月22日
其他

除了史上最大芯片,Hot Chips还有哪些看点?

[6]从指标来看,目前比较容易对比的主要是云端inference芯片,Nvidia的T4,Habana的Goya,Intel的NNP-I,都有ResNet-50的IPS(Image
2019年8月25日
其他

AI芯片“软硬件协同设计”的理想与实践

Reappears”[1],很好的总结了软硬件协同设计“失败”的历史,也提出一些新的想法,这个话题在AI芯片的背景下还是非常值得探讨的。首先,文章对于软硬件协同设计做了如下描述:“The
2019年8月3日
其他

StarryHeavensAbove AI芯片文章导读

在AI热潮中,AI芯片技术和产业备受关注产业讨论AI芯片全景:AI芯片相关的玩家,以及两年多对AI芯片的观察。AI芯片的“冷”与“热”后通用芯片时代:专用芯片兴起背后的经济学:为什么摩尔定律的终结与深度学习的兴起会加速计算技术的专用化趋势?AI芯片0.5与2.0:AI芯片的现阶段状态和未来展望AI芯片开年:2018开年,AI芯片领域延续了17的热闹景象,此文更新了一些信息。2017
2019年7月30日
其他

AI芯片全景

专用处理器设计为云而生又生于云中的芯片给我们的启示AI芯片的“冷”与“热”多角度解析Tesla
2019年6月29日
其他

为云而生又生于云中的芯片给我们的启示

Google的TPU芯片专门为云端AI应用设计,可谓是为云而生。而TPU的设计过程又越来越多的利用了云的优势,可谓是生于云中。TPU所带来的创新,不仅仅是芯片架构,还反映在整个芯片研发的思路,方法,甚至是“文化”,而后者可能对整个产业都会带来更为深远的影响。传统的芯片公司做芯片,目标是规模量产和销售,第一个风险就是芯片的规格不能满足市场需求,做出来也没用。有了规格之后,我们考虑的最多的就是成本(PPA和研发成本)和Time
2019年6月15日
其他

AI芯片的“冷”与“热”

参加AI硬件峰会,我和业界朋友聊了很多AI芯片相关的话题。总的感觉,AI芯片经过几年比较热的发展,现在似乎进入一个相对平静的阶段。不过,与其说是AI芯片“遇冷”,可能说产业更加“冷静”更合适。同时,AI芯片的热潮在这两年对于相关的产业链也产生很多积极的影响,把“热度”传导到了其它一些领域。本文很多内容是闲聊的结果,如果引用了哪位朋友的话而没有说明还请见谅。“冷”参加过去年硅谷的AI
2019年6月6日
其他

多角度解析Tesla FSD自动驾驶芯片

96,所以在把数据输入给MAC矩阵之前,需要做数据格式的变换。完成这一系列动作,总带宽需求是1TB/Sec。考虑到所有数据都在片上SRAM中,这个带宽比较容易满足。source:TeslaPete
2019年4月24日
其他

专用处理器设计

fabric)。前两种我们都介绍过,第三种的硬件结果类似于FPGA,差别是这里的逻辑电路阵列也是根据应用定制的。实现这三类计算引擎可以靠工程师完成,也可以借助专门的工具,比如,High-level
2019年4月11日
其他

后通用芯片时代:专用芯片兴起背后的经济学

对比CPU,专用芯片的适用范围很窄,但在特定领域能做得更好,性能达到数十倍甚至百倍的提升。我们看到以深度学习和比特币挖矿为代表的新技术的兴起,都将加速计算芯片技术专用化的进程–
2019年3月29日
其他

数据中心AI Inference芯片今年能达到什么样的性能?

img/s的指标。因此我们不妨把图像处理能力的预期定在这个指标。而根据Habana目前的测试结果,在这个指标下延时小于1ms也是合理的预期。比较难估计的是功耗效率,Groq提出的目标是8
2019年3月15日
其他

StarryHeavensAbove AI芯片文章导读

SoC中重要的选项。所以,我也介绍了一系列IP的方案。这部分大部分文章写于2017年,其它一些公司也有IP产品推出,很多IP也有了新的版本,大家可以参考各家的网站。
2019年3月12日
其他

AI芯片0.5与2.0

Workshop,各种ML编译器纷纷出场。从大环境来看,第一代AI芯片软硬件技术基本成熟,产业格局逐渐稳定,已经为规模应用做好了准备,可称之为AI芯片0.5版本。而在ISSCC会议上,大神Yann
2019年2月25日
其他

从AI Chip到AI Chiplet

这里我们不详细讨论3D集成技术的细节,根据目前的发展,在未来几年,相关技术会越来越成熟,应该能够为chiplet模式的普及做好准备。
2019年2月11日
其他

过年了,走访一下奋斗中的AI芯片初创公司吧

Second)来评价的。相对于TOPS来说,这种方式可以更合理的评价Inference的实际Throughout,而不是单纯的峰值计算能力。相信这种Benchmark的方式也回被越来越多的采用。
2019年2月5日
其他

在体系结构黄金期,ESL设计方法学能否“焕发青春”?

第二,基于虚拟原型的软件开发会成为常态。以目前的AI芯片为例,我们看到的趋势是“面向软件”的硬件设计。软件开发在整个系统里的比重会越来越高,也意味着加速软件开发的工具有更好的机会。Virtual
2019年1月9日
其他

AI/ML/DNN硬件加速设计怎么入门?

此外,该课程还讨论了Benchmark的问题,也链接了MLPerf网站和DAWNBench的论文,这个话题我之前聊的很多了,这里不再多说;讨论了FPGA和CGRA的话题,“Plasticine:
2018年12月4日
其他

AI芯片在5G中的机会

目前,大家做AI芯片主要是在几个比较拥挤的领域竞争。随着AI在更多领域的应用,未来的各种设备当中,AI处理所占的比例(或者芯片面积)会越来越大,我们也会发现更多的机会。
2018年10月27日
其他

来自Brett的AI芯片报告(最新观察)

再次声明,推荐这份报告并不代表我为其观点背书。大家如有问题或不同意见请直接和作者讨论。这次暂不翻译成中文了,如果需要大家可以留言反馈。
2018年9月28日
其他

从NNVM和ONNX看AI芯片的基础运算算子

这部分操作是对整个Tensor的数据进行的,即输出可能关系到Tensor中的不止一个数据。包括求和,求平均,通用矩阵运算(Gemm),矩阵乘法,图像缩放等。其中Gemm是矩阵处理的通用表达形式,即Y
2018年9月26日
其他

AI Inference芯片 ∙ 血战开始

server”的推出,TensorRT的性能和易用性又有很大提升。Nvidia在软件工具上的投入也是不遗余力,这方面给其它厂商的压力更大。TensorRT是个比较大的话题,有机会再专门讨论。
2018年9月15日
其他

Hot Chips 30 - 巨头们亮“肌肉”

Radio相关的资源,这个是比较有Xilinx特色的(目前Xilinx就有专门的RFSoC)。Xilinx的FPGA在无线基站中用的不少,从这里也可以看出Xilinx对5G的理解还是很深的。
2018年9月3日
其他

Hot Chips 30 - 机器学习

Chips,英特尔推出了VLIW概念Itanium,它将复杂性推给了编译器。我在你们的设计中也看到了类似的痕迹。你们怎么来避免安腾陷阱?另外,你们将如何避免来自英特尔和其它巨头在这方面的专利和IP?
2018年8月28日
其他

Hot Chips 30,黄金时代的缩影

weight下达到9.86%的错误率,而此时的计算代价从286减少到127。这种trade-off必须考虑更多的因素,意味着需要探索的设计空间会更大,而这可能成为未来神经网络设计的趋势。
2018年8月23日
其他

推荐一份AI芯片报告

除了广泛的调研,这份报告也反映出深层次的思考,非常难得。因此,我看过之后就产生了推荐给大家的想法。经过一些交流,报告的主要作者,Brett
2018年7月21日
其他

“全栈”开源的VTA会给AI芯片产业带来什么?

第三,对于学术界来说,VTA提供了一个可以同时玩儿软件和硬件的平台,有可能促进更多创新的出现。由于AI领域是学术界和产业界结合最紧密的地方,这个方向的影响也不能小觑。
2018年7月13日
其他

从ISCA论文看AI硬件加速的新技巧

ISCA主要反映学术界最新的研究工作。目前,对ML/DNN硬件加速技术的研究主要围绕提高Inference的处理效率展开。如果大家对背景知识不熟悉,建议先好好看看[1]这篇综述文章和相关的网站。
2018年6月12日