A graph placement methodology
intro
problem
chip floorplanning, a challenging problem2 that has long defied automation
outcome
under 6 h VS months by human experts (baseline)
前置知识
-
芯片由多个模块组成,比如内存子系统、计算单元和控制逻辑系统。
-
这些模块可以通过电路组件的(netlist)来描述,其中包括宏和标准单元。
Netlist是一个描述电子系统中组件(如电阻、电容、晶体管等)以及它们之间连接关系的列表。
Netlist包含了电路的逻辑信息,但是不包括布局信息.我们的工作本质上就是把netlist转化为布局信息
TODO: netlist 在代码中是如何体现的?
-
芯片平面布局的目标是在遵循密度和布线拥塞的硬约束的情况下,优化功耗、时序、面积和导线长度等性能指标。
前人局限性
-
划分: 对局部的关注牺牲了全局解的质量.因此不适用于大规模
实质上就是分治算法
将整个电路网表划分成若干个较小的子块,对每个子块进行独立的优化处理,将优化后的子块重新组合,形成整体的电路优化结果。
-
退火:尽管能得到最优解,但是对于大型电路,收敛太慢
-
统计方法:Routing congestion(布线拥塞)和timing violations(时序违例)之所以不容易用可微分的方式进行优化.
布线拥塞指的是芯片特定区域对路由资源(例如金属轨道或通道)的需求很高,导致拥塞和潜在的性能问题。
因为这两个经常需要用到离散的决策,难以用可微的方式优化(比如线长)
人类是怎么做的
-
生成
-
打回上级
Chip floorplanning is a game
Chip floorplanning is analogous to a game with varying pieces (for example, netlist topologies,macro counts, macro sizes and aspect ratios), boards (varying canvas sizesand aspect ratios) and win conditions (relative importance of differentevaluation metrics or different density and routing congestion constraints).
更深层的意义
1 | In addition to the immediate impact on chip floorplanning, the ability |
第二节:Chip floorplanning as a learning problem
The underlying problem is a high-dimensional contextual banditsproblem
我们在开题报告中的论文里谈到这个优化问题实际上是一个多臂老虎机问题,而进一步地,Chip floorplanning是一个高维上下文多臂老虎机
- 上下文赌博机问题: 传统的赌博机问题是一个多臂老虎机问题,其中有多个拉杆(臂),每个拉杆都对应于一个潜在的奖励分布。在上下文赌博机问题中,每次选择拉杆不仅取决于拉杆的历史回报,还取决于当前的环境或上下文。这个上下文可以是一个向量,包含描述当前状态的多个特征。
- 高维度: 高维度表示有很多特征或维度。在上下文赌博机问题中,高维度上下文意味着上下文向量中包含了大量的特征,每个特征都可能影响到在某一时刻选择哪个拉杆。
高维上下文赌博机问题涉及在每个时间步骤选择拉杆时,需要考虑一个包含大量特征的上下文向量。
Markov decision process 是什么?它是不是常用来解决上下文(contextual)赌博机(bandits)问题
Markov Decision Process(MDP,马尔可夫决策过程)是一种数学框架,用于建模决策问题,特别是在涉及随机性和不确定性的情境中。MDP是强化学习的一部分,其核心思想是通过在不同状态下采取不同的动作来最大化期望累积奖励。
MDP 的基本要素包括:
-
状态(States): 描述系统可能处于的不同情况或状态。
-
动作(Actions): 描述在给定状态下可以采取的决策或动作。
-
转移概率(Transition Probabilities): 描述在执行某个动作后系统从一个状态转移到另一个状态的概率。
-
奖励函数(Reward Function): 描述在执行某个动作后系统获得的奖励。
MDP 是一种用于制定强化学习问题的框架,其中代理(agent)通过在不同状态下执行不同动作来学习如何最大化累积奖励。这种框架在许多领域都有应用,例如机器人控制、游戏策略、资源管理等。
关于上下文赌博机问题,MDP 可以与上下文结合,形成上下文MDP(Contextual MDP)来处理带有上下文信息的决策问题。在上下文MDP中,每个状态不仅包括环境的内在状态,还包括外部上下文信息。这种方法可以很自然地扩展到上下文赌博机问题,其中上下文信息被视为状态的一部分。
因此,MDP提供了一个通用的数学框架,可以用于建模并解决包括上下文赌博机在内的各种强化学习问题。
OUR MDP
-
状态(States): 包含有关部分布局的信息,包括电路图、节点和边的特征,当前待放置的节点以及电路图的元数据。
-
动作(Actions): 当前宏可以放置在网格单元(grid cells of the chip canvas canvas)上的所有可能位置。
-
**转移概率(Transition Probabilities):**在给定状态下执行某个动作后,所有可能的下一状态的概率分布
==TODO:==这个转移是确定的吗?
-
奖励函数(Reward Function): 奖励是代理导线长度、拥塞和密度的负权重和。每次迭代只关心最终结果的情况(因此中间状态的奖励函数简单置零)
具体实现
loss function
-
θ: RL agent
-
G: dataset of netlists of size K
-
g: one netlist in G
-
$R_{p.g}$: reward of placement p for netlist g
-
E: expected
-
πθ: policy distribution 具体而言,πθ描述了在每个可能的状态下,代理选择每个可能动作的概率。我们的强化学习过程实际上就是调整策略的过程.
Designing domain-adaptive policies
-
we first focused on learning rich representations of the state space.