
OpenPARF 2.0[1]是目前学术界在Multi-die FPGA布局技术领域的最新研究成果,它是专为解决在复杂的Multi-die FPGA中最小化SLLs的数量而精心设计的先进布局算法框架。OpenPARF 2.0不仅在超长线(Super Long Lines, SLLs)最小化数量方面展现了卓越的性能,而且提供了高度定制化的架构配置选项,可快速验证和评估对不同Multi-die FPGA架构的支持。我们诚邀全球研究者和开发者使用OpenPARF,深入探索Multi-die FPGA布局设计所面临的独特挑战和潜在机遇!
OpenPARF是一个开源的高性能FPGA布局布线框架,以电路网表为输入,能高效快速地生成布局布线结果。OpenPARF实现了当前最先进的非线性FPGA布局算法,能够在路由拥塞约束、时钟路由约束、SLICEL-SLICEM异构性约束等多约束条件下获得出色的布局效果。同时OpenPARF实现了大规模两阶段FPGA布线算法,支持CLB级别的细粒度路由模型以及不等价逻辑引脚的灵活场景,能够有效地缓解复杂FPGA架构上的路由拥塞。总之,OpenPARF实现了当前最先进的FPGA布局布线算法,并且支持复杂工业级FPGA架构上的布局布线。
OpenPARF基于深度学习框架PyTorch实现,支持使用GPU进行大规模并行计算加速。与此同时,OpenPARF兼具C++的高效性和Python的灵活性,代码灵活易上手,可以很容易拓展到新的FPGA架构和布局布线算法上。
详细介绍见:https://zhuanlan.zhihu.com/p/641595079
2.OpenPARF 2.0新增了哪些特性?
OpenPARF 1.0专注于单Die架构FPGA的布局布线问题,而OpenPARF 2.0新增致力于解决Multi-die FPGA最小化跨Die SLL的数量而精心设计的先进布局算法框架。
在现如今的高性能计算系统中,尤其是人工智能和数据中心等前沿领域,Multi-die FPGA已经成为不可或缺的核心组成部分,示意如下图所示。其中,Xilinx将片内的Die称为“超逻辑区域(Super Logic Regions, SLR)”,SLR之间的互连线命名为SLL。相比SLR内部的常规互连线,SLL具有数十倍高的延迟,已经成为当前FPGA设计性能和时序收敛的最大挑战。OpenPARF 2.0框架能够有效地降低这种高端FPGA内互连多个SLR之间的SLLs的数量,提升设计性能。

在算法性能方面,与现有SOTA方法(ICCAD’2019)相比,OpenPARF 2.0展现了显著的优势:在SLL数量上实现了平均43.08%的降低,并在半周长线长(HPWL)方面实现了9.99%的优化,这些成就充分彰显了OpenPARF 2.0在高效解决复杂设计挑战上的卓越能力。值得一提的是,OpenPARF 2.0借助GPU并行加速技术,实现了高达34.34倍的运行时间提升。这一突破性的改进不仅优化了计算效率,也为设计人员提供了更快速的迭代能力。
OpenPARF 2.0是学术界首个针对Multi-die FPGA布局问题的开源框架。对照学术界标杆性的FPGA开源工程VTR,我们希望通过OpenPARF 2.0进一步突出OpenPARF先进的方法学,以及OpenPARF项目对Multi-Die架构支持的鲜明特色和工程应用价值!
此外,我们还开源了OpenPARF 2.0对应的Multi-Die FPGA 架构文件和Benchmark,我们希望,OpenPARF 2.0框架可以为全球相关领域的研究人员和开发者提供一个强大而灵活的Baseline,以便于大家在Multi-die FPGA布局设计的广阔天地中进行探索和创新,可以与大家共同推动这一领域的进步!
OpenPARF 2.0框架的核心算法流程如下图所示,包含三个关键阶段:全局布局、合法化和详细布局。在全局布局阶段,我们采用基于电场系统的非线性布局算法来处理Multi-die FPGA布局问题。这一阶段使用了先进的嵌套拉格朗日松弛方法,允许在满足多重约束条件下求解全局布局问题,并因此获得了卓越的布局效果。

为了更好地应对Multi-die FPGA架构的独特挑战,首先,我们在算法中将超长线SLL的数量引入了布局求解目标;其次,为了精确表示线长目标中的关键项,即SLL数量,我们在算法中引入了新的线长维度z,专门用于量化和建模SLL的数量。例如,下图展示了在2 SLR拓扑上的一个线网的SLL数量的计算过程。此外,为了解决SLL数量的离散性对算法收敛的影响,我们对其进行了光滑化的处理。进一步地,我们采用了自适应线长权重调整技术,以精确地调节HPWL和SLL数量的权重比例。这种策略的目的是在尽量不影响HPWL指标的同时,最大限度地减少SLL数量,实现这两个关键指标在布局优化过程中的有效权衡。

在合法化和详细布局阶段,我们采用了一种预计算布局单元或线网的移动对SLL数量潜在影响(增加或减少)的策略,并将计算结果有效地融入到优化目标中。这一策略的实施,不仅赋予了原有合法化和详细布局算法新的能力,即在优化SLL数量方面的高效性,也为算法整体带来了显著的灵活性,使得此策略可以轻松地应用于其他布局优化过程。
算法细节请参考文章[2]、[3]。
OpenPARF 2.0框架,源自于OpenPARF项目的愿景,旨在构建一个开源FPGA的社区,方便芯片设计者可以定制化自己的CAD算法。为此,OpenPARF 2.0特别强调对定制化架构配置的支持,允许用户自定义和调整SLRs的大小和位置,如1×4、2×2等,使用户能够轻松适配并验证不同的Multi-die FPGA架构,为多种SLR拓扑系统的布局提供了高度灵活性。(备注:目前,OpenPARF 2.0主要支持SLR大小一致的同构Multi-die FPGA布局问题。)
另外,OpenPARF 2.0在开发新算法的便捷性方面也具有显著优势,它基于先进的深度学习框架PyTorch实现,并采用C++/Python混合编程,巧妙地结合了C++的高效性能和Python的编程灵活性。这种独特的编程结构使得用户能在OpenPARF 2.0的基础上,迅速实现和测试自己的布局布线算法,极大地加速了算法开发和迭代过程。
随着我们对OpenPARF 2.0研究框架的不断深入和扩展,未来的科研工作将致力于进一步细化和提升该框架,以更好地适应和领先于快速发展的技术潮流。我们计划的主要研究方向包括:
开发Multi-die FPGA布线算法:我们旨在开发出高效的Multi-die FPGA布线算法,以便更精准地处理复杂的布线挑战,从而进一步优化整体设计和性能。
考虑更实际的设计约束:未来的工作将更多地考虑实际设计中的约束,如Multi-die FPGA级的可布线性优化,Multi-die FPGA级的时序优化等。这些措施将使OpenPARF 2.0更贴近实际应用需求,提高其在实际设计中的适用性和有效性。
提升性能以达到业界标杆工具的性能水准: 我们的目标是不断提升OpenPARF 2.0的性能,使其达到或超越当前业界标准。这将涉及算法的优化、计算效率的提升以及与行业最新技术的同步。
……
基于北京大学林亦波老师课题组开发的OpenPARF项目,西南交通大学信息科学与技术学院邸志雄课题组陶润哲、陈林等同学完成了Multi-die FPGA布局功能开发和集成,作为OpenPARF 2.0的主要新增特性。
欢迎大家来试用OpenPARF 2.0,期待能收到来自大家的反馈。
https://github.com/PKU-IDEA/OpenPARF
Z. Di, R. Tao, J. Mai, L. Chen and Y. Lin, "LEAPS: Topological-Layout-Adaptable Multi-Die FPGA Placement for Super Long Line Minimization," in IEEE Transactions on Circuits and Systems I: Regular Papers, doi: 10.1109/TCSI.2023.3340554.
Arxiv: https://arxiv.org/abs/2308.03233