网页设计公司介绍网页,seo如何提高网站排名,搜索引擎优化的基本原理,科技网站推荐0. Abstract
由于 GPU 在加速计算方面的优势和对人类专家的依赖较少#xff0c;机器学习已成为解决布局和布线问题的新兴工具#xff0c;这是现代芯片设计流程中的两个关键步骤。它仍处于早期阶段#xff0c;存在一些基本问题#xff1a;可扩展性、奖励设计和端到端学习范…0. Abstract
由于 GPU 在加速计算方面的优势和对人类专家的依赖较少机器学习已成为解决布局和布线问题的新兴工具这是现代芯片设计流程中的两个关键步骤。它仍处于早期阶段存在一些基本问题可扩展性、奖励设计和端到端学习范式等。为了实现端到端放置学习我们首先提出了一种由 DeepPlace 命名的联合学习方法通过将强化学习与基于梯度的优化方案相结合用于宏和标准单元的放置。为了进一步将布局与随后的布线任务连接起来我们还开发了一种通过强化学习来同时完成宏布局和布线的联合学习方法称为 DeepPR。我们的强化学习范例中的一个关键设计涉及一个多视图嵌入模型用于编码输入宏的全局图级和局部节点级信息。此外设计了随机网络蒸馏来鼓励探索。在公共芯片设计基准上的实验表明经过几小时的训练我们的方法可以有效地从经验中学习并为标准单元放置后提供中间放置。 1. Introduction
2. Related Work 3. Methodology
3.1 Problem Formulation
首先针对宏布局问题其目标是确定宏在芯片画布上的位置并且没有重叠和使线路长度最小。我们的 RL 代理将这些宏依次映射到布局上的有效位置。
当所有的宏都被放置后我们要么固定它们的位置要么采用基于梯度的放置优化得到一个完整的布局方案并有相应的评估指标如线长和拥塞如图 2(a) 所示。或者我们采用经典布线器或另一种 RL 代理来布局线路并将确切的总长度作为布局和布线任务的奖励如图 2(b) 所示。 马尔可夫决策过程的关键要素定义如下
State s t s_t st 状态表示由两部分组成全局图 I I I 描绘了布局网表图 H H H 包含了已放置的所有宏的详细位置。注意布局问题类似于棋盘游戏两者都需要确定棋子的位置。因此我们将棋盘建模为二值图像 I I I其中 1 表示已被占用的位置。此外棋盘游戏的规则类似于网表图 H H H与全局图像互补。Action a t a_t at 动作空间包含时间 t t t 时 n × n n × n n×n 画布上的可用位置其中 n n n 表示网格的大小。一旦当前宏选择了一个备用位置 ( x , y ) (x, y) (x,y)我们设置 I x y 1 I_{xy}1 Ixy1 并从可用列表中删除该位置。Reward r t r_t rt 最后的奖励是最终解决方案的线长和布线拥塞的负加权和。权重是主布线目标长度与布线拥塞之间的权衡反映了路由任务的可达性。与其他深度强化学习放置器将之前所有动作的奖励设置为 0 不同我们采用随机网络蒸馏RND来计算每个时间步的内在奖励。
策略网络学习通过放置先前的芯片来最大化预期回报并通过近端策略优化PPO来提高放置质量。
3.2 The Structure of Policy Network
由于解决布局问题和玩棋盘游戏本质上都是以顺序的方式确定宏的位置因此我们将当前状态建模为大小为 n × n n × n n×n 的图像 I I I。当先前的宏放置在位置 ( x , y ) (x, y) (x,y) 时 I x y 1 I_{xy}1 Ixy1。此图像表示给出了部分布局的概述但丢失了一些详细信息。我们进一步从 CNN 中得到全局嵌入。此外作为关键输入信息的网表图隐含了奖励计算规则对动作预测具有详细的指导作用。在这种情况下我们开发了一个 GNN 架构该架构可以为当前考虑的宏生成详细的节点嵌入。图神经网络的作用是探索网表的物理意义并将节点的连通性信息提取成低维向量表示用于后续的计算。在获得 CNN 的全局嵌入和 GNN 的详细节点嵌入后我们将它们拼接融合并将结果传递给全连接层以生成动作的概率分布。我们认为多视图嵌入模型能够综合挖掘全局和节点级信息。策略网络的整体结构如图 3(a) 所示。
3.3 Reward Design 3.3.1 Extrinsic Reward Design
尽管芯片布局的确切目标是最小化功耗、性能和面积但它需要行业标准 EDA 工具花费数小时进行评估这对于需要数千个示例来学习的 RL 代理来说是无法承受的因此找到与真实奖励正相关的近似奖励函数是很自然的想法。我们定义了具有线长和拥塞的成本函数试图同时优化性能和可达性 R E − W i r e l e n g t h ( P , H ) − λ ⋅ C o n g e s t i o n ( P , H ) R_E-Wirelength(P,H)-\lambda\cdot Congestion(P,H) RE−Wirelength(P,H)−λ⋅Congestion(P,H) 其中 P P P 表示布局方案 H H H 表示网表 λ λ λ 是一个超参数根据给定芯片的设置对相对重要性进行加权。
Wirelength使用经典的 HPWL 算法Congestion我们采用矩形均匀线密度RUDY来近似布线拥塞。我们在实验中将线路拥塞的阈值设置为 0.1否则会导致拥塞检查失败。
3.3.2 Intrinsic Reward Design
由于在完整流程结束之前不能提供有用的奖励信号这使得布局成为一个稀疏奖励任务。情景奖励往往容易使算法在训练过程中陷入困境导致算法性能低下样本复杂度低下。受随机网络蒸馏RND思想的启发我们在每个时间步中给予内在奖励以鼓励探索如图 3(b) 所示。RND 中涉及两个网络一个固定的和随机初始化的目标网络和一个根据代理收集的全局图像训练的预测网络。给定当前观测值 o o o (也指全局图像)目标网络和预测网络生成嵌入 f ( o ) f(o) f(o) 和 f ^ ( o ; θ ) \hat f(o;θ) f^(o;θ)。则内在奖励为 R T ∣ ∣ f ^ ( o ; θ ) − f ( o ) ∣ ∣ 2 R_T||\hat f(o;\theta)-f(o)||^2 RT∣∣f^(o;θ)−f(o)∣∣2之后由 SGD 训练的预测器网络用以最小化一个 MSE该 MSE 将随机初始化的网络蒸馏为训练好的网络。这种蒸馏误差可以看作是预测不确定性的量化。当一个新的状态被期望与预测器所训练的不同时内在奖励也会变得更高以鼓励访问新的状态。
3.4 Combination with Gradient-based Placement Optimization
考虑到对宏布局的评估指标的影响数百万个标准单元的布局与宏的布局同样重要。为了确保训练时每次迭代的运行时间能够承受我们应用最先进的基于梯度的优化放置器 DREAMPlace 来安排奖励计算步骤中的标准单元。一方面宏作为固定实例的位置会影响基于梯度的优化放置的解质量这可以通过训练随着时间的推移而改善。另一方面更好的近似度量如长度可以更好地指导智能体的训练。因此RL agent 与基于梯度的优化放置器的组合将相互促进。此外最先进的工具 DREAMPlace 实现了分析放置中的关键内核例如深度学习工具包的长度和密度计算充分挖掘了 GPU 加速的潜力并把运行时间减少到了不到一分钟。
3.5 Joint Learning of Placement and Routing
可达性是布局过程中需要考虑的最关键因素之一因此拥塞是大多数方法中奖励函数的必要组成部分。然而拥塞作为隐式可达性模型是粗糙的并不总是准确的。同时HPWL 作为线长的代表也会对真实目标产生偏差。这促使我们共同学习布局和布线任务两者都试图在实践中最小化线长。我们可以在 DeepPR 中采用任何布线方法包括 RL 模型和经典布线器将从布局任务得到的网表分解为引脚到引脚的布线问题后确定方向。然后将总线长作为情景奖励分别用于优化布局和布线代理的两个任务。这种联合学习模式的优势是双重的。一方面布局方案为布线代理提供了丰富的训练数据而不是以往工作中使用的随机生成数据缺乏对真实领域数据分布的建模另一方面路径为分配代理提供了一个直接的优化目标从而减轻了对中间成本模型的需求减少了奖励信号的偏差。