中文 英语

基准的问题

是什么让一个好的基准和谁应该创造它?这是一个问题,行业对地址缓慢,但正在取得进展。

人气

长期以来一直用于比较产品的基准,但是是什么使得一个很好的基准以及谁应该信任他们的创作?对这些问题的答案比表面上可能出现的问题更困难,并且一些基准以惊人的方式使用。

每个人都喜欢一个简单的清晰的基准,但只有在选择标准同样简单时才可能。不幸的是,这很少是这种情况。基准通常有利于新人的根深蒂固的产品或现有的架构,仅仅因为它有更多机会优化该基准。考虑MIPS(每秒数百万指令)作为处理器性能的唯一仪表。没有说明标准的事实意味着它最多是任意的,很少有人选择基于单个度量的设备。

如今,每美元焦耳的定义应用程序的性能可能是更好的公制,但它缺乏简单性或普遍性。此外,系统的总处理能力由除处理器以外的许多件方式定义。记忆实际上可能是最大的贡献者 - 尤其是涉及机器学习系统时。编译器工具链也可以产生巨大的影响。

有些人更喜欢针对组件而不是系统的基准测试。“传统上,合成基准通过提供一个框架来衡量处理器性能,在这个框架中,每个人都可以使用一组公共代码来测试他们的系统,”for应用技术总监Rod Watt说手臂的汽车和物联网业务线。“虽然这些测试将提供处理器能力的指示,但它们绝不是运行现实生活工作负载的替代品。”

相同类型的问题涉及机器学习处理器。该公司首席执行官Geoff Tate表示:“基准可以帮助客户了解哪些加速解决方案可以在他们的美元和电力预算内为他们的神经网络模型提供最佳性能。Flex Logix。考虑到8核处理器的运行速度并不比单核处理器快8倍。它的运行速度取决于诸如缓存命中率、总线访问争用和共享内存访问争用的解决等问题,这些都是很难建模的。因此,根据客户计划执行的应用类型,需要有一系列不同的基准测试:基准测试需要与客户计划部署/开发的计算/操作符类型和映像/内存大小类似。”

处理器很难进行基准测试,因为有太多的变量。“综合基准往往专注于核心性能;有些实际上完全从缓存中运行,对系统的其他部分没有压力,”Arm的瓦特补充说。“当它必须处理诸如内存带宽、I/O延迟、功耗和热问题时,很难估计它在现实生活中会如何运行。这在ML和物联网,系统正在处理大型和变化的数据源。利用考虑到这一点的测试和测量方法是获得系统性能的可靠指示的关键。“

其他人也有类似的看法。“今天的SOC.正在成为软件工作量驱动的,”西门子EDA。“因此,计算机架构师不能孤立地看一组东西,你实际上必须看工作负载,这将成为功率和性能的基准,并驱动SoC架构。”

但它远不止于此。工具链是生态系统的重要组成部分,其中包括编译器。David Patterson,计算机科学教授加州大学伯克利分校,最近在嵌入式视觉峰会上给了主题演讲。他将GCC与LLVM进行比较,并在使用相同的编译器时将ARM核心与RISC-V核进行比较。他发现编制者对性能产生了更大的影响而不是ISA。“嵌入式基准测试的课程是必须具有性能的代码大小。到目前为止,嵌入式基准都没有包括代码大小以获得有意义的结果。我们还包括几何标准偏差,以及结果中的几何平均值。更成熟的架构有更成熟的编译器,帮助它们。但较新的架构将赶上。“

罗迪·厄克特(Roddy Urquhart)表示Codasip,提供了一个具体的例子。“考虑使用通用GCC编译器,使用不同的开关来编译CoreMark基准。图1显示了CoreMark/MHz和不同编译器设置的代码大小。最后一个例子是典型的供应商性能数据,许多开关用于CoreMark (CM = ' o3 -flto -fno-common -funroll-loops -finline-functions -falign-functions = 16 -falign-jumps = 8 -falign-loops = 8 -finline-limit = 1000 -fno-if-conversion2 -fselective-scheduling -fno-tree-dominator-opts -fno-reg-struct-return -fno-rename-registers param case-values-threshold = 8 -fno-crossjumping吗-freorder-blocks-and-partition -fno-tree-loop-if-convert -fno-tree-sink - fcse -sm - fcse -las -fno-strict-overflow’),”他解释道。在这个例子中,CoreMark/MHz分数随着交换机从左到右的变化而增长。然而,有趣的是,最复杂的开关集的代码大小比‘‑O3’增加了40%,而性能只提高了14%。”

图1所示。针对不同编译器优化的CoreMark性能。来源:Codasip。

图1所示。针对不同编译器优化的CoreMark性能。来源:Codasip。

虽然这对某些应用程序可能不重要,但它是嵌入式系统的中心问题。“人们正在为过时的东西设计硬件和软件,使用了错误的基准技术,”帕特森说。“这让我们中的一些人非常困扰,我们决定尝试修复它。我们创建了一个名为Embench的组织,试图更好地应用嵌入式计算。”

保持基准的更新也很重要。Flex Logix的Tate表示:“问题在于,像ResNet-50这样的普通基准测试可能不是一个好的指标。原因是ResNet-50是一个没有人真正打算使用的老基准。作为一个老基准,它的“原生图像大小”只有224×224像素,而客户的图像传感器生成的是百万像素的图像,百万像素的图像会给出更准确的结果。ResNet-50不强调推理芯片的内存子系统,因此与YOLOv3等强调内存子系统的基准测试相比,可能会给出误导的指示,YOLOv3使用更大的图像和更大的中间激活。”

这是一个挑战。“所有部件都很重要,因为它们是耦合的,”该公司首席工程师蒂姆•科格尔(Tim Kogel)表示Synopsys对此。“提出漂亮的硬件架构,却没有一个好的ML编译器来利用硬件中的所有特性,这是没有意义的。当谈到算法时,它包括数据的质量和网络本身的架构,它是数据科学家的领域。当从构建推理芯片的半导体或系统屋的角度来看时,它是关于映射这些算法并运行它们。工具链和硬件共同对结果的质量和度量标准的满足程度负责。另外,指标的组合对于不同的应用程序是不同的。ML可应用于许多领域,它们对性能、功率和精度都有不同的要求。很难想出一个适合所有人的方案。”

谁创造了基准?
起初,谁应该创建基准,谁有利益冲突似乎是显而易见的,但并不总是那么清楚。“无论是从用户的角度还是从供应商的角度,都无法创建一个目标的、通用的基准,”该公司产品管理部门主管于尔根•耶格(Juergen Jaeger)表示韵律。“双方有不同的目标。如果我是一个供应商,我想以我的产品看起来不错的方式影响基准,并且比赛的产品看起来很糟糕。如果我是一个用户,那么我正在寻找一个基准,让我决定哪个产品最适合我最终用户的需求。“

这似乎意味着用户应该把基准放在一起。“别那么快,”耶格警告说。“用户希望将反映他们的用例和对他们重要的事情的基准放在一起。对于一些用户来说,性能是最重要的。对其他人来说,这是关于它是否易于使用。有些人只关心价格。基准测试的正确标准是什么?您如何按照优先级对它们进行排序?作为一个供应商,我们看到了更广泛的设计风格、语言覆盖率、客户如何将代码组合在一起等等。这可能会对结果产生很大影响,基准不应该偏向于特定的设计风格或电路拓扑。”

厂商也经常利用基准来帮助自己提高。Arm的AI/ML产品经理迪伦•兹卡(Dylan Zika)表示:“公司通常会在内部标杆和行业标杆之间寻找平衡。”“内部努力专注于改善处理器IP以满足特定客户的需求,而行业标杆努力改善处理器IP以满足行业的广泛需求。为了以成本效益的方式实现这种平衡,我们需要全行业的支持来创建基准、数据集和最佳实践,以增强整个行业的能力。协作可以极大地提高业务性能,但成功的协作很少是突然出现的,也不应该被视为理所当然。”

基准的陷阱
一些基准对该行业产生了负面影响。在每个人都设计和优化那些基准之后,基准变得无用,产品可能已针对无关的东西进行优化。“该行业当然会尝试优化 - 每个人都会尝试优化他们的工具或产品的那个基准,”Cadence的Jaeger说。“到底,你会在一点时间后,当波形落下时,一切都同样好转。那你是什么用途的用户?他们都看起来也一样。他们都表现得相同。“

图形行业非常了解这个问题。“What you don’t want to see is what we have seen in graphics where a particular benchmark becomes dominant because everyone has heard of it and you find companies designing to get the best score on that benchmark,” says Andrew Grant, senior product director at想象力技术。“扭曲了他们所做的事情。您需要的是一篮子相关基准,随着时间的推移,该行业可以了解和与之合作,但这并不扭曲图片。我们不应该试图通过查看重要年前的后视镜优化的东西来推动AI前进。“

一些行业在创造基准方面比其他行业做得更好。耶格说:“良好的基准在个人电脑行业非常普遍。“所有系统都有Geekbench。在移动领域,有像AnTuTu这样的东西。在这些行业中,这是可行的。我们的客户也会使用这些公开的基准套件来确定EDA工具的性能。”

还有其他案例,基准在其预期的受众之外有用。在其Q4 2020时事通讯中,一支用于EEMBC的IoTmark-WiFi基准的更新团队提出了一个令人惊讶的发现。虽然标准专注于IOT设备的电池寿命,但基准在接入点(如路由器)之间的特定供应商特定变体。如果未设置某些配置选项,某些路由器导致最终设备比其他路由器消耗更多的功率。

有越来越多的组织正在接受创建关注于各种行业的基准套件的挑战。在最近的一篇博客中,Arm 's Zika谈到了MLCommons。MLCommons是一个全球性的工程非营利组织,它成功地采用了一种整体的方法来测量性能,创建数据集和最佳实践。基准小组能够与竞争实体达成公开和透明的共识,从而创造一个公平的竞争环境。它们得到了来自商业和研究团体的30多个创始成员的支持。他们的实践加强了可复制性,以确保可靠的结果,并与微基准测试工作相补充。MLCommons将保持标杆工作的可承受性,这样所有人都可以参与进来,共同促进市场增长和创新。”

保持这些基准和它们运行的环境是最新的,这一点很重要。考虑EDA工具向云计算的过渡。Jaeger说:“将数据输入和输出云端可以显著影响工具流程的效率。”“考虑由模拟器生成的波形文件的大小,或为功率分析创建的数据量。我们现在正试图给机器注入更多的智能。我们有额外的cpu,我们有时在机器中称之为边缘处理,这样我们就可以卸载东西。在过去,当我们探测数据时,我们会将原始数据传输给主机。现在,我们在机器内部进行数据压缩。这有助于通信,它节省了存储,它实际上也有助于主机工作站创建波形,因为现在波形是由更少的数据构建的。环境的变化会影响基准,反过来也会影响产品本身。”

结论
创建和维护一个基准套件需要一群不同的人。行业正在发现这些基准需要更加适应特定细分市场的需求,并反映出对他们来说重要的东西。除了在有限的情况下,普遍基准的概念不再有效。以系统为重点的基准正变得越来越重要,但同时也更加难以以客观的方式进行组合。



1评论

BillM 说:

啊是基准。看起来不得远远不比大众汽车如何优化他们的EPA测试(一种基准测试),以便在其柴油车上无效审查...优化其系统,以识别排放的标准EPA测试......

终端用户应该根据自己的需求始终有自己的基准……

发表评论


(注意:此名称将被公开显示)