使用更多的验证核

专家在餐桌上,第3部分:软件行业一直处理并行化。我们可以向他们学习,我们可以教他们什么呢?

受欢迎程度

半导体工程坐下来讨论并行化的努力在EDA和安德里亚·Casotto Altair首席科学家;产品管理组主管亚当•谢尔系统&验证群节奏;哈里·福斯特的首席科学家导师西门子的业务;弗拉季斯拉夫•Palfy,全球应用工程经理OneSpin;首席Oski Vigyan Singhal Oski技术;和比尔马伦,高级研发主管有限元分析软件。以下是摘录的谈话。第一部分,点击在这里。第二部分是在这里

SE:并行化成为重要的好处处理器比例开始下降。软件行业很长时间才学会如何成功地利用多核。EDA是如何做比较而言?

Casotto:这些都是激动人心的时刻,我们开始谈论如何软件人现在必须完成他们的工作,因为它不再是硬件人推动创新。但这并没有发生,因为它是困难的。从大学也有责任,他们也许不会实现。我们应该期待任何家伙走出大学能够并行编程。但我的经验是,并行编程是很困难的。我们最近的经历,一个人做第一次认为答案是把锁无处不在。这是相反的并行运行。你必须摆脱所有的锁和构成解决方案的方式,每一块可以运行没有任何锁。这部分是教育,但我们发现人才是罕见的。

福斯特:这不是一个简单的问题。回来的时候,我们正在编译器可以并行化代码。研究一直在进行,但这是一个棘手的问题。

马伦:最严重的问题之一是,当出现问题时,如何调试它?

Singhal:你需要能够繁殖。

马伦:对,但并非所有的项目都是确定的。他们可以依赖于所使用的处理器数量。

Singhal:随着EDA工具开发人员,当问题发生在这个领域,你不能复制…

福斯特:你也有问题面料干扰决定论。

马伦:那我们必须处理客户网络和IT部门可能非常次优。他们可能非常快的处理器和一个糟糕的网络,或者他们都试图tb的数据写入一个文件系统是窒息。它不是一个平衡的系统,这可以使它具有挑战性。

谢尔:一个共同的请求,我们得到的是回归环境审计。当他们说他们意味着一切,包括基础设施和他们如何平衡工作负载。

马伦:它是高度可变的。在tapeout周期比在其他时候他们正在运行不同的工作负载。它是不断变化的。

谢尔:最近我们有一个情况,一个客户可以运行一个特定的回归。如果他开始在周五将在周六完成。如果他开始周一将在周五完成。我认为在大学有责任做更好的培训。大多数工作都要单独计算环境和线性应用程序。与诸如FPGA将帮助学习,因为它迫使你对事情进行解耦得到速度。

福斯特:在同一时间,并发性是人类固有的困难原因。

Singhal:没有代替思考,如果你能划分问题和分解更好。一旦你这样做的次数足够多学习,但是你必须首先思考它,能够分解问题,抽象的问题。

马伦:另一个挑战是,我们必须利用它的环境不是EDA调谐。过去,你可以得到一个大机器的内存,这是对执行单一可执行文件。但现在是商品x86盒与非常低的记忆,和我们的一些问题处理需要一个tb的内存。

Singhal:我们应该回到销售机器设计的EDA工具吗?这意味着许可没有被有效利用。

SE:我们困在旧的思维方式吗?有事情我们可以向其他行业学习吗?

马伦:我们已经运行20000核。我们想要更多的做什么?HSPICE确实不是更快,但事实上,我们运行7000 HSPICE的实例是惊人的。

谢尔:基于arm的服务器今天确实有更高的核心数量和我们显示可伸缩性。高通机48芯。HiSilicon 32-cores,我们展示了可伸缩性。是的,有减弱,因为潜在的设计,但是我们展示可伸缩性。

Casotto:在应用程序级别或工作负载水平?

谢尔:这是单一应用程序,单一运行。

Casotto所以一个多线程应用程序。

谢尔:是的。这是一个技术进步。在7到10 x通用语句很难做。总是会有设计没有得到。我不想设置期望。有环境压力,但我们必须从分组设计转向更多的神经网络本质上是平行的。

Palfy:平心而论,我认为EDA正在调查其他行业ideas-machine学习和大数据分析和新的启发式。比以往任何时候都更我们正在寻找其他行业如何应对这些问题。

马伦:你必须开放的新思想。我们使用弹性计算。我们可以使用更多的更可用,我们可以得到更好的动态并行性。

谢尔:我同意,我们不能折扣需要并行性当你签收。如果这是你的第二个或第三个撞到墙上,你将消耗所有的计算能力,世界必须在一天内完成。并行性帮助,即使是部分的改进。SystemVerilog的一个挑战是,它并不能保证随机稳定在设计时的变化。所以我可以运行10000个测试,都是令人高兴的是,有人让一个小变化在RTL然后迫害开始为什么不早发现。状态空间的问题是如此之多,甚至从10000测试30000测试不会保证你会找到它。

SE:看看其他行业,有很多的大数据应用EDA出现类似问题。如果我们可以并行化数据,然后我们可以更加有效。考虑调试。我们有巨大的数据文件来完成,组织连续,这使得很难把它当作一个大数据的问题。

Casotto:你认为是可以调试的程序,而不是有一个工程师看芯片应该做什么?

马伦:您可以启用它。我们有一个数据模型,我们可以从FSDB引入数据,从布局、电源完整性——从许多不同的来源。,用户可以编写MapReduce函数,利用价值上千万或成千上万的核心和遍历数据,看看时间和布局之间的相互作用。它是非常强大的和可扩展的。一些用户害怕写在Python中,所以我们有一种方法来帮助他们。但它就在那里。

福斯特从系统的角度:这肯定是非常有用的。我们缺乏了解是怎么回事。我们所做的,使用数据挖掘技术,是创建低开销探测器,我们可以把织物,然后他们开始挖掘数据。你可以看到东西你永远无法看到使用传统方法,特别是在性能、领域的一致性——他们只是流行,你可以想象它。这是新出现的,我们正在学习从其他域和应用这些技术来验证。

Casotto:这是数据可视化。

福斯特:它不仅仅是可视化。这是数据挖掘。

谢尔:是的,它不仅仅是可视化。看待事物如一致性和性能——性能分析需要成千上万的模拟得到充分的数据点,但你仍然要聚合数据提出一个数字或一个评估。但是我们将会做的更多的数据可用。是的,我们确实需要产生更多。我们不接近河湾的状态空间设计。

Palfy:你可以抽象出来如果你有预测算法,帮助你选择正确的验证,正确的引擎问题。

马伦:一旦你可以把机器学习的数据之上。

谢尔我看到更多的数据,需要更多的存储空间,更多的压实、访问。

SE: EDA行业中,我们已经开发出用于高度并行的硬件调试器。我们创造了很多行业内的知识如何处理,如何处理可预测性,稳定性、重复性——如何处理各种问题。我们可以教其他的行业吗?

Casotto:这是我现在的地方。我认为这是我工作的一部分。我需要我所知道的在该领域应用到汽车设计和在我看来如果我回头。他们有花哨的并行性,但从方法论的角度来讲,他们仍然在矩形的推动阶段。我们应该能够带来更多的自动化到其他领域。

Palfy:我们进入汽车却发现客户做故障传播。这是为他们工作到一定程度。但现在他们需要更快,ISO标准迫使他们改变。我们是大人物因为我们有知识,因为我们建造的,在其他领域,现在我们可以把它应用到完全不同的东西。

Casotto:并行和流水线。

Singhal:为我们工作的原则,特别是在正式的验证,抽象、分解问题,形式验证开始在软件和硬件和它工作得很好。但是现在,有人在汽车安全提到崩溃。有很多应用程序,人们回到思考问题和自顶向下的方法,你看看系统级问题,将其分解,构建一个子系统,分解。这正是我们一直在做的实践验证。

马伦:自底向上的建模。



1评论

以斯帖的索里亚 说:

除了功能安全标准ISO标准是什么驱动的变化验证

留下一个回复


(注意:这个名字会显示公开)

Baidu