最高级的是定制芯片ASIC——比如谷歌TPU
发布时间:2018-02-10 09:36

  众所周知,对于某些特定的应用程序(如人工智能),换不同硬件平台后性能会有显著进展。进展取决于应用程序可以使用专门的硬件加速而不是软件运行的多少,因为硬件可以比在不太专业的平台上运行的软件更快,消耗的能量也更少。

  如下图,排在性能底端是通用cpu,应用程序完全在软件中,然后是GPU、FPGA、DSP,最高级的是定制芯片ASIC——比如谷歌TPU。

  那么为什么不把每一个类似的解决方案都构建为ASIC呢?有两个原因,首先,底层算法可能正在快速变化(就像人工智能),其次,设计ASIC可能需要花费大量时间,这就很难保证和快速变化的需求保持同步。你必须努力寻找比AI应用(竞争对手:Facebook, 苹果, 亚马逊,谷歌,百度,阿里巴巴,腾讯,ADAS/自动驾驶供应商)和数据中心(竞争对手:亚马逊, 微软,谷歌等)更具竞争力的市场。他们都在快速发展的赢家通吃的市场中工作。在这些领域,时间不仅仅是金钱,还意味着生存。

  这就是为什么eSilicon将平台方法引入目标应用的原因。这些ASIC平台增加了针对AI应用和数据中心网络需求的库和基础设施。每一项都建立在7nm技术上,并作为一个整体优化进行PPA优化,以满足这些领域的具体需求。

  56G和112G的SerDes采用了56G的长范围和短范围架构,以非常高的数据速率支持许多通道,同时可以实现最低的功耗

  PHY连接到包中的高带宽内存(HBM2)堆栈。值得注意的是,eSilicon在芯片和封装级别的3D和2.5D系统构建方面拥有丰富的经验,包括在模具和封装级别。因此,系统包的解决方案变得非常简单。

  专为pseudo-2端口、pseudo-4端口等特定于应用程序的内存提供内存/内存编译器,用更少的功耗和面积提供高带宽,还有一系列I/O缓冲区。

  人工智能平台(又被称为neuASIC)有点复杂。这里的目标是首先提供您在标准SoC (CPU、本地SRAM、NoC互连、到外部内存I/O缓冲区的接口)中期望的所有IP组件,这里称为ASIC底座。神经网络(NN)部分的设计是在底座上方的堆叠层上实现的,与3D互连连接到AI层。同样,这利用了eSilicon在3D封装中的经验。

  如果您只是直接把您的人工智能架构变成硬件,它将具有很好的PPA(Performance,Power,Area),但一旦竞争对手跳过您,您可能需要替换它(构建一个新的ASIC)。neuASIC结构经过优化,可以减少对算法更改的重新设计需求。首先,底座硬件应该对NN算法的更改不敏感。接下来,人工智能层被分成块。这种宏单元划分要求即使NN算法改变,也要报纸底层硬件的耐久性,这要归功于NN设计的自然模块化风格。每个块都是围绕常用的宏AI函数构建的,比如卷积或池函数,有些是由eSilicon预先设计的,有些可能是第三方的,有些可能是由ASIC客户设计的。

  截至今年5月,neuASIC提供了一个包含MAC块、卷积引擎和内存转置函数的库,作为预先构建的宏函数(它们将继续工作),从而加速了常见NN结构的组装。因为内存和操作必须在NN中紧密地耦合以降低总功率,他们也为神经元提供pseudo-4-port记忆支持(2神经元数据输入,1重量输入,一个神经元输出)和一个专门记忆为weight-all-zero-power-saving(WAZPS)将零输出较低的权力,如果权重为零,则在较低功率下降输出归零,这在具有稀疏权重矩阵的NN中很常见。

  设计是通过一个他们称为底座构建器的建模系统来支持的,通过这个系统可以对NN的功能操作建模,同时还可以提取PPA估计值来指导优化设计到您的目标。

  对于这两个平台,目标都是提供一个快速的解决方案路径,同时满足您的PPA目标。这样做需要的不仅仅是一个标准的ASIC平台。你需要能够使用预定义的I/O环,互连和高带宽内存访问,您必须拥有的IP /宏原语,这些IP应该一起优化应用程序,您必须能够配置和描述你对PPA计划型设计目标。这些平台看起来是一个良好的开端,也是在加速这些领域高性能、低功耗ASIC设计的长期前景。