中文 英语

跟上生产力挑战

迁移到多核架构的迁移影响了EDA行业,这告诉我们行业其余部分处理过渡的方式是什么?

受欢迎程度

直到最近,EDA软件还在不断提高处理器性能,为设计下一代更快处理器的人员提供更快、更强大的开发软件。这是一枚偶然的戒指。在世纪之交,随着向多核计算系统的迁移,所有这些都改变了。为了提高性能,必须有效地使用多核体系结构,这就需要重新设计软件体系结构。EDA行业如何应对这种变化,这种变化与整个软件行业正在应对的变化类似?德赢娱乐网站【官方平台】半导体工程公司向该行业索要了成绩单。

有三种主要方式可以应用多核。首先是改变用于支持底层硬件架构的算法。第二是更改软件正在运行的硬件。第三是要将问题改变为可以更容易解决的问题。EDA正在尝试所有三个解决方案,有趣的是,它们都被用来帮助解决验证问题。

改变算法
, 一种节奏伙计,以积极的方式开始讨论。“令人高兴的是,EDA世界有相当一部分本质上是平行的。”许多这样的应用程序很早就迁移到多核体系结构,而且多核的使用经常被忽视。

最大的限制通常不是算法本身,而是内存系统。“在EDA工具中采用了并行性的步伐减少了一件事是记忆瓶颈,”首席技术官Pranav Ashar说真正的意图。“细粒度多线程快速触发延迟瓶颈,对于典型的SOC.基准这些限制是很快达到的。”

然而,Ashar鼓励持续发展。“即使已知当前多核架构的局限性,EDA公司也必须推进软件的并行化。在32核处理器上实现8倍的加速比不加速要好。”

Michael Sanie,认证营销高级总监Synopsys对此,讨论了与加速a模拟器。“我们可以划分设计并让每个核心模拟分区。这项技术已经存在了一段时间。结果是设计依赖性的。如果每个核心独立运行,您将获得非常好的加速。如果有很多相互依赖性,则会很少加速。“

更多核心肯定有帮助。“打破不同的测试用例并在不同的CPU上运行每个测试用例更容易,”Cadence的Rowen说。“这是一个更容易的,理论上我们应该能够在数百万CPU上分发一流的请求。这有一些实际限制,并非最不限的是,我们的客户在互联网搜索方面提供更多关于数据安全的信息。“

营销副总裁David KelfOneSpin解决方案看到模拟作为一个绝望的问题。“它需要一个非常大量的测试向量来简单地将SoC进入正确的状态,这是一种快速变得不切实际的方法。自动化形式验证解决方案现在正在更换动态仿真测试,利用状态空间探索,允许要求致通讯结构和IP上的问题。“

返回2013年5月,Onespin查看了解决安全问题的方法,并利用了正式验证的一些独特方面。正式将问题分成多个小块,其中每个小块可以单独地工作,并且结果将显示器一起用于显示给用户。也很少见,正式的问题会随时齐全的设计。

这种方法挖掘出了一个需要解决的问题,并提取了设计的必要部分。然后它使用一个内部映射表来模糊设计。OneSpin的首席执行官说,不可能从单个碎片重建设计。此外,在代码片段被加密并发送到云上由正式的求解器处理之前,对设计进行了数学抽象。在云中,对抽象的、模糊的设计片段进行处理,当结果准备好时,它们在被发送回本地机器之前再次进行加密。

Sanie描述了另一种应用程序级多核的方法。“如果你正在运行模拟和检查断言,进行调试和管理覆盖范围,这些任务中的每一个都可以放在单独的核心上。在那一点上,他们相当独立,但是这一部作品,这通常是模拟,将占据主导地位 - 但所有其他人都基本上是免费的。模拟非常内存密集,当您将设计分成四个或更多内核时,内存访问变为瓶颈。这真的是为什么设计级别分区并不真正给你那么多。

改变硬件
几乎自从引入模拟技术以来,各公司就一直试图设计硬件来加快这一过程。一个早期的例子是IBM.Yorktown仿真发动机,专用,高度平行的可编程机器,用于1985年建立的门级仿真。据估计,它能够以超过30亿门仿真的速度模拟两百万个盖茨,或者IBM3081处理器以每秒370条指令的速度。这是从现在可以实现的水平哭泣。

今天,一种更常见的方法是利用fpga或类似的结构来构建可执行的等效电路。这就是我们所知道的模拟而且仿真器很快就占据了许多较大的仿真任务。但仿真器往往很大且昂贵。即使是在开发的早期阶段的设计方面跑步时,甚至更便宜的原型平台也有一些问题。当设计没有稳定时,模拟往往是更好的方法。

人们想要的是一种使用标准硬件可用的低成本方法,并且许多处理器现在包含一个解决方案。

“还有其他方法如使用GPU,”Sanie说。“这使得问题更多内存可扩展。每个GPU都有许多处理器,每个核心都可以在一个,两种或十个门上运行,或一行RTL。这可能更容易将设计分成10,000件,而不是将其分成四个。这是因为GPU与CPU和存储器处理不同的不同。“

avek Sarkar,副总裁Ansys-Apache对此表示赞同。“我们混合使用CPU和GPU架构来加速算法。对于机械和网格问题、计算流体动力学或电磁问题,我们可以从GPU的架构中获益。我们需要看看哪种架构对我们最有利。GPU通信结构不同,可以运行的线程数较高。以gpu为中心的方法的问题是内存。你可用的内存是有限的。”

这种方法还有另一个缺点,那就是让一般的软件用户很难使用GPU。Sarkar承认:“为了做到这一点,我们必须与GPU供应商紧密合作。“我们也有专门的小组,他们的任务是实现这一点。”

Synopsys看到了同样的问题,并注意到目前还没有标准化的工具链可用。

改变问题
如果不能充分改变模拟器的性能或不能利用其他可用的硬件,那么还有第三种方法。改变问题,这是一个可行的方法,被许多公司今天使用。

Synopsys虚拟样机产品营销总监约翰内斯•斯塔尔指出:“我们需要一个分而治之的方法。”“如果你试图通过将硬件组合在一起,在模拟器中执行它,并尝试探索不同的架构和应用软件来优化一个系统,你永远也做不到。那你就太晚了。所以在设计项目的早期阶段,你必须抽象并基于此做出决定。”

抽象是成功的关键虚拟原型,可以在设计RTL之前在开发周期的早期创建和部署。这是在仿真甚至成为一个可行的替代方案之前。虚拟原型可以在一小段时间内运行,并支持许多方面的系统架构探索、早期硬件验证、功率配置的设计和优化、低级软件和驱动程序开发,以及在当今复杂的soc中越来越必要的许多功能。

Jon McDonald,内部战略项目经理导师图形解释了虚拟原型的一些好处。“通过提供虚拟平台,系统设计人员可以根据系统的要求进行更明智的决策,软件开发人员可以优化系统的代码,为系统的约束,硬件开发人员可以对成功的实现要求充满信心系统。”

多核平台提供商可能比EDA公司面临更大的问题。Stahl指出:“软件堆栈,即使是来自开源的,也必须进行修改。”Real Intent的Ashar添加了影响所有多核软件的最后一个问题:“编写没有bug的多线程程序是一项挑战。修改现有的大型代码库,使之成为多线程友好型,是一项艰巨的再工程任务。”



3评论

艾达恐龙 说:

与其让行业自我评估,不如问问客户。

对不起,但要坦率地区的行业将球放在多核心处理器上。Pentium D和Athlon 64×2于2005年发布。它2014年。如果您的软件支持在> 1处理器上运行,请迅速举起手。现在如果它在2个CPU上的速度更快,请将其放下。Now for those of you with your hand still up and the air and are being honest… put your hand down if it isn’t near 4x faster on 4 cpus (because those 2005 machines were 2 cpu, dual core so 4 cpus)… and finally, put your hand down if you charge more for 4 cpus than 1 cpu.

那些你的手中的人,羞辱你。你是9年的落后。

现在,我刚去了戴尔的网站,花大约8500美元,我就可以买到一个有2个12核处理器,支持超线程的刀片。是的,这还不包括内存升级或刀片……但我也不要求批量折扣或类似的东西。这是一个合理的主流机器。

行业的目标应该是在24核的机器上提高20倍,如果启用超线程,可能会提高30倍。这应该是使用一个基础许可证。这就是我们今天的目标。如果这是你未来2-4年的目标,那就把规模扩大到英特尔或Arm那时的水平。

快...让我们用任何工具回复,甚至接近我刚才所说的。

乔·G 说:

我也是这么想的。为什么我们要为多核支持额外付费?这只是目前良好的编程实践,应该包含在基本软件包中。在过去6年左右的时间里,我使用过的每一台高端电脑都至少有4个物理内核。饶了我吧。

布莱恩•贝利 说:

我同意你的看法,谢谢你的评论。大多数时候,客户不被允许提供特定的信息,除非违反他们的保密协议。我希望,随着我们的成长,我们将有资源进行全面的行业调查。在那之前,我们只能让供应商进行自我评估。从我做业绩评估的时候我就知道,当你问别人时,他们往往会很诚实,我希望在公司层面也存在同样的事实。

留下一个回复


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