查看: 651|回复: 0
收起左侧

深度解读:1100个RISC-V内核的AI芯片

[复制链接]

  离线 

  • TA的每日心情
    慵懒
    2021-7-23 17:16
  • 签到天数: 17 天

    [LV.4]

    发表于 2021-7-30 17:36:10 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 草帽王子 于 2021-7-30 11:50 编辑

    如果你去询问十位不同的工程师,他们将如何设计 AI 加速器,您将获得十种不同的方法来在现代前沿芯片上排列数十亿个晶体管。

    来到 Esperanto Technologies方面,因为公司创始人Dave Ditzel 等人在CPU设计上拥有丰富的经验,所以他们对机器学习芯片设计有独到的见解——如果一个定制 CPU 还不够,那么两种设计怎么样?凭借近 240 亿个晶体管的预算,Esperanto 设法在他们的第一个 AI 加速器 ET-SoC-1 上集成了1,100 个基于RISC-V设计的内核。

    ET-SoC-1是“Esperanto Technologies Supercomputer-on-Chip 1”的简称。这是一款面向超大规模数据中心市场,是初创公司Esperanto的人工智能加速器系列的第一款产品。ET-SoC-1 是一款推理加速器,而不是训练。虽然芯片的设计已经完成,但截至今年早些时候,我们还没看到任何他们的芯片。但早在2020年的时候,大家就对Esperanto有所讨论。毫无疑问,公司的开发计划显然已经推迟。因为如果新的时间表保持不变,那么芯片应该会在本季度回片,预计在 2022 年初投产。

    在其他 AI 初创公司已经生产芯片样品一年多之后,延迟两年是代价是相当昂贵的。尽管如此,Esperanto终于准备好在 8 月举行的 Hot Chips 33 会议上分享新芯片的技术细节。

    Esperanto Technologies 首席执行官 Art Swift 发布了一些关于该芯片性能的披露。Swift 表示,“我们希望能在推荐网络(recommendation networks)等关键工作负载上的性能提高多达 50 倍,图像分类(image classifications)的性能提高多达 30 倍。”

    这些声明指的是 ET-SoC-1 的全芯片仿真与“数据中心现有竞争对手”的测量推理基准测试的对比结果。“但可能更令人兴奋和更重要的是我们的芯片能够获得更好的功耗表现。与现有解决方案相比,我们预计每瓦特推断的能源效率将提高 100 倍,”他补充道。

    过于这些宽泛的性能陈述,我们必须持保留态度,但Esperanto说,我们可以期待在不久的将来看到已发布的表征硅结果。


    一、Tile Up

    Esperanto使用基于平铺架构(tiled architecture)的常规设计。该芯片使用该公司定制设计的 RISC-V 兼容 CPU 内核,它使用具有传统内存层次结构的标准 DDR4 内存,并利用了所有可用的 RISC-V 软件生态系统。换句话说,就所有实际目的而言,ET-SoC-1 作为标准 RISC-V 服务器 CPU 通过了Duck Test,尽管它有很多简单的内核,但在一般工作负载上却表现不佳。

    事实上,Esperanto认为,正是出于这个原因,他们的解决方案在很大程度上是面向未来的。该公司表示,它结合了大量 CPU,可以从数百个内核扩展到数千个内核。事实上,由于 ET-SoC-1 是为数据中心设计的,对于边缘推理等低功耗应用,我们可能会期待 ET-SoC-1 的相同缩减版本。什么时候Esperanto首先开始在极高的层次上谈论他们的设计,他们将芯片的内核数量推论为我们将在本文中讨论的 ET-SoC-1 的 4 倍。如果 Esperanto 的设计证明了自己,那么在这样的方向上扩展 ET-SoC-1 并不超出 Esperanto 的能力范围。


    二、定制核心

    Esperanto走的是RISC-V路线。他们设计了两个定制内核——ET-Minion 和 ET-Maxion。顾名思义,ET-Maxion 是典型的大内核设计,能够运行 Linux 等标准操作系统。同样,ET-Minion 是主力小型 CPU,具有用于处理矩阵乘法等操作的自定义张量扩展。在 ET-SoC-1 的上下文中,ET-Maxion 用作控制 CPU,而 ET-Minions 执行繁重的数据处理。

    (1)ET-Maxion

    正如我们之前提到的,ET-Maxion 是一种定制的高性能大核设计。基于台积电 7nm工艺设计并且频率超过 2 GHz。

    ET-Maxion 实际上是加州大学伯克利分校乱序机器 (UC Berkeley Out-of-Order Machine :BOOM) v2 CPU 的一个分支,但是已经进行了很多更改/改进以使其更具竞争力和商业产品所需的质量,以至于在这一点上几乎无法识别该谱系.

    事实上,开发 BOOM 的 Chris Celio 已经投奔Esperanto,从事 ET-Maxion 的研发工作(尽管自 2020 年以来,他以 CPU 架构师的身份加入英特尔)。与 BOOM 相比,ET-Maxion 触及了机器的方方面面。它更宽、更长、更大。整个前端重新设计,各种执行单元重新设计。

    它具有新的当代最先进的分支预测器(branch predictors)和预取器(prefetchers)。有新的底层(ground-up)缓存和支持 ECC 的 TLB。最后,Esperanto增加了商业级芯片调试和性能监控功能。在性能方面,据说 ET-Maxion 在 SPEC2006 的 ISO 频率上略微落后于 Cortex-A72,但领先于 Cortex-A57。在 SiFive 最近宣布P550之前,ET-Maxion 可能是 RISC-V 世界中可用的最高性能内核。最近,SiFive 推出了 P550 内核,据称该内核在 2006 年的 SPECInt 得分为 8.65/GHz,在 IPC 中的表现明显优于 ET-Maxion(和 A72)。

    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(1)

    ET-Maxion 是一个具有 10 级流水线的无序 CPU 内核。内核是一个四宽机器——每个周期能够获取 16B,解码它们,并以每个周期 4 条指令的速率将它们分派到后端。从具有奇偶校验(parity )和 ECC 支持的 32 KiB 分块指令缓存中获取指令。Esperanto说,他们相当多的工作都投入到一个新的最先进的条件预测器和一个由 2K 条目压缩 BTB 支持的基于路径的间接预测器上。

    分支预测器包括两级预测器。一个快速的、基于单周期 BTB 的预测器执行初始猜测,该猜测得到第二级、较慢的多周期、高精度分支预测器的支持,后者可能会覆盖它。
    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(2)

    每个周期,最多可以向调度程序发送四个指令。ET-Maxion 使用分布式调度器(distributed scheduler )设计,总容量为 64 个条目。其中LSU 有一个调度程序,FPU 有一个调度程序,复杂 ALU 有一个调度程序,简单 ALU 有一个调度程序。请注意,有两个简单的 ALU,复杂的 ALU 单元也能够处理分支操作。

    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(3)

    执行单元由一个 64-entry 的浮点物理寄存器文件(physical register file)和一个 128-entry的整数物理寄存器文件提供。在执行单元方面,机器有五个宽,两个简单的整数单元位于单个调度程序上。每个周期最多可以安排 5 条指令执行。浮点单元为 64b 宽,完全支持 RISC-V 32 位 (F) 和 64 位 (D) 浮点扩展。

    总体而言,内核的上限是其128-entry的重新排序缓冲区,与机器的前端一样,每个周期最多可以退出 4 条指令。

    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(4)

    Esperanto最初考虑使用自定义 ISA,但由于其简单性,他们最终选择了 RISC-V。该公司解释说,简单的架构使他们能够将更多的精力集中在性能特性上,而不是解决其他 ISA 的极端问题。

    ET-Maxion 的平面图如下所示。请注意,这是没有显示 L2 的核心。从die plot可以看出,相当大的面积用在了缓存阵列(几乎占面积的1/3)和分支预测单元上。核心的顶部是硬件预取器 (HPF)(仅限 L1),与其他组件相比,它非常大。选择使用更积极(更慢但更准确)的预取器使他们能够将其放置在关键路径的顶部和外部,从而简化接线。

    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(5)

    (2)ET-Minion

    ET-Minion 是来自Esperanto的第二个定制 CPU 内核。这个内核和上一个有很大的不同,更有趣一点。ET-Minion 也是 64 位 RISC-V 处理器,但这是一台有序机器。

    由于这是一个面向吞吐量(throughput-oriented)的核心,它也是多线程的,具有两个可以在停顿时交替的线程。ET-Minion 采用流水线标量设计——每个周期获取、解码和发出一条指令。(请注意,下图可能缺少一些细节,因为Esperanto主要讨论了核心的矢量功能)。

    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(6)

    针对推理加速,Esperanto的秘密武器是ET-Minion的执行引擎。ET-Minion 的后端是向量密集型的,并且只有一个执行单元来执行 RISC-V 架构所需的所有必要 (64b) 操作。核心的大部分包括两个向量流水线(vector pipelines)。有一个 256b 的浮点向量单元和一个 512b 的整数向量单元。伴随这些向量单元的是两个寄存器文件——一个 32-entry的 256b FP 寄存器文件(register file)和一个 32-entry的 256b 整数寄存器文件。请注意,这些寄存器文件对于每个线程都是重复的(即,总共 64 个条目)。

    FP 矢量单元细分为 8×32 位 FMA,能够执行高达 16 SP FLOPs/cycle 或 32 HF FLOPs/cycle。整数向量单元的宽度为 512b,是 FP 向量单元的两倍。该单元细分为 16×32 位 TIMA,能够执行多达 128 个 INT8 OP/周期。虽然可以从 FP 向量寄存器文件中输入 FP 向量单元,但两倍宽的整数向量单元需要从 FP 向量寄存器文件中获取一半的向量 (256b),另一半从其自己的私有整数中获取组合的 512 宽向量的寄存器文件 (256b)。

    Esperanto 在 ET-Minion 中加入了大量的浮点运算能力,这与其他当代加速器形成了鲜明的对比。通常我们看到的加速器只提供 INT8 操作。虽然您可以从 8 位量化中获得相当高的保真度,但Esperanto对于需要 FP16(或 32)的工作负载确实具有优势。
    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(7)

    除了向量单元之外,ET-Minion 还包含一个向量超越单元(vector transcendental unit ),可以执行如各种三角函数、指数和对数等超越函数(transcendental functions),以加速诸如激活函数(activation functions)之类的事情。trans 单元是基于 ROM 的,有利于降低芯片的功耗。

    这里的向量单位还有许多其他细微差别。除了标准的 RISC-V 指令外,Esperanto还实现了自己的指令扩展。他们添加了多周期张量指令和伴随的向量超越指令(ector transcendental instructions)。

    这一举措会让我们的一些读者感到有些不安,尤其是因为Esperanto已经如此多地谈论了 RISC-V 的好处。但现实是,RISC-V 和所有其他 ISA 一样,没有任何加速 AI 的具体说明,此类扩展是邪恶的。事实上,RISC-V 基金会预见到了这一点,并将自定义扩展直接融入到规范中,这就是为什么 Espernato 可以以标准方式做到这一点。目前尚不清楚Esperanto是否会公开披露其扩展指令,或者他们是否计划将其保留为专有,因为这与他们声称的面向未来的说法背道而驰。

    多周期张量指令允许内核读取单个指令,并且通过使用张量定序器( sequencers)状态机,它可以重放一系列超过 100s 甚至 1000s 周期的操作。与大多数定序器一样,ET-Minion 时钟对整个前端以及在发布和执行张量操作时未使用的每个其他单元进行门控。这允许内核进一步降低功耗。

    顺便说一下,ET-Minion的物理设计本身就非常独特。流水线的每级门数设计为低(low gate count),以提高低电压下的频率。Esperanto更进一步,设计了自己的定制 SRAM,而不是使用台积电的标准 SRAM 产品。这些cell虽然体积较大,但可以在相当低的电压下稳定运行——远低于标称值。

    “当我谈论低电压操作时,我的真正意思是在远低于标称电压的情况下操作。因此,如果标称电压为 0.75 V 左右,我们的工作电压约为 400 mV,”Swift说。


    三、Minion  Neighborhood

    将八个 ET-Minions 组合在一起,您就会得到Esperanto所说的 Minion Neighborhood。在一个neighborhood内,每个内核竞争性地共享指令缓存。缓存容量为 32 KiB。每个周期,一个缓存行被发送到两个内核。换句话说,指令缓存在每个周期轮询一对内核,将 64B(16 条指令)发送到两个独立的内核。内核对线路进行缓冲,允许它们在指令缓存继续为其他内核供电时继续运行。
    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(8)

    然后将四个neighborhood组合成一个 Minion Shire,总共有 32 个核心。每个八核neighborhood通过交叉开关( crossbar)连接到四组 L2 内存。L2 包含四个 1 MiB SRAM 组,可通过软件配置为高速缓存或暂存器存储器。在暂存器配置下,整个内存是一个大地址空间,软件可以使用它以精确的方式组织数据,并以此方式访问数据。

    有趣的是,L2 缓存——默认情况下是每个 Minion Shire 私有的——也可以配置为可以跨越整个芯片的最后一级缓存。所有这些功能都以per-bank granularity提供。例如,一个 bank 可以保留为暂存器,而另一个 bank 用于 1 MiB/Shire LLC,另外两个 bank 可以配置为 2 MiB 的私有 L2 缓存。每个Shires都可以通过网状互连与其他Shires进行通信,每个Minion Shire都有一个mesh stop。
    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(9)

    由于 ET-Minion 的低压设计,neighborhoods和crossbar 都位于Shire内自己的低压电源平面上。Shire 的其余部分(例如,分组 SRAM 和网状互连组件)位于标准电压平面上。
    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(10)


    四、TiledArchitecture

    Tile设计很简单,每个 Minion Shire 都通过mesh stop连接到任何其他 Shire 和芯片上的任何其他组件。mesh stop在四个主要方向(cardinal directions)中的每一个方向上都包含两个单向链接(unidirectional links)。这些链接似乎每个都是 1,024b 宽。Esperanto在芯片上有许多附加组件,例如内存通道和 PCIe 接口,它们也通过它们自己的网状站点连接到整个网状互连中。


    五、ET-SoC-1

    所有这一切最终将我们引向Esperanto的第一款产品——ET-SoC-1。

    该芯片在 6×6 的网格中集成了 34 个 Minion Shires。网格上的两个附加 tiles用于控制处理器集群和 PCIe  tiles。34 个 Minion Shires 意味着芯片上有 1,088 个 ET-Minion 处理器以及 136 MiB 的可配置 L2 内存。实际上还有一个额外的独立 ET-Minion 充当服务处理器。

    最后,ET-SoC-1 将四核 ET-Maxion tile 与 4 MiB 的私有 L2 集成在一起,可用作自托管处理器(例如,运行 Linux)。虽然 ET-SoC-1 面向超大规模数据中心市场,这意味着它与更高性能的服务器处理器一起使用,但对于边缘应用程序,ET-Maxions 将在实现全面的高性能可操作性方面发挥更大的作用。

    该芯片通过低功耗 LPDDR4x 16x16b (256b) 接口供电。DRAM 控制器支持 32 GiB 的 DRAM,速度为 137 GB/s。

    总而言之,ET-SoC-1 具有 1,093 (1088+1+4) 个内核,并通过 x8 PCIe Gen4 与外界接口。据说该芯片的典型工作功率约为 20 瓦或低于 20 瓦,这使Esperanto能够符合 OCP M.2 加速器模块的规格。我们还期望提供更高功率的 PCIe 卡。

    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(11)

    从物理上讲,该芯片采用台积电的 N7 工艺技术制造。Esperanto没有透露芯片尺寸,但封装了 238 亿个晶体管,因此我们猜测该芯片的面积可能在 350 平方毫米以上。

    虽然它的频率可以达到 1.5 GHz,但名义上,芯片目标频率约为 1 GHz,用于其 20 W 功率目标。单个 ET-Minion 能够在 1 GHz 下达到 128 OPS (INT8)/周期或 128 GOPS。

    假设所有 1,088 个 ET-Minions 都在做最有用的工作。在 1 GHz 时,我们看到整个芯片的峰值理论计算为 139.3 TOPS (INT8)。在 1.5 GHz 时,增加到 208.9 TOPS。

    与许多其他加速器不同,ET-Minions 还支持完整的 32b 和 16b 浮点运算。因此,在 1 GHz 时,如果需要 FP16,ET-SoC-1 也能够进行近 35 teraFLOPS(半精度)的峰值计算。在 1.5 GHz 时,它会上升到 52。

    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(12)
    带有 6 个 ET-SoC-1 芯片的 OCP Glacier Point V2 卡

    由于该芯片适合 OCP M.2 加速器模块,Esperanto 建议它可以封装为 OCP Glacier Point V2 卡的六个 Esperanto Dual M.2 加速器模块(三个在顶部,三个在底部)。这些设计旨在直接插入 OCP Yosemite v2 多节点服务器平台。

    通过六个模块,每个 Glacier Point 卡将拥有 6,558 个 RISC-V 内核以及 192 GiB 的 LPDDR4x 内存和 822 GB/s 的 DRAM 带宽。在峰值理论性能下,该卡可以达到 835.6 TOPS (INT8) 或接近 210 teraFLOPS(半精度)。

    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(13)
    国外芯片技术交流-深度解读:1100个RISC-V内核的AI芯片risc-v单片机中文社区(14)

    一旦Esperanto的芯片回片,我们应该开始听到更详细的性能声明。正如我们之前提到的,Dave Ditzel 将在 8 月即将举行的 Hot Chips 33 会议上展示 ET-SoC-1,届时他们可能会披露更多技术细节和基准。







    上一篇:方寸微电子加入RISC-V产业联盟,坚定中国芯自主可控
    下一篇:华为3纳米麒麟芯片研发中,或采用第三方RISC-V架构CPU架构!
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-3-28 23:51 , Processed in 0.762063 second(s), 47 queries .

    快速回复 返回顶部 返回列表