[转帖]RISC-V 加速芯片,496核!RTL开源!

RISC-V 加速芯片,496核!RTL开源!

https://news.cnblogs.com/n/653553/

  来源:wikichip

  Celerity 是在多家大学共同努力下,而创造的一个开源多核 RISC-V 分层(tiered)加速器芯片。该项目是 DARPA 快速电路实现(Circuit Realization At Faster Timescales:CRAFT)计划的一部分,该计划希望将定制集成电路的设计周期从几年缩短到几个月甚至几周。Celerity 团队首先在 Hot Chips 29 上展示了该芯片。在去年的 VLSI 2019 上,Celerity 团队谈论了其第二代芯片的 PLL 和 NoC。

  此外,Celerity 的 RTL 设计已在其官网开源提供下载!

  接下来先对整个 CeleritySoC 做一个快速概述,Celerity 是一个多核多层的 AI 加速器。总体而言,该芯片包括三个主要层:通用层,大规模并行层和专用层。为什么要使用分层 SoC?主要原因是为了在典型的 CPU 设计上实现高灵活性和更高的电源效率(尽管效率不及 ASIC NPU)。

  通用层几乎可以执行任何操作:通用计算、内存管理以及控制芯片的其余部分。因此,他们集成了 Free Chip Project 的五个高性能乱序 RISC-V Rocket 内核。下一层是大规模并行层,它将 496 个低功耗定制设计的 RISC-V 内核集成到一个网格中。这些称为 Vanilla-5 的自定义内核是有序标量内核,其占用的空间比 Rocket 内核少 40 倍。最后一层是集成二值神经网络(BNN)加速器的专业化层。这三层都是紧密链接的,并与以 400 MHz 的 DDR 存储器接口。

  Celerity 上的多核网络(Manycore Mesh)时钟由一个定制的锁相环(PLL)提供。这是一个相当简单的一阶ΔΣ频率数字转换器(FDC)PLL。该实现单元采用 16 个 DCO 组成一个组,每个实现单元为环形振荡器,其中反相元件加载有如下幻灯片上的电路图所示的 NAND 门 fce,如以下幻灯片中的电路图所示。这样做是为了仅使用标准单元来实现整个设计。为此,整个数字 PPL 是一个完全综合和自动放置和路由设计。该 PLL 在其 16 纳米芯片上的频率范围为 10 MHz 至 3.3GHz。

  与许多学术项目一样,硅面积也非常重要的,整个芯片为 25 平方毫米(5×5)。对于 Celerity 而言,许多关键的架构设计决策都以限制硅面积的需求为主导,这意味着降低了复杂性。Manycore 本身是 16 乘 31 的 Vanilla-5 RISC-V 小型内核阵列。该阵列的第 32 行用于外部主机,该主机用于与芯片上的其他组件连接(例如,将消息/数据发送到 Rocket 核心进行最终处理)。整个网格为 3.38 毫米乘 4.51 毫米(15.24 毫米²),约占整个芯片的 61%。Vanilla-5 核心是 5 级有序流水线 RV32IM 核心,因此它们支持整数和乘法扩展。硅芯片实现,这些内核能够达到 1.4 GHz,比他们在 Hot Chips 29 上展示的第一个硅芯片高 350 MHz。

  为了降低多核阵列的复杂性,Celerity 利用分区的全局地址空间进行单芯片数据包和远程存储编程模型。

  该阵列利用了全局分区地址空间(GPAS)。换句话说,不是使用高速缓存,而是使用 32 位地址方案将整个内存地址空间映射到网络中的所有节点上。这种方法也意味着无需虚拟化或转换,从而大大简化了设计。

  他们声称,与等效的一致性缓存系统相比,该设计可将区域开销降低 20 倍。值得指出的是,由于该多核阵列的目标工作负载是 AI 加速(相对于更通用的计算),因此它们可以采用显式分区(explicitly partitione)的暂存器存储方案,因为这些工作负载表现出高度并行的定义良好的独立流模式。而且,对于这种类型的代码,控制存储器局部性的能力可能证明是非常有利的。阵列中的每个核都可以自由执行加载并存储到任何本地地址,但是,它只能执行对远程地址的存储。没有远程负载意味着它们将路由器面积减少了 10%,并且由于可以对远程存储进行流水线处理,因此可以防止流水线停顿。

  这种远程存储编程模型方案允许他们使用两个网络,实现这一个数据网络和 credit 网络用于管理未完成的存储。

  如前所述,第 32 行用于外部主机。实际上,这意味着内存映射扩展到位于阵列底部的 16 个路由停靠点,允许消息进出多核阵列,到达芯片上的大核和其他外围设备。

  Celerity 并没有使用非常常见的 wormholerouting(被 Kilocore,Piton,Tile64 等使用),而是将地址和数据合并到单个 flit 数据包中。该设计摆脱了发送数据和元数据都需要的头/尾部信息。另外,由于没有保留的路由,它摆脱了 HOL 阻塞。每个 flit 均为 80b 宽-控制位 16 位,数据位 32 位,节点地址位 10 位,存储器地址位 22 位。flit 节点地址保留了将数据发送到任何目的地的能力。该设计的主要好处是,由于仅将单个 flit 注入网络,因此可以使用一个有序管道在每个周期中执行一个存储。

  在多核阵列中的 496 个节点中,每个节点都有一个路由。路由本身在每个基本方向(N,S,E,W)的输入处都包含两个元素的 FIFO,以及在网络拥塞情况下用作临时存储的控制处理器。他们使用循环仲裁(round-robin arbitration)来确定数据包的优先级,从而可以在每个周期对每个方向进行仲裁(arbitrate )。他们使用尺寸顺序的布线(在一个方向上减小偏移,然后再移动到另一方向)。通过简单的设计,他们可以将整个路由实现为单级设计,而节点之间没有管道寄存器。换句话说,每跳只需要一个周期。例如,任何相邻的核心存储区的延迟只有 3 个周期-转到本地路由,跳到相邻路由,最后去邻居的记忆空间,路由器与内核位于相同的时钟域,这意味着它们还可以在高达 1.4 GHz 的频率下运行。

  有两个网络-一个数据网络和一个 credit 计数器网络。该路由器使用一个受源代码控制的 credit 计数器,每当一个远程存储包被注入网络时,该计数器就会递减。通过 credit 计数器网络返回,该网络使用与上面描述的数据相同的架构,但只有 9 位,因为它只包含节点地址。

  那么,这些意味着什么呢?Celerity 团队报告了在 600 mV 至 980 mV 工作频率从 500 MH 一直到 1.4GHz。我们相信 Celerity 现在是时钟频率第二高的大学芯片,仅次于 Kilocore(尽管值得指出的是,由于封装方面的限制,Kiloecore 只能支持其 1000 个内核中的 160 个)。在 1.4 GHz 时,整个网格的最大计算能力为 694.4 INT 32 GOPS。他们以每秒 Giga-RISC-V 指令(GRVIS)而不是 GOPS 报告其数字,以便强调一个事实,即这些指令是完整的 RISC-V 指令,而不仅仅是整数运算。请注意,由于 Vanilla-5 内核是 RV32IM,它们支持 RISC-V 整数和乘法扩展,但不支持浮点运算,因此所有 AI 工作负载都必须进行量化。由于将节点互连的路由器与核心位于相同的时钟域,每个路由器每个周期支持 5 个 flit,因此每个节点的总聚合带宽为 748Gbps,总聚合网络带宽为 371Tb/s。

  不幸的是,Celerity 团队没有报告任何与人工智能相关的常见基准测试结果。相反,他们选择使用 CoreMark,当他们达到 580.25 CoreMark /MHz 时,总得分为 812350。CoreMark 在过去几年中一直是 RISC-V 社区的比较基准。CoreMark 的问题在于,它通常会为简单的有序设计生成令人难以置信的乐观分数,这些设计似乎能够很好地与调优的现代无序设计竞争,而真实世界的工作负载则显示出非常不同的结果。鉴于该芯片的前提是产生一个高度灵活的人工智能加速器,我们希望鼓励 Celerity 团队产生更有意义的结果,如正式的 MLPerf 提交。

  Celerity 的开源 RTL 设计已在 Celerity 网站公开(开源链接:http://opencelerity.org/),部分截屏如下:

0

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/12191976.html

时间: 2024-10-19 09:03:21

[转帖]RISC-V 加速芯片,496核!RTL开源!的相关文章

neuFlow&CNP-卷积计算加速器&神经网络加速芯片生态系统

上周看到韩松毕业论文,扯出神经网络加速器EIE,刚好这周调研了一下neuFlow,扯出09年的一篇做卷积加速的文章,大牛Lecun Yan的学生做的,一晃眼,快十年了.也记录之. 这一套还没研究透,又被换了方向,只好抽出一个晚饭时间,把看懂的记下来,不懂的暂时不研究了,如果以后再被拎回来搞这个方向再看吧. 1. neuFlow的整体思想: CNP是09年的一个卷积加速器,newFlow是12年的一个神经计算芯片,并加上了luaFlow编译器做成了一个嵌入式系统,可以实现人脸识别.场景分割等等.

[转帖]grep -v、-e、-E

grep -v.-e.-E 转帖: https://www.cnblogs.com/franjia/p/4384362.html 发现 一些工具虽然一直在用 但是知道的还是少 哎. 概述 在Linux的grep命令中如何使用or,and,not操作符呢? 其实,在grep命令中,有or和not操作符的等价选项,但是并没有grep and这种操作符.不过呢,可以使用patterns来模拟and操作的.下面会举一些例子来说明在Linux的grep命令中如何使用or,and,not. 在下面的例子中,

[转帖]你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下)

你不曾见过的国产CPU:可能是最全的龙芯系列芯片家谱(下) https://www.ijiwei.com/html/news/newsdetail?source=pc&news_id=717789 爱集微·06-01 22:11·IC 来源: IT之家 欢迎回到下半场,更多龙芯系列处理器等着我们去认识. 2.6  龙芯2G/2G+/2GQ/2G-2000 龙芯2G是在“龙芯安全适用计算机CPU研制与应用”核高基重大专项课题支持下研发的,2008年开始投入设计,但由于龙芯当时2G项目和3A项目同时

多样化计算大繁荣,IBM Power芯片迎春天?

曾有一度,作为大型机和Unix时代宠儿的IBM Power服务器系统,在x86服务器时代呈销量一路下滑态势.2013年8月,IBM破釜沉舟地开放了Power芯片,并与Google.Tyan.NVIDIA和Mellanox一起组成了后来的OpenPOWER基金会.2014年1月,IBM又彻底出售了自家的x86服务器业务,转而专注Power系列. 就在业内质疑IBM Power究竟拿什么挣钱.OpenPOWER联盟能否发展起来的时候,时间一晃到了2016年.2016年也是云计算十周年,一度在云计算兴

树网的核[树 floyd]

描述 设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边到有正整数的权,我们称T为树网(treebetwork),其中V,E分别表示结点与边的集合,W表示各边长度的集合,并设T有n个结点. 路径:树网中任何两结点a,b都存在唯一的一条简单路径,用d(a, b)表示以a, b为端点的路径的长度,它是该路径上各边长度之和.我们称d(a, b)为a, b两结点间的距离. D(v, P)=min{d(v, u), u为路径P上的结点}. 树网的直径:树网中最长的路径成为树网的直径

[bzoj1999]树网的核

从下午坑到网上..原来noip的数据真是太弱了,若干的地方写挂结果还随便过= = 最坑的就是网上有些题解没考虑周全...然而noip数据太弱了noip数据太弱了noip数据太弱了 第一步是找直径,用两次bfs(或者dfs,Linux下系统栈挺大的..)解决.找出其中一条直径就可以了,虽然蒟蒻不会证明但是看起来似乎挺有道理的 要看证明的话可以看这个题解:http://trinklee.blog.163.com/blog/static/238158060201411175015709/ 直径上的路径

noip2007 树网的核

P1099 树网的核 112通过 221提交 题目提供者该用户不存在 标签动态规划树形结构2007NOIp提高组 难度提高+/省选- 提交该题 讨论 题解 记录 题目描述 设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边到有正整数的权,我们称T为树网(treebetwork),其中V,E分别表示结点与边的集合,W表示各边长度的集合,并设T有n个结点. 路径:树网中任何两结点a,b都存在唯一的一条简单路径,用d(a, b)表示以a, b为端点的路径的长度,它是该路径上各边

树网的核(codevs 1167)题解

[问题描述] 设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边到有正整数的权,我们称T为树网(treebetwork),其中V,E分别表示结点与边的集合,W表示各边长度的集合,并设T有n个结点. 路径:树网中任何两结点a,b都存在唯一的一条简单路径,用d(a, b)表示以a, b为端点的路径的长度,它是该路径上各边长度之和.我们称d(a, b)为a, b两结点间的距离. D(v, P)=min{d(v, u), u为路径P上的结点}. 树网的直径:树网中最长的路径成为树

NOIP 2007树网的核

题目描述 设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边到有正整数的权,我们称T为树网(treebetwork),其中V,E分别表示结点与边的集合,W表示各边长度的集合,并设T有n个结点. 路径:树网中任何两结点a,b都存在唯一的一条简单路径,用d(a, b)表示以a, b为端点的路径的长度,它是该路径上各边长度之和.我们称d(a, b)为a, b两结点间的距离. D(v, P)=min{d(v, u), u为路径P上的结点}. 树网的直径:树网中最长的路径成为树网的