读论文9——On Joint Learning for Solving Placement and Routing in Chip Design

abstract

在现在的芯片设计流程中,布局和布线是两个很关键的步骤。而机器学习的引入,在GPU加速和减少对人类专家的依赖方面,有很大的优势。当然,现在还有一些基础的问题亟待解决:可扩展性、奖励设计、端到端学习范式。为了实现端到端的布局学习,作者将强化学习和基于梯度的优化方案结合,提出了基于联合学习的宏和标准单元格布局的方法。为了连接布局和随后的布线工作,作者还提出了一种通过强化学习的联合学习方法。该方法包括一个重要的设计:多视图嵌入模型。用它来为全局图级和局部图级信息编码。为了鼓励探索,还设计了随机网络蒸馏。结果表示该方法设计有效。

问题:什么叫宏和标准单元格?macro and standard cells
多视图嵌入模型? multi-view embedding model
随机网络蒸馏? random network distillation

Introduction

好的布局应该是可以引导好的芯片面积使用,性能表现和好的可布线性。在布局完成后,布线就是指定导线去连接各个组件。其实,在布局完成之后,我们就能粗略地估计线的总长和拥塞。布局的目的就是在不破坏布局密度、路由拥塞这些约束的前提下,去最小化PPA指标(功率,性能,面积)。布线的目的是最小化总线长。
作者为布局问题提供了一种管道:将一张网表表示为一个超图H=(V,E).这里V表示一系列的节点(元器件),E表示一系列的边(也就是网线)。布局任务分为两个步骤:先放宏,后放置大量的元器件。
在论文中,作者首先为布局问题的两个步骤提出了一种端到端学习方法DeepPlace:先使用深度强化学习代理放置宏,然后利用基于梯度的优化策略来放置数百万的标准元器件。另外,作者开发了一种联合学习方法DeepPR,这是为了布局和随后的布线任务。论文的主要贡献是:

  1. 针对基于学习的布局,提出了DeepPlace,这样通过强化学习去放置宏,通过神经网络形成的梯度优化策略去放置元器件。
  2. 提出来DeepPR,联合地通过强化学习解决了布局和布线问题。
  3. 为了使得强化学习在管道中更有效率,设计了一种新的策略网络(同时使用了CNN和GNN——图神经网络),这提供了两种视角。希望能够综合利用全局嵌入式信息和节点层次的嵌入式信息。随后作者使用了随机网络蒸馏来鼓励强化学习去探索。
  4. 针对联合学习的布局布线做了实验评估,确实比分开式要好。

问题:
(1)网表? netlist
一个网表大概长这样:
网表

(2)什么是路由拥塞?(routing congestion)
(3)什么是管道?(pipeline)是指上面的那种对网表的表示方法吗?

Related work

经典的布局方法

经典布局方法一般是分为三大类:基于划分的方法、随机/爬山法、分析解决法。
基于分析法以前是应用了分而治之的方法:网表和芯片的布局是分开的。直到后来,子表能够被优化器给解决了——这是一种分层结构。但是由于每个子问题都是独立解决的,所以解决方案的质量受到影响。后来,一些多层的划分方法被提出了。值得一看
至于随机和爬山的方法,是从模拟退火算法中来的。在实践中,SA利用一个随机扰动来优化布局方法。这也是模拟退火算法的一个核心思想——随机的扰动有助于全局搜索最优而不至于陷入局部最优。但是,SA很耗时,难以解决不断增长的电路规模(时间复杂度简直是指数级别增长)。
分析解决法,使用了指定的方法或者非线性优化器。非线性优化更能光滑地靠近损失函数,但是复杂度很高。现代的分析法布局比如ePlaceRePlAce有着很好的效果。值得一看
以上所有方法都没有在GPU上尝试过,而在CPU上训练又很慢。其实,分析布局问题是类似于神经网络的训练的。基于这样的思想,DREAMPlace出现了,它使用了Pytorch进行深度学习,速度大大加快。

问题:
为什么分析布局问题类似于训练神经网络(analytical placement problem)?
因为它们都包括优化参数、最小化一个代价函数

基于学习的布局方法

基于学习的布局方法(尤其是强化学习)出现了,可以获得更强的泛化能力。谷歌提出了第一个端到端学习方法来进行宏的布局(没有说元器件布局),该方法将芯片布局问题建模成了一个连续决策问题。每一步,强化学习代理放置一个宏,然后得到一个奖励值,进行下一步。他们在RL和SA之间提出了一个循环框架,RL用来调节元器件的相对空间顺序,SA在RL初始化的基础上进一步探索解决空间。

问题:
谷歌怎么将芯片布局问题建模成连续决策问题的?

经典的/基于学习的布线方法

全局布线是根据将多管脚连接问题拆分成双管脚连接问题而发展出来的。在那之后,每一个管脚到管脚的布线问题可以被经典的启发式布线方法解决。这里有rip-up,reroute,force-directed routing, region-wise routing。最近,ML和RL都被广泛应

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值