[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-limbo018--DREAMPlace":3,"tool-limbo018--DREAMPlace":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",150720,2,"2026-04-11T11:33:10",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":75,"owner_twitter":75,"owner_website":78,"owner_url":79,"languages":80,"stars":111,"forks":112,"last_commit_at":113,"license":114,"difficulty_score":115,"env_os":116,"env_gpu":117,"env_ram":118,"env_deps":119,"category_tags":132,"github_topics":133,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":140,"updated_at":141,"faqs":142,"releases":173},6632,"limbo018\u002FDREAMPlace","DREAMPlace","Deep learning toolkit-enabled VLSI placement","DREAMPlace 是一款专为超大规模集成电路（VLSI）布局设计打造的开源工具，它巧妙地将芯片布局问题转化为深度学习训练任务，从而利用成熟的深度学习框架实现高效求解。传统芯片布局在应对百万级元件时往往耗时漫长，成为设计流程中的瓶颈，而 DREAMPlace 通过引入 GPU 加速技术，显著提升了计算效率。在标准测试基准上，其全局布局与合法化阶段的速度比传统 CPU 方案提升超过 30 倍，集成的 ABCDPlace 详细布局模块也能在大规模场景下实现约 16 倍的加速。\n\n该工具不仅支持 GPU 并行计算，也兼容多核 CPU 环境，能够灵活适配不同硬件条件。其独特的技术亮点在于将物理布局中的密度、电势等概念映射为神经网络中的优化目标，并提供了直观的可视化动画来展示布局优化过程。DREAMPlace 非常适合芯片设计工程师、EDA 工具开发者以及从事集成电路自动化研究的高校科研人员使用。无论是希望加速实际项目流程的设计师，还是想要探索深度学习与 EDA 交叉领域前沿算法的研究者，都能从中获得强大的技术支持与灵活的扩展空间。","# DREAMPlace\n\nDeep learning toolkit-enabled VLSI placement.\nWith the analogy between nonlinear VLSI placement and deep learning training problem, this tool is developed with deep learning toolkit for flexibility and efficiency.\nThe tool runs on both CPU and GPU.\nOver `30X` speedup over the CPU implementation ([RePlAce](https:\u002F\u002Fdoi.org\u002F10.1109\u002FTCAD.2018.2859220)) is achieved in global placement and legalization on ISPD 2005 contest benchmarks with a Nvidia Tesla V100 GPU.\nDREAMPlace also integrates a GPU-accelerated detailed placer, _ABCDPlace_, which can achieve around `16X` speedup on million-size benchmarks over the widely-adopted sequential placer [NTUPlace3](https:\u002F\u002Fdoi.org\u002F10.1109\u002FTCAD.2008.923063) on CPU.\n\n- [DREAMPlace](#dreamplace)\n- [Publications](#publications)\n- [Dependency](#dependency)\n- [How to Install Python Dependency](#how-to-install-python-dependency)\n- [How to Build](#how-to-build)\n  - [Build with Docker](#build-with-docker)\n  - [Build without Docker](#build-without-docker)\n- [How to Get Benchmarks](#how-to-get-benchmarks)\n- [How to Run](#how-to-run)\n- [Configurations](#configurations)\n- [Authors](#authors)\n- [Features](#features)\n\nDREAMPlace runs on both CPU and GPU. If it is installed on a machine without GPU, only CPU support will be enabled with multi-threading.\n\n- Animation\n\n| Bigblue4                                              | Density Map                                | Electric Potential                                      | Electric Field                                  |\n| ----------------------------------------------------- | ------------------------------------------ | ------------------------------------------------------- | ----------------------------------------------- |\n| \u003Cimg src=\u002Fimages\u002Fbigblue4-nofiller_SLD.gif width=250> | ![Density Map](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flimbo018_DREAMPlace_readme_9d11aa95e318.gif) | ![Electric Potential Map](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flimbo018_DREAMPlace_readme_268f2cbd0d23.gif) | ![Electric Field Map](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flimbo018_DREAMPlace_readme_652812e5aeee.gif) |\n\n- Reference Flow\n\n\u003Cimg src=images\u002FDREAMPlace4.1_flow.png width=600>\n\n# Publications\n\n- [Yibo Lin](https:\u002F\u002Fyibolin.com), Shounak Dhar, [Wuxi Li](http:\u002F\u002Fwuxili.net), Haoxing Ren, Brucek Khailany and [David Z. Pan](http:\u002F\u002Fusers.ece.utexas.edu\u002F~dpan),\n  \"**DREAMPlace: Deep Learning Toolkit-Enabled GPU Acceleration for Modern VLSI Placement**\",\n  ACM\u002FIEEE Design Automation Conference (DAC), Las Vegas, NV, Jun 2-6, 2019\n  ([preprint](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FPLACE_DAC2019_Lin.pdf)) ([slides](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FPLACE_DAC2019_Lin.slides.pptx))\n\n- [Yibo Lin](https:\u002F\u002Fyibolin.com), Zixuan Jiang, [Jiaqi Gu](https:\u002F\u002Fjeremiemelo.github.io), [Wuxi Li](http:\u002F\u002Fwuxili.net), Shounak Dhar, Haoxing Ren, Brucek Khailany and [David Z. Pan](http:\u002F\u002Fusers.ece.utexas.edu\u002F~dpan),\n  \"**DREAMPlace: Deep Learning Toolkit-Enabled GPU Acceleration for Modern VLSI Placement**\",\n  IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), 2020\n\n- [Yibo Lin](https:\u002F\u002Fyibolin.com), [Wuxi Li](http:\u002F\u002Fwuxili.net), [Jiaqi Gu](https:\u002F\u002Fjeremiemelo.github.io), Haoxing Ren, Brucek Khailany and [David Z. Pan](http:\u002F\u002Fusers.ece.utexas.edu\u002F~dpan),\n  \"**ABCDPlace: Accelerated Batch-based Concurrent Detailed Placement on Multi-threaded CPUs and GPUs**\",\n  IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), 2020\n  ([preprint](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FABCDPLACE_TCAD2020_Lin.pdf))\n\n- [Yibo Lin](https:\u002F\u002Fyibolin.com), [David Z. Pan](http:\u002F\u002Fusers.ece.utexas.edu\u002F~dpan), Haoxing Ren and Brucek Khailany,\n  \"**DREAMPlace 2.0: Open-Source GPU-Accelerated Global and Detailed Placement for Large-Scale VLSI Designs**\",\n  China Semiconductor Technology International Conference (CSTIC), Shanghai, China, Jun, 2020 ([preprint](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FPLACE_CSTIC2020_Lin.pdf))(Invited Paper)\n\n- [Jiaqi Gu](https:\u002F\u002Fjeremiemelo.github.io), Zixuan Jiang, [Yibo Lin](https:\u002F\u002Fyibolin.com) and [David Z. Pan](http:\u002F\u002Fusers.ece.utexas.edu\u002F~dpan),\n  \"**DREAMPlace 3.0: Multi-Electrostatics Based Robust VLSI Placement with Region Constraints**\",\n  IEEE\u002FACM International Conference on Computer-Aided Design (ICCAD), Nov 2-5, 2020\n  ([preprint](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FPLACE_ICCAD2020_Gu.pdf))\n\n- [Peiyu Liao](https:\u002F\u002Fenzoleo.github.io), [Siting Liu](https:\u002F\u002Flusica1031.github.io), Zhitang Chen, Wenlong Lv, [Yibo Lin](https:\u002F\u002Fyibolin.com) and [Bei Yu](https:\u002F\u002Fwww.cse.cuhk.edu.hk\u002F~byu\u002F),\n  \"**DREAMPlace 4.0: Timing-driven Global Placement with Momentum-based Net Weighting**\",\n  IEEE\u002FACM Proceedings Design, Automation and Test in Eurpoe (DATE), Antwerp, Belgium, Mar 14-23, 2022\n  ([preprint](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FPLACE_DATE2022_Liao.pdf))\n\n- [Peiyu Liao](https:\u002F\u002Fenzoleo.github.io), Dawei Guo, [Zizheng Guo](https:\u002F\u002Fguozz.cn\u002F), [Siting Liu](https:\u002F\u002Flusica1031.github.io), Zhitang Chen, Wenlong Lv, [Yibo Lin](https:\u002F\u002Fyibolin.com) and [Bei Yu](https:\u002F\u002Fwww.cse.cuhk.edu.hk\u002F~byu\u002F), \n\"**DREAMPlace 4.0: Timing-driven Placement with Momentum-based Net Weighting and Lagrangian-based Refinement**\",\nIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems (TCAD), Oct, 2023.\n\n- Yifan Chen, [Zaiwen Wen](http:\u002F\u002Ffaculty.bicmr.pku.edu.cn\u002F~wenzw\u002F), [Yun Liang](https:\u002F\u002Fericlyun.github.io\u002F), [Yibo Lin](https:\u002F\u002Fyibolin.com),\n  \"**Stronger Mixed-Size Placement Backbone Considering Second-Order Information**\",\n  IEEE\u002FACM International Conference on Computer-Aided Design (ICCAD), San Francisco, CA, Oct, 2023\n  ([preprint](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FPLACE_ICCAD2023_Chen.pdf))(Corresponding to DREAMPlace 4.1)\n\n- [Zizheng Guo](https:\u002F\u002Fguozz.cn\u002F), Haichuan Liu, Xizhe Shi, [Shenglu Hua](https:\u002F\u002Fshengluhua.github.io\u002F), Zuodong Zhang, [Chunyuan Zhao](https:\u002F\u002Fchunyuanzhao.me\u002F), Runsheng Wang and [Yibo Lin](https:\u002F\u002Fyibolin.com), \n\"**HeteroSTA: A CPU-GPU Heterogeneous Static Timing Analysis Engine with Holistic Industrial Design Support**\",\nIEEE\u002FACM Asia and South Pacific Design Automation Conference (ASPDAC), Hong Kong, Jan, 2026.\n([preprint](https:\u002F\u002Farxiv.org\u002Fabs\u002F2511.11660))(Invited Paper)(Corresponding to DREAMPlace 4.3)\n\n# Dependency\n\n- [Python](https:\u002F\u002Fwww.python.org\u002F) 3.5\u002F3.6\u002F3.7\u002F3.8\u002F3.9\n\n- [Pytorch](https:\u002F\u002Fpytorch.org\u002F) 1.6\u002F1.7\u002F1.8\u002F2.0\n\n  - Other versions may also work, but not tested\n\n- [GCC](https:\u002F\u002Fgcc.gnu.org\u002F)\n\n  - Recommend GCC 7.5 (with `c++17` support).\n  - Do not recommend GCC 9 or later due to backward compatibility issues.\n  - Other compilers may also work, but not tested.\n\n- [Boost](https:\u002F\u002Fwww.boost.org) >= 1.55.0\n  - Need to install and visible for linking\n- [Bison](https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fbison) >= 3.3\n\n  - Need to install\n\n- [Limbo](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FLimbo)\n\n  - Integrated as a git submodule\n\n- [Flute](https:\u002F\u002Fdoi.org\u002F10.1109\u002FTCAD.2007.907068)\n\n  - Integrated as a submodule\n\n- [OpenTimer](https:\u002F\u002Fgithub.com\u002FOpenTimer\u002FOpenTimer)\n\n  - [Modified version](https:\u002F\u002Fgithub.com\u002Fenzoleo\u002FOpenTimer) for timing optimization\n  - Integrated as a submodule\n\n- [CUB](https:\u002F\u002Fgithub.com\u002FNVlabs\u002Fcub)\n\n  - Integrated as a git submodule\n\n- [munkres-cpp](https:\u002F\u002Fgithub.com\u002Fsaebyn\u002Fmunkres-cpp)\n\n  - Integrated as a git submodule\n\n- [HeteroSTA](https:\u002F\u002Fheterosta.pkueda.org.cn\u002F)\n\n  - Used as a GPU-accelerated timing analysis engine\n\n- [CUDA 9.1 or later](https:\u002F\u002Fdeveloper.nvidia.com\u002Fcuda-toolkit) (Optional)\n\n  - If installed and found, GPU acceleration will be enabled.\n  - Otherwise, only CPU implementation is enabled.\n\n- GPU architecture compatibility 6.0 or later (Optional)\n  - Code has been tested on GPUs with compute compatibility 6.0, 7.0, and 7.5.\n  - Please check the [compatibility](https:\u002F\u002Fdeveloper.nvidia.com\u002Fcuda-gpus) of the GPU devices.\n  - The default compilation target is compatibility 6.0. This is the minimum requirement and lower compatibility is not supported for the GPU feature.\n  - For compatibility 7.0, it is necessary to set the CMAKE_CUDA_FLAGS to -gencode=arch=compute_70,code=sm_70.\n- [Cairo](https:\u002F\u002Fgithub.com\u002Ffreedesktop\u002Fcairo) (Optional)\n\n  - If installed and found, the plotting functions will be faster by using C\u002FC++ implementation.\n  - Otherwise, python implementation is used.\n\n- [NTUPlace3](http:\u002F\u002Feda.ee.ntu.edu.tw\u002Fresearch.htm) (Optional)\n  - If the binary is provided, it can be used to perform detailed placement.\n\n\nTo pull git submodules in the root directory\n\n```\ngit submodule init\ngit submodule update\n```\n\nOr alternatively, pull all the submodules when cloning the repository.\n\n```\ngit clone --recursive https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace.git\n```\n\n# How to Install Python Dependency\n\nGo to the root directory.\n\n```\npip install -r requirements.txt\n```\n\n# How to Build\n\nTwo options are provided for building: with and without [Docker](https:\u002F\u002Fhub.docker.com).\n\n## Build with Docker\n\nYou can use the Docker container to avoid building all the dependencies yourself.\n\n1. Install Docker on [Windows](https:\u002F\u002Fdocs.docker.com\u002Fdocker-for-windows\u002F), [Mac](https:\u002F\u002Fdocs.docker.com\u002Fdocker-for-mac\u002F) or [Linux](https:\u002F\u002Fdocs.docker.com\u002Finstall\u002F).\n2. To enable the GPU features, install [NVIDIA-docker](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnvidia-docker); otherwise, skip this step.\n3. Navigate to the repository.\n4. Get the docker container with either of the following options.\n   - Option 1: pull from the cloud [limbo018\u002Fdreamplace](https:\u002F\u002Fhub.docker.com\u002Fr\u002Flimbo018\u002Fdreamplace).\n   ```\n   docker pull limbo018\u002Fdreamplace:cuda\n   ```\n   - Option 2: build the container.\n   ```\n   docker build . --file Dockerfile --tag your_name\u002Fdreamplace:cuda\n   ```\n5. Enter bash environment of the container. Replace `limbo018` with your name if option 2 is chosen in the previous step.\n\nRun with GPU on Linux.\n\n```\ndocker run --gpus 1 -it -v $(pwd):\u002FDREAMPlace limbo018\u002Fdreamplace:cuda bash\n```\n\nRun with GPU on Windows.\n\n```\ndocker run --gpus 1 -it -v \u002Fdreamplace limbo018\u002Fdreamplace:cuda bash\n```\n\nRun without GPU on Linux.\n\n```\ndocker run -it -v $(pwd):\u002FDREAMPlace limbo018\u002Fdreamplace:cuda bash\n```\n\nRun without GPU on Windows.\n\n```\ndocker run -it -v \u002Fdreamplace limbo018\u002Fdreamplace:cuda bash\n```\n\n6. `cd \u002FDREAMPlace`.\n7. Go to [next section](#build-without-docker) to complete building within the container.\n\n## Build without Docker\n\n[CMake](https:\u002F\u002Fcmake.org) is adopted as the makefile system.\nTo build, go to the root directory.\n\n```\nmkdir build\ncd build # we call this \u003Cbuild directory>\ncmake .. -DCMAKE_INSTALL_PREFIX=\u003Cinstallation directory> -DPython_EXECUTABLE=$(which python)\nmake\nmake install\n```\nWhere `\u003Cbuild directory>` is the directory where you compile the code, and `\u003Cinstallation directory>` is the directory where you want to install DREAMPlace (e.g., `..\u002Finstall`).\nThird party submodules are automatically built except for [Boost](https:\u002F\u002Fwww.boost.org).\n\nTo clean, go to the root directory.\n\n```\nrm -r build\n```\n`\u003Cbuild directory>` can be removed after installation if you do not need incremental compilation later. \n\nHere are the available options for CMake.\n\n- CMAKE_INSTALL_PREFIX: installation directory\n  - Example `cmake -DCMAKE_INSTALL_PREFIX=path\u002Fto\u002Fyour\u002Fdirectory`\n- CMAKE_CUDA_FLAGS: custom string for NVCC (default -gencode=arch=compute_60,code=sm_60)\n  - Example `cmake -DCMAKE_CUDA_FLAGS=-gencode=arch=compute_60,code=sm_60`\n- CMAKE_CXX_ABI: 0|1 for the value of \\_GLIBCXX_USE_CXX11_ABI for C++ compiler, default is 0.\n  - Example `cmake -DCMAKE_CXX_ABI=0`\n  - It must be consistent with the \\_GLIBCXX_USE_CXX11_ABI for compling all the C++ dependencies, such as Boost and PyTorch.\n  - PyTorch in default is compiled with \\_GLIBCXX_USE_CXX11_ABI=0, but in a customized PyTorch environment, it might be compiled with \\_GLIBCXX_USE_CXX11_ABI=1.\n\n# How to Get Benchmarks\n\nTo get ISPD 2005 and 2015 benchmarks, run the following script from the directory.\n\n```\npython benchmarks\u002Fispd2005_2015.py\n```\n\n# How to Run\n\nBefore running, make sure the benchmarks have been downloaded and the python dependency packages have been installed.\nGo to the **install directory** and run with JSON configuration file for full placement.\n\n```\ncd \u003Cinstallation directory>\npython dreamplace\u002FPlacer.py test\u002Fispd2005\u002Fadaptec1.json\n```\n\nTest individual `pytorch` op with the unit tests in the root directory.\n\n```\ncd \u003Cinstallation directory>\npython unittest\u002Fops\u002Fhpwl_unittest.py\n```\n\n# Configurations\n\nDescriptions of options in JSON configuration file can be found by running the following command.\n\n```\ncd \u003Cinstallation directory>\npython dreamplace\u002FPlacer.py --help\n```\n\nThe list of options as follows will be shown.\n\n| JSON Parameter | Default                | Description                                                                               |\n| -------------- | ---------------------- | ----------------------------------------------------------------------------------------- |\n| aux_input      | required for Bookshelf | input .aux file                                                                           |\n| lef_input      | required for LEF\u002FDEF   | input LEF file                                                                            |\n| def_input      | required for LEF\u002FDEF   | input DEF file                                                                            |\n| verilog_input  | optional for LEF\u002FDEF   | input VERILOG file, provide circuit netlist information if it is not included in DEF file |\n| gpu            | 1                      | enable gpu or not                                                                         |\n\n...\n\n# Authors\n\n- [Yibo Lin](https:\u002F\u002Fyibolin.com), supervised by [David Z. Pan](http:\u002F\u002Fusers.ece.utexas.edu\u002F~dpan), composed the initial release.\n- [Zixuan Jiang](https:\u002F\u002Fgithub.com\u002FZixuanJiang) and [Jiaqi Gu](https:\u002F\u002Fgithub.com\u002FJeremieMelo) improved the efficiency of the wirelength and density operators on GPU.\n- [Yibo Lin](https:\u002F\u002Fyibolin.com) and [Jiaqi Gu](https:\u002F\u002Fgithub.com\u002FJeremieMelo) developed and integrated ABCDPlace for detailed placement.\n- [Peiyu Liao](https:\u002F\u002Fenzoleo.github.io) and [Siting Liu](https:\u002F\u002Flusica1031.github.io) developed and integrated timing optimization in global placement for DREAMPlace 4.0.\n- Yifan Chen developed the 2-stage flow and improved the optimizer for macro placement in DREAMPlace 4.1. Set ```use_bb``` to 1 to turn on BB-step and ```macro_place_flag``` to 1 to enable 2-stage flow for macro placement. \n- Yiting Liu contributed the GiFt operator for placement initialization, published at ICCAD 2024. Set ```gift_init_flag``` to 1 to turn on this feature, and use ```gift_init_scale``` to control the scale parameter of this operator. \n```\nYiting Liu, Hai Zhou, Jia Wang, Fan Yang, Xuan Zeng, Li Shang, \n\"The Power of Graph Signal Processing for Chip Placement Acceleration\", \n  IEEE\u002FACM International Conference on Computer-Aided Design (ICCAD), New Jersey, USA, Oct, 2024\n(Thanks for contributing the source code!)\n```\n- [Shenglu Hua](https:\u002F\u002Fshengluhua.github.io\u002F) integated HeteroSTA into DREAMPlace 4.3. Set ```timer_engine``` to \"heterosta\" to turn on this feature.\n\n- **Pull requests to improve the tool are more than welcome.** We appreciate all kinds of contributions from the community.\n\n# Features\n\n- [0.0.2](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F0.0.2)\n\n  - Multi-threaded CPU and optional GPU acceleration support\n\n- [0.0.5](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F0.0.5)\n\n  - Net weighting support through .wts files in Bookshelf format\n  - Incremental placement support\n\n- [0.0.6](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F0.0.6)\n\n  - LEF\u002FDEF support as input\u002Foutput\n  - Python binding and access to C++ placement database\n\n- [1.0.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F1.0.0)\n\n  - Improved efficiency for wirelength and density operators from TCAD extension\n\n- [1.1.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F1.1.0)\n\n  - Docker container for building environment\n\n- [2.0.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F2.0.0)\n\n  - Integrate ABCDPlace: multi-threaded CPU and GPU acceleration for detailed placement\n  - Support independent set matching, local reordering, and global swap with run-to-run determinism on one machine\n  - Support movable macros with Tetris-like macro legalization and min-cost flow refinement\n\n- [2.1.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F2.1.0)\n\n  - Support deterministic mode to ensure run-to-run determinism with minor runtime overhead\n\n- [2.2.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F2.2.0)\n\n  - Integrate routability optimization relying on NCTUgr from TCAD extension\n  - Improved robustness on parallel CPU version\n\n- [3.0.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F3.0.0)\n\n  - Support fence regions as published at ICCAD 2020\n  - Add quadratic penalty to accelerate gradient descent at plateau during global placement\n  - Inject noise to escape from saddle points during global placement\n\n- [4.0.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F4.0.0)\n  - Support timing optimization in global placement as published at DATE 2022\n  - Add momentum-based net weighting strategy\n  - Integrate OpenTimer for static timing analysis\n  - Tested under ICCAD 2015 contest benchmarks (see test\u002Ficcad2015.ot)\n\n- [4.1.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F4.1.0)\n  - Support BB step and 2-stage macro placement flow as published at ICCAD 2023 (Need to set ```use_bb``` to 1 to turn on BB-step and ```macro_place_flag``` to 1 to enable 2-stage flow for macro placement)\n  - Tested under ISPD 2005 with all fixed macros and IO pads regarded as movable macros (see test\u002Fispd2005free) and MMS benchmarks (see test\u002Fmms)\n \n- [4.2.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F4.2.0)\n  - Support GiFt initialization as published at ICCAD 2024\n\n- [4.3.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F4.3.0)\n  - Support GPU-accelerated timing analysis using HeteroSTA.\n \n# Reference Results for Macro Placement\n\nRecently, many studies chose DREAMPLace for macro placement, e.g., [[Cheng+, NeurIPS2021](https:\u002F\u002Farxiv.org\u002Fabs\u002F2111.00234)], [[Lai+, NeurIPS2023](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2211.13382)], etc. However, the results reported on the same benchmarks vary significantly from one work to another. For better comparison, we provide the results collected from our GPU machine for reference. If your results deviate significantly (i.e., >5% longer HPWL) from the following numbers, something may be wrong. We recommend you to contact us with logs for validation.\n\nNote that DREAMPlace 4.1.0 only implements the BB step and 2-stage flow proposed in [[Chen+, ICCAD2023](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F10323700)]. \n\n[ISPD2005 benchmark](https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.1145\u002F1629911.1630028) with all fixed macros and IO pads regarded as movable macros. It can be downloaded from [here](https:\u002F\u002Fwww.dropbox.com\u002Fscl\u002Ffi\u002F01jvzui9hv0aa4krnd8lm\u002Fispd2005free.zip?rlkey=ijwspusl9onncnsu5j4na4tqe&st=l44f3dnw&dl=0).\n\u003Ctable>\n\u003Cthead>\n  \u003Ctr>\n    \u003Cth>\u003C\u002Fth>\n    \u003Cth colspan=\"3\">DREAMPlace 4.0\u003C\u002Fth>\n    \u003Cth colspan=\"3\">DREAMPlace 4.1.0\u003C\u002Fth>\n  \u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n  \u003Ctr>\n    \u003Ctd>\u003C\u002Ftd>\n    \u003Ctd>Iterations\u003C\u002Ftd>\n    \u003Ctd>HPWL(x10^6)\u003C\u002Ftd>\n    \u003Ctd>Time(s)\u003C\u002Ftd>\n    \u003Ctd>Iterations\u003C\u002Ftd>\n    \u003Ctd>HPWL(x10^6)\u003C\u002Ftd>\n    \u003Ctd>Time(s)\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec1\u003C\u002Ftd>\n    \u003Ctd>600\u003C\u002Ftd>\n    \u003Ctd>101.3\u003C\u002Ftd>\n    \u003Ctd>26.3\u003C\u002Ftd>\n    \u003Ctd>748\u003C\u002Ftd>\n    \u003Ctd>68.2 \u003C\u002Ftd>\n    \u003Ctd>27.6\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec2\u003C\u002Ftd>\n    \u003Ctd>588*\u003C\u002Ftd>\n    \u003Ctd>137.5*\u003C\u002Ftd>\n    \u003Ctd>40.6*\u003C\u002Ftd>\n    \u003Ctd>784\u003C\u002Ftd>\n    \u003Ctd>86.3 \u003C\u002Ftd>\n    \u003Ctd>40.1\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec3\u003C\u002Ftd>\n    \u003Ctd>765\u003C\u002Ftd>\n    \u003Ctd>179.5\u003C\u002Ftd>\n    \u003Ctd>54.1\u003C\u002Ftd>\n    \u003Ctd>894\u003C\u002Ftd>\n    \u003Ctd>144.0 \u003C\u002Ftd>\n    \u003Ctd>56.1\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec4\u003C\u002Ftd>\n    \u003Ctd>876\u003C\u002Ftd>\n    \u003Ctd>153.3\u003C\u002Ftd>\n    \u003Ctd>48.9\u003C\u002Ftd>\n    \u003Ctd>872\u003C\u002Ftd>\n    \u003Ctd>140.8 \u003C\u002Ftd>\n    \u003Ctd>57.3\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue1\u003C\u002Ftd>\n    \u003Ctd>699\u003C\u002Ftd>\n    \u003Ctd>86.2\u003C\u002Ftd>\n    \u003Ctd>23.5\u003C\u002Ftd>\n    \u003Ctd>813\u003C\u002Ftd>\n    \u003Ctd>82.0 \u003C\u002Ftd>\n    \u003Ctd>25.5\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue2\u003C\u002Ftd>\n    \u003Ctd>1267*\u003C\u002Ftd>\n    \u003Ctd>2426.7*\u003C\u002Ftd>\n    \u003Ctd>679.4*\u003C\u002Ftd>\n    \u003Ctd>869\u003C\u002Ftd>\n    \u003Ctd>98.1 \u003C\u002Ftd>\n    \u003Ctd>193.4\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue3\u003C\u002Ftd>\n    \u003Ctd>1207\u003C\u002Ftd>\n    \u003Ctd>330.2\u003C\u002Ftd>\n    \u003Ctd>115.4\u003C\u002Ftd>\n    \u003Ctd>1307\u003C\u002Ftd>\n    \u003Ctd>288.8 \u003C\u002Ftd>\n    \u003Ctd>140.1\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue4\u003C\u002Ftd>\n    \u003Ctd>1581\u003C\u002Ftd>\n    \u003Ctd>820.1\u003C\u002Ftd>\n    \u003Ctd>239.6\u003C\u002Ftd>\n    \u003Ctd>1875\u003C\u002Ftd>\n    \u003Ctd>610.0 \u003C\u002Ftd>\n    \u003Ctd>234.5\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>average ratio\u003C\u002Ftd>\n    \u003Ctd>0.937\u003C\u002Ftd>\n    \u003Ctd>4.211\u003C\u002Ftd>\n    \u003Ctd>1.258\u003C\u002Ftd>\n    \u003Ctd>1.000\u003C\u002Ftd>\n    \u003Ctd>1.000\u003C\u002Ftd>\n    \u003Ctd>1.000\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n[MMS benchmark](https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.1145\u002F1629911.1630028) (modified from ISPD2005 benchmarks with movable macros and fixed IO pads)\n\nOur modified version can be downloaded from [here](https:\u002F\u002Fwww.dropbox.com\u002Fscl\u002Ffi\u002F23i1jlmc9xhvfnj0jv82k\u002Fmms_mod.zip?rlkey=x4c0a4r877ii5ychu5lk4ur48&dl=0).\n\n\u003Ctable>\n\u003Cthead>\n  \u003Ctr>\n    \u003Cth>\u003C\u002Fth>\n    \u003Cth colspan=\"3\">DREAMPlace 4.0\u003C\u002Fth>\n    \u003Cth colspan=\"3\">DREAMPlace 4.1.0\u003C\u002Fth>\n  \u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n  \u003Ctr>\n    \u003Ctd>\u003C\u002Ftd>\n    \u003Ctd>Iterations\u003C\u002Ftd>\n    \u003Ctd>HPWL(x10^6)\u003C\u002Ftd>\n    \u003Ctd>Time(s)\u003C\u002Ftd>\n    \u003Ctd>Iterations\u003C\u002Ftd>\n    \u003Ctd>HPWL(x10^6)\u003C\u002Ftd>\n    \u003Ctd>Time(s)\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec1\u003C\u002Ftd>\n    \u003Ctd>607\u003C\u002Ftd>\n    \u003Ctd>65.3 \u003C\u002Ftd>\n    \u003Ctd>17.8 \u003C\u002Ftd>\n    \u003Ctd>746\u003C\u002Ftd>\n    \u003Ctd>64.7 \u003C\u002Ftd>\n    \u003Ctd>25.8\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec2\u003C\u002Ftd>\n    \u003Ctd>569\u003C\u002Ftd>\n    \u003Ctd>79.3 \u003C\u002Ftd>\n    \u003Ctd>28.5 \u003C\u002Ftd>\n    \u003Ctd>734\u003C\u002Ftd>\n    \u003Ctd>75.8 \u003C\u002Ftd>\n    \u003Ctd>35.8\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec3\u003C\u002Ftd>\n    \u003Ctd>659\u003C\u002Ftd>\n    \u003Ctd>158.1 \u003C\u002Ftd>\n    \u003Ctd>44.6 \u003C\u002Ftd>\n    \u003Ctd>755\u003C\u002Ftd>\n    \u003Ctd>153.3 \u003C\u002Ftd>\n    \u003Ctd>38.9\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec4\u003C\u002Ftd>\n    \u003Ctd>735\u003C\u002Ftd>\n    \u003Ctd>141.7 \u003C\u002Ftd>\n    \u003Ctd>46.8 \u003C\u002Ftd>\n    \u003Ctd>782\u003C\u002Ftd>\n    \u003Ctd>142.4 \u003C\u002Ftd>\n    \u003Ctd>47.5\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec5\u003C\u002Ftd>\n    \u003Ctd>1053\u003C\u002Ftd>\n    \u003Ctd>326.3\u003C\u002Ftd>\n    \u003Ctd>63.8\u003C\u002Ftd>\n    \u003Ctd>1405\u003C\u002Ftd>\n    \u003Ctd>337.6 \u003C\u002Ftd>\n    \u003Ctd>78.4\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue1\u003C\u002Ftd>\n    \u003Ctd>646\u003C\u002Ftd>\n    \u003Ctd>85.4 \u003C\u002Ftd>\n    \u003Ctd>21.3 \u003C\u002Ftd>\n    \u003Ctd>809\u003C\u002Ftd>\n    \u003Ctd>85.3 \u003C\u002Ftd>\n    \u003Ctd>28.9\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue2\u003C\u002Ftd>\n    \u003Ctd>638\u003C\u002Ftd>\n    \u003Ctd>125.3 \u003C\u002Ftd>\n    \u003Ctd>42.0 \u003C\u002Ftd>\n    \u003Ctd>773\u003C\u002Ftd>\n    \u003Ctd>125.4 \u003C\u002Ftd>\n    \u003Ctd>48.4\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue3\u003C\u002Ftd>\n    \u003Ctd>911\u003C\u002Ftd>\n    \u003Ctd>279.3 \u003C\u002Ftd>\n    \u003Ctd>112.5 \u003C\u002Ftd>\n    \u003Ctd>1097\u003C\u002Ftd>\n    \u003Ctd>273.8 \u003C\u002Ftd>\n    \u003Ctd>136.1\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue4\u003C\u002Ftd>\n    \u003Ctd>1189\u003C\u002Ftd>\n    \u003Ctd>648.8 \u003C\u002Ftd>\n    \u003Ctd>172.4 \u003C\u002Ftd>\n    \u003Ctd>1515\u003C\u002Ftd>\n    \u003Ctd>643.2 \u003C\u002Ftd>\n    \u003Ctd>215.4\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue1\u003C\u002Ftd>\n    \u003Ctd>574\u003C\u002Ftd>\n    \u003Ctd>62.8 \u003C\u002Ftd>\n    \u003Ctd>22.5 \u003C\u002Ftd>\n    \u003Ctd>749\u003C\u002Ftd>\n    \u003Ctd>62.0 \u003C\u002Ftd>\n    \u003Ctd>30.4\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue2\u003C\u002Ftd>\n    \u003Ctd>730\u003C\u002Ftd>\n    \u003Ctd>155.5 \u003C\u002Ftd>\n    \u003Ctd>34.8 \u003C\u002Ftd>\n    \u003Ctd>861\u003C\u002Ftd>\n    \u003Ctd>156.1 \u003C\u002Ftd>\n    \u003Ctd>43.9\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue3\u003C\u002Ftd>\n    \u003Ctd>1318*\u003C\u002Ftd>\n    \u003Ctd>597.3*\u003C\u002Ftd>\n    \u003Ctd>55.71*\u003C\u002Ftd>\n    \u003Ctd>830\u003C\u002Ftd>\n    \u003Ctd>270.6 \u003C\u002Ftd>\n    \u003Ctd>72.8\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue4\u003C\u002Ftd>\n    \u003Ctd>1009\u003C\u002Ftd>\n    \u003Ctd>246.2\u003C\u002Ftd>\n    \u003Ctd>52.6\u003C\u002Ftd>\n    \u003Ctd>1274\u003C\u002Ftd>\n    \u003Ctd>245.8 \u003C\u002Ftd>\n    \u003Ctd>53.9\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue5\u003C\u002Ftd>\n    \u003Ctd>1254\u003C\u002Ftd>\n    \u003Ctd>444.2 \u003C\u002Ftd>\n    \u003Ctd>99.4 \u003C\u002Ftd>\n    \u003Ctd>1537\u003C\u002Ftd>\n    \u003Ctd>446.4 \u003C\u002Ftd>\n    \u003Ctd>134.9\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue6\u003C\u002Ftd>\n    \u003Ctd>929\u003C\u002Ftd>\n    \u003Ctd>410.6 \u003C\u002Ftd>\n    \u003Ctd>96.1 \u003C\u002Ftd>\n    \u003Ctd>1157\u003C\u002Ftd>\n    \u003Ctd>409.3 \u003C\u002Ftd>\n    \u003Ctd>115.1\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue7\u003C\u002Ftd>\n    \u003Ctd>1077\u003C\u002Ftd>\n    \u003Ctd>903.6 \u003C\u002Ftd>\n    \u003Ctd>184.1 \u003C\u002Ftd>\n    \u003Ctd>1578\u003C\u002Ftd>\n    \u003Ctd>903.2 \u003C\u002Ftd>\n    \u003Ctd>235.1\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>average ratio\u003C\u002Ftd>\n    \u003Ctd>0.855\u003C\u002Ftd>\n    \u003Ctd>1.081\u003C\u002Ftd>\n    \u003Ctd>0.830\u003C\u002Ftd>\n    \u003Ctd>1.000\u003C\u002Ftd>\n    \u003Ctd>1.000\u003C\u002Ftd>\n    \u003Ctd>1.000\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n`*` denotes divergence or legalization failure. \nNote that if you observe divergence or legalization errors in the log, then the results may not be representative. \n\n","# DREAMPlace\n\n基于深度学习工具包的超大规模集成电路布局工具。\n\n通过将非线性VLSI布局问题类比于深度学习训练问题，该工具利用深度学习框架开发，以实现灵活性和高效性。该工具既可在CPU上运行，也可在GPU上运行。\n\n在ISPD 2005竞赛基准测试中，使用Nvidia Tesla V100 GPU进行全局布局和合法化时，相比CPU实现（[RePlAce](https:\u002F\u002Fdoi.org\u002F10.1109\u002FTCAD.2018.2859220)），速度提升了超过30倍。\n\nDREAMPlace还集成了一个GPU加速的详细布局器——_ABCDPlace_，它在百万级规模的基准测试上，相较于广泛采用的顺序布局器[NTUPlace3](https:\u002F\u002Fdoi.org\u002F10.1109\u002FTCAD.2008.923063)，在CPU上的运行速度可提升约16倍。\n\n- [DREAMPlace](#dreamplace)\n- [出版物](#publications)\n- [依赖项](#dependency)\n- [如何安装Python依赖](#how-to-install-python-dependency)\n- [如何构建](#how-to-build)\n  - [使用Docker构建](#build-with-docker)\n  - [不使用Docker构建](#build-without-docker)\n- [如何获取基准测试数据](#how-to-get-benchmarks)\n- [如何运行](#how-to-run)\n- [配置选项](#configurations)\n- [作者](#authors)\n- [特性](#features)\n\nDREAMPlace可以在CPU和GPU上运行。如果安装在没有GPU的机器上，则只会启用多线程的CPU支持。\n\n- 动画\n\n| Bigblue4                                              | 密度图                                | 电势                                      | 电场                                  |\n| ----------------------------------------------------- | ------------------------------------------ | ------------------------------------------------------- | ----------------------------------------------- |\n| \u003Cimg src=\u002Fimages\u002Fbigblue4-nofiller_SLD.gif width=250> | ![密度图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flimbo018_DREAMPlace_readme_9d11aa95e318.gif) | ![电势图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flimbo018_DREAMPlace_readme_268f2cbd0d23.gif) | ![电场图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flimbo018_DREAMPlace_readme_652812e5aeee.gif) |\n\n- 参考流程\n\n\u003Cimg src=images\u002FDREAMPlace4.1_flow.png width=600>\n\n# 出版物\n\n- [Yibo Lin](https:\u002F\u002Fyibolin.com), Shounak Dhar, [Wuxi Li](http:\u002F\u002Fwuxili.net), Haoxing Ren, Brucek Khailany 和 [David Z. Pan](http:\u002F\u002Fusers.ece.utexas.edu\u002F~dpan),\n  “DREAMPlace：基于深度学习工具包的现代VLSI布局GPU加速”，\n  ACM\u002FIEEE设计自动化会议（DAC），拉斯维加斯，内华达州，2019年6月2日至6日\n  ([预印本](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FPLACE_DAC2019_Lin.pdf)) ([演示文稿](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FPLACE_DAC2019_Lin.slides.pptx))\n\n- [Yibo Lin](https:\u002F\u002Fyibolin.com), Zixuan Jiang, [Jiaqi Gu](https:\u002F\u002Fjeremiemelo.github.io), [Wuxi Li](http:\u002F\u002Fwuxili.net), Shounak Dhar, Haoxing Ren, Brucek Khailany 和 [David Z. Pan](http:\u002F\u002Fusers.ece.utexas.edu\u002F~dpan),\n  “DREAMPlace：基于深度学习工具包的现代VLSI布局GPU加速”，\n  IEEE计算机辅助集成电路与系统设计汇刊（TCAD），2020年\n\n- [Yibo Lin](https:\u002F\u002Fyibolin.com), [Wuxi Li](http:\u002F\u002Fwuxili.net), [Jiaqi Gu](https:\u002F\u002Fjeremiemelo.github.io), Haoxing Ren, Brucek Khailany 和 [David Z. Pan](http:\u002F\u002Fusers.ece.utexas.edu\u002F~dpan),\n  “ABCDPlace：基于批处理的并发式详细布局，在多线程CPU和GPU上加速运行”，\n  IEEE计算机辅助集成电路与系统设计汇刊（TCAD），2020年\n  ([预印本](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FABCDPLACE_TCAD2020_Lin.pdf))\n\n- [Yibo Lin](https:\u002F\u002Fyibolin.com), [David Z. Pan](http:\u002F\u002Fusers.ece.utexas.edu\u002F~dpan), Haoxing Ren 和 Brucek Khailany,\n  “DREAMPlace 2.0：面向大规模VLSI设计的开源GPU加速全局与详细布局”，\n  中国半导体技术国际会议（CSTIC），上海，中国，2020年6月（[预印本](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FPLACE_CSTIC2020_Lin.pdf)）（特邀论文）\n\n- [Jiaqi Gu](https:\u002F\u002Fjeremiemelo.github.io), Zixuan Jiang, [Yibo Lin](https:\u002F\u002Fyibolin.com) 和 [David Z. Pan](http:\u002F\u002Fusers.ece.utexas.edu\u002F~dpan),\n  “DREAMPlace 3.0：基于多静电场的鲁棒VLSI布局，带区域约束”，\n  IEEE\u002FACM国际计算机辅助设计会议（ICCAD），2020年11月2日至5日\n  ([预印本](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FPLACE_ICCAD2020_Gu.pdf))\n\n- [Peiyu Liao](https:\u002F\u002Fenzoleo.github.io), [Siting Liu](https:\u002F\u002Flusica1031.github.io), Zhitang Chen, Wenlong Lv, [Yibo Lin](https:\u002F\u002Fyibolin.com) 和 [Bei Yu](https:\u002F\u002Fwww.cse.cuhk.edu.hk\u002F~byu\u002F)，\n  “DREAMPlace 4.0：基于动量的网络权重分配的时序驱动全局布局”，\n  IEEE\u002FACM欧洲设计、自动化与测试大会（DATE），比利时安特卫普，2022年3月14日至23日\n  ([预印本](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FPLACE_DATE2022_Liao.pdf))\n\n- [Peiyu Liao](https:\u002F\u002Fenzoleo.github.io), Dawei Guo, [Zizheng Guo](https:\u002F\u002Fguozz.cn\u002F), [Siting Liu](https:\u002F\u002Flusica1031.github.io), Zhitang Chen, Wenlong Lv, [Yibo Lin](https:\u002F\u002Fyibolin.com) 和 [Bei Yu](https:\u002F\u002Fwww.cse.cuhk.edu.hk\u002F~byu\u002F)，\n  “DREAMPlace 4.0：基于动量的网络权重分配和拉格朗日优化的时序驱动布局”，\n  IEEE计算机辅助集成电路与系统设计汇刊（TCAD），2023年10月。\n\n- Yifan Chen, [Zaiwen Wen](http:\u002F\u002Ffaculty.bicmr.pku.edu.cn\u002F~wenzw\u002F), [Yun Liang](https:\u002F\u002Fericlyun.github.io\u002F), [Yibo Lin](https:\u002F\u002Fyibolin.com),\n  “更强的混合尺寸布局核心，考虑二阶信息”，\n  IEEE\u002FACM国际计算机辅助设计会议（ICCAD），旧金山，加州，2023年10月\n  ([预印本](https:\u002F\u002Fyibolin.com\u002Fpublications\u002Fpapers\u002FPLACE_ICCAD2023_Chen.pdf))（对应于DREAMPlace 4.1）\n\n- [Zizheng Guo](https:\u002F\u002Fguozz.cn\u002F), Haichuan Liu, Xizhe Shi, [Shenglu Hua](https:\u002F\u002Fshengluhua.github.io\u002F), Zuodong Zhang, [Chunyuan Zhao](https:\u002F\u002Fchunyuanzhao.me\u002F), Runsheng Wang 和 [Yibo Lin](https:\u002F\u002Fyibolin.com)，\n  “HeteroSTA：一种支持整体工业设计的CPU-GPU异构静态时序分析引擎”，\n  IEEE\u002FACM亚洲及南太平洋设计自动化会议（ASPDAC），香港，2026年1月。\n  ([预印本](https:\u002F\u002Farxiv.org\u002Fabs\u002F2511.11660))（特邀论文）（对应于DREAMPlace 4.3）\n\n# 依赖项\n\n- [Python](https:\u002F\u002Fwww.python.org\u002F) 3.5\u002F3.6\u002F3.7\u002F3.8\u002F3.9\n\n- [PyTorch](https:\u002F\u002Fpytorch.org\u002F) 1.6\u002F1.7\u002F1.8\u002F2.0\n\n  - 其他版本也可能适用，但未经过测试\n\n- [GCC](https:\u002F\u002Fgcc.gnu.org\u002F)\n\n  - 建议使用 GCC 7.5（支持 `c++17`）。\n  - 不建议使用 GCC 9 或更高版本，因为可能存在向后兼容性问题。\n  - 其他编译器也可能适用，但未经过测试。\n\n- [Boost](https:\u002F\u002Fwww.boost.org) >= 1.55.0\n  - 需要安装，并且在链接时可见\n- [Bison](https:\u002F\u002Fwww.gnu.org\u002Fsoftware\u002Fbison) >= 3.3\n\n  - 需要安装\n\n- [Limbo](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FLimbo)\n\n  - 作为 Git 子模块集成\n- [Flute](https:\u002F\u002Fdoi.org\u002F10.1109\u002FTCAD.2007.907068)\n\n  - 作为子模块集成\n- [OpenTimer](https:\u002F\u002Fgithub.com\u002FOpenTimer\u002FOpenTimer)\n\n  - [修改后的版本](https:\u002F\u002Fgithub.com\u002Fenzoleo\u002FOpenTimer)用于时序优化\n  - 作为子模块集成\n- [CUB](https:\u002F\u002Fgithub.com\u002FNVlabs\u002Fcub)\n\n  - 作为 Git 子模块集成\n- [munkres-cpp](https:\u002F\u002Fgithub.com\u002Fsaebyn\u002Fmunkres-cpp)\n\n  - 作为 Git 子模块集成\n- [HeteroSTA](https:\u002F\u002Fheterosta.pkueda.org.cn\u002F)\n\n  - 用作 GPU 加速的时序分析引擎\n- [CUDA 9.1 或更高版本](https:\u002F\u002Fdeveloper.nvidia.com\u002Fcuda-toolkit)（可选）\n\n  - 如果已安装并检测到，则会启用 GPU 加速。\n  - 否则，仅启用 CPU 实现。\n\n- GPU 架构兼容性 6.0 或更高版本（可选）\n  - 代码已在计算兼容性为 6.0、7.0 和 7.5 的 GPU 上测试过。\n  - 请检查 GPU 设备的[兼容性](https:\u002F\u002Fdeveloper.nvidia.com\u002Fcuda-gpus)。\n  - 默认编译目标是兼容性 6.0。这是最低要求，低于此兼容性的 GPU 功能不被支持。\n  - 对于兼容性 7.0，需要将 CMAKE_CUDA_FLAGS 设置为 `-gencode=arch=compute_70,code=sm_70`。\n- [Cairo](https:\u002F\u002Fgithub.com\u002Ffreedesktop\u002Fcairo)（可选）\n\n  - 如果已安装并检测到，则绘图函数将通过 C\u002FC++ 实现而更快。\n  - 否则，将使用 Python 实现。\n\n- [NTUPlace3](http:\u002F\u002Feda.ee.ntu.edu.tw\u002Fresearch.htm)（可选）\n  - 如果提供了二进制文件，则可用于执行详细的布局放置。\n\n\n要在根目录中拉取 Git 子模块：\n\n```\ngit submodule init\ngit submodule update\n```\n\n或者，在克隆仓库时一次性拉取所有子模块：\n\n```\ngit clone --recursive https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace.git\n```\n\n# 如何安装 Python 依赖项\n\n进入根目录：\n\n```\npip install -r requirements.txt\n```\n\n# 如何构建\n\n提供两种构建方式：使用和不使用 [Docker](https:\u002F\u002Fhub.docker.com)。\n\n## 使用 Docker 构建\n\n您可以使用 Docker 容器来避免自行构建所有依赖项。\n\n1. 在 [Windows](https:\u002F\u002Fdocs.docker.com\u002Fdocker-for-windows\u002F)、[Mac](https:\u002F\u002Fdocs.docker.com\u002Fdocker-for-mac\u002F) 或 [Linux](https:\u002F\u002Fdocs.docker.com\u002Finstall\u002F) 上安装 Docker。\n2. 要启用 GPU 功能，请安装 [NVIDIA-docker](https:\u002F\u002Fgithub.com\u002FNVIDIA\u002Fnvidia-docker)；否则，跳过此步骤。\n3. 导航到仓库目录。\n4. 通过以下任一选项获取 Docker 容器：\n   - 选项 1：从云端拉取 [limbo018\u002Fdreamplace](https:\u002F\u002Fhub.docker.com\u002Fr\u002Flimbo018\u002Fdreamplace)。\n   ```\n   docker pull limbo018\u002Fdreamplace:cuda\n   ```\n   - 选项 2：构建容器。\n   ```\n   docker build . --file Dockerfile --tag your_name\u002Fdreamplace:cuda\n   ```\n5. 进入容器的 bash 环境。如果上一步选择了选项 2，请将 `limbo018` 替换为您的名字。\n\n在 Linux 上使用 GPU 运行：\n\n```\ndocker run --gpus 1 -it -v $(pwd):\u002FDREAMPlace limbo018\u002Fdreamplace:cuda bash\n```\n\n在 Windows 上使用 GPU 运行：\n\n```\ndocker run --gpus 1 -it -v \u002Fdreamplace limbo018\u002Fdreamplace:cuda bash\n```\n\n在 Linux 上不使用 GPU 运行：\n\n```\ndocker run -it -v $(pwd):\u002FDREAMPlace limbo018\u002Fdreamplace:cuda bash\n```\n\n在 Windows 上不使用 GPU 运行：\n\n```\ndocker run -it -v \u002Fdreamplace limbo018\u002Fdreamplace:cuda bash\n```\n\n6. `cd \u002FDREAMPlace`。\n7. 转到[下一节](#build-without-docker)，在容器内完成构建。\n\n## 不使用 Docker 构建\n\n采用 [CMake](https:\u002F\u002Fcmake.org) 作为构建系统。\n要构建，进入根目录：\n\n```\nmkdir build\ncd build # 我们称其为 \u003C构建目录>\ncmake .. -DCMAKE_INSTALL_PREFIX=\u003C安装目录> -DPython_EXECUTABLE=$(which python)\nmake\nmake install\n```\n\n其中 `\u003C构建目录>` 是您编译代码的目录，而 `\u003C安装目录>` 是您希望安装 DREAMPlace 的目录（例如 `..\u002Finstall`）。\n第三方子模块会自动构建，除了 [Boost](https:\u002F\u002Fwww.boost.org)。\n\n要清理，返回根目录：\n\n```\nrm -r build\n```\n\n如果您以后不需要增量编译，可以在安装完成后删除 `\u003C构建目录>`。\n\n以下是 CMake 的可用选项：\n\n- CMAKE_INSTALL_PREFIX：安装目录\n  - 示例：`cmake -DCMAKE_INSTALL_PREFIX=path\u002Fto\u002Fyour\u002Fdirectory`\n- CMAKE_CUDA_FLAGS：用于 NVCC 的自定义字符串（默认为 `-gencode=arch=compute_60,code=sm_60`）\n  - 示例：`cmake -DCMAKE_CUDA_FLAGS=-gencode=arch=compute_60,code=sm_60`\n- CMAKE_CXX_ABI：用于 C++ 编译器的 `_GLIBCXX_USE_CXX11_ABI` 值，0 或 1，默认为 0。\n  - 示例：`cmake -DCMAKE_CXX_ABI=0`\n  - 必须与编译所有 C++ 依赖项（如 Boost 和 PyTorch）时的 `_GLIBCXX_USE_CXX11_ABI` 保持一致。\n  - 默认情况下，PyTorch 是以 `_GLIBCXX_USE_CXX11_ABI=0` 编译的，但在自定义的 PyTorch 环境中，可能会以 `_GLIBCXX_USE_CXX11_ABI=1` 编译。\n\n# 如何获取基准测试数据\n\n要获取 ISPD 2005 和 2015 的基准测试数据，从该目录运行以下脚本：\n\n```\npython benchmarks\u002Fispd2005_2015.py\n```\n\n# 如何运行\n\n在运行之前，请确保已下载基准测试数据，并已安装 Python 依赖包。\n进入**安装目录**，使用 JSON 配置文件进行完整布局放置：\n\n```\ncd \u003C安装目录>\npython dreamplace\u002FPlacer.py test\u002Fispd2005\u002Fadaptec1.json\n```\n\n在根目录中运行单元测试，测试单个 `pytorch` 操作：\n\n```\ncd \u003C安装目录>\npython unittest\u002Fops\u002Fhpwl_unittest.py\n```\n\n# 配置\n\n可通过运行以下命令查看 JSON 配置文件中各选项的说明。\n\n```\ncd \u003C安装目录>\npython dreamplace\u002FPlacer.py --help\n```\n\n将显示如下选项列表。\n\n| JSON 参数       | 默认值                | 描述                                                                               |\n| -------------- | ---------------------- | ----------------------------------------------------------------------------------------- |\n| aux_input      | Bookshelf 必需        | 输入 .aux 文件                                                                           |\n| lef_input      | LEF\u002FDEF 必需          | 输入 LEF 文件                                                                            |\n| def_input      | LEF\u002FDEF 必需          | 输入 DEF 文件                                                                            |\n| verilog_input  | LEF\u002FDEF 可选          | 输入 VERILOG 文件，若 DEF 文件中未包含电路网表信息则提供                                 |\n| gpu            | 1                      | 是否启用 GPU                                                                         |\n\n...\n\n# 作者\n\n- [Yibo Lin](https:\u002F\u002Fyibolin.com)，在 [David Z. Pan](http:\u002F\u002Fusers.ece.utexas.edu\u002F~dpan) 的指导下完成了初始版本。\n- [Zixuan Jiang](https:\u002F\u002Fgithub.com\u002FZixuanJiang) 和 [Jiaqi Gu](https:\u002F\u002Fgithub.com\u002FJeremieMelo) 提升了 GPU 上线长和密度算子的效率。\n- [Yibo Lin](https:\u002F\u002Fyibolin.com) 和 [Jiaqi Gu](https:\u002F\u002Fgithub.com\u002FJeremieMelo) 开发并集成了 ABCDPlace 用于详细布局。\n- [Peiyu Liao](https:\u002F\u002Fenzoleo.github.io) 和 [Siting Liu](https:\u002F\u002Flusica1031.github.io) 为 DREAMPlace 4.0 开发并集成了全局布局中的时序优化。\n- Yifan Chen 开发了两阶段流程，并改进了 DREAMPlace 4.1 中宏单元布局的优化器。将 ```use_bb``` 设置为 1 以开启 BB 步骤，将 ```macro_place_flag``` 设置为 1 以启用宏单元布局的两阶段流程。\n- Yiting Liu 贡献了用于布局初始化的 GiFt 算子，该成果发表于 ICCAD 2024。将 ```gift_init_flag``` 设置为 1 以开启此功能，并使用 ```gift_init_scale``` 控制该算子的尺度参数。\n```\nYiting Liu, Hai Zhou, Jia Wang, Fan Yang, Xuan Zeng, Li Shang, \n“图信号处理在芯片布局加速中的力量”， \n  IEEE\u002FACM 国际计算机辅助设计会议（ICCAD），美国新泽西州，2024年10月\n（感谢贡献源代码！）\n```\n- [Shenglu Hua](https:\u002F\u002Fshengluhua.github.io\u002F) 将 HeteroSTA 集成到 DREAMPlace 4.3 中。将 ```timer_engine``` 设置为 “heterosta” 以开启此功能。\n\n- **欢迎提交 Pull Request 来改进该工具。** 我们非常感谢社区的各种贡献。\n\n# 功能\n\n- [0.0.2](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F0.0.2)\n\n  - 多线程 CPU 支持，可选 GPU 加速\n\n- [0.0.5](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F0.0.5)\n\n  - 通过 Bookshelf 格式的 .wts 文件支持网络加权\n  - 增量式布局支持\n\n- [0.0.6](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F0.0.6)\n\n  - 支持 LEF\u002FDEF 作为输入输出\n  - Python 绑定及对 C++ 布局数据库的访问\n\n- [1.0.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F1.0.0)\n\n  - 从 TCAD 扩展中提升了线长和密度算子的效率\n\n- [1.1.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F1.1.0)\n\n  - 用于构建环境的 Docker 容器\n\n- [2.0.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F2.0.0)\n\n  - 集成 ABCDPlace：多线程 CPU 和 GPU 加速的详细布局\n  - 支持独立集匹配、局部重排以及单机上具有运行间确定性的全局交换\n  - 支持可移动宏单元，具备类似俄罗斯方块的宏合法化及最小费用流优化\n\n- [2.1.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F2.1.0)\n\n  - 支持确定性模式，以较小的运行时开销确保运行间的确定性\n\n- [2.2.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F2.2.0)\n\n  - 集成来自 TCAD 扩展的 NCTUgr 路由可布性优化\n  - 并行 CPU 版本的鲁棒性得到提升\n\n- [3.0.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F3.0.0)\n\n  - 支持栅栏区域，相关成果发表于 ICCAD 2020\n  - 添加二次惩罚项以加速全局布局过程中梯度下降在平台期的进展\n  - 在全局布局中注入噪声以逃离鞍点\n\n- [4.0.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F4.0.0)\n  - 支持全局布局中的时序优化，相关成果发表于 DATE 2022\n  - 新增基于动量的网络加权策略\n  - 集成 OpenTimer 进行静态时序分析\n  - 已在 ICCAD 2015 比赛基准测试中进行测试（见 test\u002Ficcad2015.ot）\n\n- [4.1.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F4.1.0)\n  - 支持 BB 步骤和两阶段宏单元布局流程，相关成果发表于 ICCAD 2023（需将 ```use_bb``` 设置为 1 以开启 BB 步骤，将 ```macro_place_flag``` 设置为 1 以启用宏单元布局的两阶段流程）\n  - 已在 ISPD 2005 比赛中进行测试，其中所有固定宏单元和 IO 端口均被视为可移动宏单元（见 test\u002Fispd2005free）以及 MMS 基准测试（见 test\u002Fmms）\n\n- [4.2.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F4.2.0)\n  - 支持 ICCAD 2024 发表的 GiFt 初始化方法\n\n- [4.3.0](https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Freleases\u002Ftag\u002F4.3.0)\n  - 支持使用 HeteroSTA 进行 GPU 加速的时序分析。\n\n# 宏单元布局参考结果\n\n近期，许多研究工作选择了 DREAMPlace 进行宏单元布局，例如 [[Cheng+，NeurIPS2021](https:\u002F\u002Farxiv.org\u002Fabs\u002F2111.00234)]、[[Lai+，NeurIPS2023](https:\u002F\u002Farxiv.org\u002Fpdf\u002F2211.13382)] 等。然而，在相同基准测试上报告的结果却存在显著差异。为了便于比较，我们提供了在自己的 GPU 机器上收集的结果供参考。如果您的结果与以下数值相比有较大偏差（即 HPWL 长度增加超过 5%），则可能存在错误。建议您将日志发送给我们以进行验证。\n\n请注意，DREAMPlace 4.1.0 仅实现了 [[Chen+，ICCAD2023](https:\u002F\u002Fieeexplore.ieee.org\u002Fdocument\u002F10323700)] 中提出的 BB 步骤和两阶段流程。\n\n[ISPD2005 基准测试](https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.1145\u002F1629911.1630028)，其中所有固定的宏单元和 IO 端口均被视为可移动的宏单元。该数据集可从 [这里](https:\u002F\u002Fwww.dropbox.com\u002Fscl\u002Ffi\u002F01jvzui9hv0aa4krnd8lm\u002Fispd2005free.zip?rlkey=ijwspusl9onncnsu5j4na4tqe&st=l44f3dnw&dl=0) 下载。\n\u003Ctable>\n\u003Cthead>\n  \u003Ctr>\n    \u003Cth>\u003C\u002Fth>\n    \u003Cth colspan=\"3\">DREAMPlace 4.0\u003C\u002Fth>\n    \u003Cth colspan=\"3\">DREAMPlace 4.1.0\u003C\u002Fth>\n  \u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n  \u003Ctr>\n    \u003Ctd>\u003C\u002Ftd>\n    \u003Ctd>迭代次数\u003C\u002Ftd>\n    \u003Ctd>HPWL(×10^6)\u003C\u002Ftd>\n    \u003Ctd>时间(s)\u003C\u002Ftd>\n    \u003Ctd>迭代次数\u003C\u002Ftd>\n    \u003Ctd>HPWL(×10^6)\u003C\u002Ftd>\n    \u003Ctd>时间(s)\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec1\u003C\u002Ftd>\n    \u003Ctd>600\u003C\u002Ftd>\n    \u003Ctd>101.3\u003C\u002Ftd>\n    \u003Ctd>26.3\u003C\u002Ftd>\n    \u003Ctd>748\u003C\u002Ftd>\n    \u003Ctd>68.2 \u003C\u002Ftd>\n    \u003Ctd>27.6\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec2\u003C\u002Ftd>\n    \u003Ctd>588*\u003C\u002Ftd>\n    \u003Ctd>137.5*\u003C\u002Ftd>\n    \u003Ctd>40.6*\u003C\u002Ftd>\n    \u003Ctd>784\u003C\u002Ftd>\n    \u003Ctd>86.3 \u003C\u002Ftd>\n    \u003Ctd>40.1\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec3\u003C\u002Ftd>\n    \u003Ctd>765\u003C\u002Ftd>\n    \u003Ctd>179.5\u003C\u002Ftd>\n    \u003Ctd>54.1\u003C\u002Ftd>\n    \u003Ctd>894\u003C\u002Ftd>\n    \u003Ctd>144.0 \u003C\u002Ftd>\n    \u003Ctd>56.1\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec4\u003C\u002Ftd>\n    \u003Ctd>876\u003C\u002Ftd>\n    \u003Ctd>153.3\u003C\u002Ftd>\n    \u003Ctd>48.9\u003C\u002Ftd>\n    \u003Ctd>872\u003C\u002Ftd>\n    \u003Ctd>140.8 \u003C\u002Ftd>\n    \u003Ctd>57.3\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue1\u003C\u002Ftd>\n    \u003Ctd>699\u003C\u002Ftd>\n    \u003Ctd>86.2\u003C\u002Ftd>\n    \u003Ctd>23.5\u003C\u002Ftd>\n    \u003Ctd>813\u003C\u002Ftd>\n    \u003Ctd>82.0 \u003C\u002Ftd>\n    \u003Ctd>25.5\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue2\u003C\u002Ftd>\n    \u003Ctd>1267*\u003C\u002Ftd>\n    \u003Ctd>2426.7*\u003C\u002Ftd>\n    \u003Ctd>679.4*\u003C\u002Ftd>\n    \u003Ctd>869\u003C\u002Ftd>\n    \u003Ctd>98.1 \u003C\u002Ftd>\n    \u003Ctd>193.4\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue3\u003C\u002Ftd>\n    \u003Ctd>1207\u003C\u002Ftd>\n    \u003Ctd>330.2\u003C\u002Ftd>\n    \u003Ctd>115.4\u003C\u002Ftd>\n    \u003Ctd>1307\u003C\u002Ftd>\n    \u003Ctd>288.8 \u003C\u002Ftd>\n    \u003Ctd>140.1\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue4\u003C\u002Ftd>\n    \u003Ctd>1581\u003C\u002Ftd>\n    \u003Ctd>820.1\u003C\u002Ftd>\n    \u003Ctd>239.6\u003C\u002Ftd>\n    \u003Ctd>1875\u003C\u002Ftd>\n    \u003Ctd>610.0 \u003C\u002Ftd>\n    \u003Ctd>234.5\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>平均比值\u003C\u002Ftd>\n    \u003Ctd>0.937\u003C\u002Ftd>\n    \u003Ctd>4.211\u003C\u002Ftd>\n    \u003Ctd>1.258\u003C\u002Ftd>\n    \u003Ctd>1.000\u003C\u002Ftd>\n    \u003Ctd>1.000\u003C\u002Ftd>\n    \u003Ctd>1.000\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\n[MMS 基准测试](https:\u002F\u002Fdl.acm.org\u002Fdoi\u002F10.1145\u002F1629911.1630028)（基于 ISPD2005 基准测试修改而来，其中宏单元可移动而 IO 端口固定）\n\n我们的修改版本可从 [这里](https:\u002F\u002Fwww.dropbox.com\u002Fscl\u002Ffi\u002F23i1jlmc9xhvfnj0jv82k\u002Fmms_mod.zip?rlkey=x4c0a4r877ii5ychu5lk4ur48&dl=0) 下载。\n\n\u003Ctable>\n\u003Cthead>\n  \u003Ctr>\n    \u003Cth>\u003C\u002Fth>\n    \u003Cth colspan=\"3\">DREAMPlace 4.0\u003C\u002Fth>\n    \u003Cth colspan=\"3\">DREAMPlace 4.1.0\u003C\u002Fth>\n  \u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\n  \u003Ctr>\n    \u003Ctd>\u003C\u002Ftd>\n    \u003Ctd>迭代次数\u003C\u002Ftd>\n    \u003Ctd>HPWL(×10^6)\u003C\u002Ftd>\n    \u003Ctd>时间(s)\u003C\u002Ftd>\n    \u003Ctd>迭代次数\u003C\u002Ftd>\n    \u003Ctd>HPWL(×10^6)\u003C\u002Ftd>\n    \u003Ctd>时间(s)\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec1\u003C\u002Ftd>\n    \u003Ctd>607\u003C\u002Ftd>\n    \u003Ctd>65.3 \u003C\u002Ftd>\n    \u003Ctd>17.8 \u003C\u002Ftd>\n    \u003Ctd>746\u003C\u002Ftd>\n    \u003Ctd>64.7 \u003C\u002Ftd>\n    \u003Ctd>25.8\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec2\u003C\u002Ftd>\n    \u003Ctd>569\u003C\u002Ftd>\n    \u003Ctd>79.3 \u003C\u002Ftd>\n    \u003Ctd>28.5 \u003C\u002Ftd>\n    \u003Ctd>734\u003C\u002Ftd>\n    \u003Ctd>75.8 \u003C\u002Ftd>\n    \u003Ctd>35.8\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec3\u003C\u002Ftd>\n    \u003Ctd>659\u003C\u002Ftd>\n    \u003Ctd>158.1 \u003C\u002Ftd>\n    \u003Ctd>44.6 \u003C\u002Ftd>\n    \u003Ctd>755\u003C\u002Ftd>\n    \u003Ctd>153.3 \u003C\u002Ftd>\n    \u003Ctd>38.9\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec4\u003C\u002Ftd>\n    \u003Ctd>735\u003C\u002Ftd>\n    \u003Ctd>141.7 \u003C\u002Ftd>\n    \u003Ctd>46.8 \u003C\u002Ftd>\n    \u003Ctd>782\u003C\u002Ftd>\n    \u003Ctd>142.4 \u003C\u002Ftd>\n    \u003Ctd>47.5\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>adaptec5\u003C\u002Ftd>\n    \u003Ctd>1053\u003C\u002Ftd>\n    \u003Ctd>326.3\u003C\u002Ftd>\n    \u003Ctd>63.8\u003C\u002Ftd>\n    \u003Ctd>1405\u003C\u002Ftd>\n    \u003Ctd>337.6 \u003C\u002Ftd>\n    \u003Ctd>78.4\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue1\u003C\u002Ftd>\n    \u003Ctd>646\u003C\u002Ftd>\n    \u003Ctd>85.4 \u003C\u002Ftd>\n    \u003Ctd>21.3 \u003C\u002Ftd>\n    \u003Ctd>809\u003C\u002Ftd>\n    \u003Ctd>85.3 \u003C\u002Ftd>\n    \u003Ctd>28.9\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue2\u003C\u002Ftd>\n    \u003Ctd>638\u003C\u002Ftd>\n    \u003Ctd>125.3 \u003C\u002Ftd>\n    \u003Ctd>42.0 \u003C\u002Ftd>\n    \u003Ctd>773\u003C\u002Ftd>\n    \u003Ctd>125.4 \u003C\u002Ftd>\n    \u003Ctd>48.4\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue3\u003C\u002Ftd>\n    \u003Ctd>911\u003C\u002Ftd>\n    \u003Ctd>279.3 \u003C\u002Ftd>\n    \u003Ctd>112.5 \u003C\u002Ftd>\n    \u003Ctd>1097\u003C\u002Ftd>\n    \u003Ctd>273.8 \u003C\u002Ftd>\n    \u003Ctd>136.1\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>bigblue4\u003C\u002Ftd>\n    \u003Ctd>1189\u003C\u002Ftd>\n    \u003Ctd>648.8 \u003C\u002Ftd>\n    \u003Ctd>172.4 \u003C\u002Ftd>\n    \u003Ctd>1515\u003C\u002Ftd>\n    \u003Ctd>643.2 \u003C\u002Ftd>\n    \u003Ctd>215.4\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue1\u003C\u002Ftd>\n    \u003Ctd>574\u003C\u002Ftd>\n    \u003Ctd>62.8 \u003C\u002Ftd>\n    \u003Ctd>22.5 \u003C\u002Ftd>\n    \u003Ctd>749\u003C\u002Ftd>\n    \u003Ctd>62.0 \u003C\u002Ftd>\n    \u003Ctd>30.4\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue2\u003C\u002Ftd>\n    \u003Ctd>730\u003C\u002Ftd>\n    \u003Ctd>155.5 \u003C\u002Ftd>\n    \u003Ctd>34.8 \u003C\u002Ftd>\n    \u003Ctd>861\u003C\u002Ftd>\n    \u003Ctd>156.1 \u003C\u002Ftd>\n    \u003Ctd>43.9\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue3\u003C\u002Ftd>\n    \u003Ctd>1318*\u003C\u002Ftd>\n    \u003Ctd>597.3*\u003C\u002Ftd>\n    \u003Ctd>55.71*\u003C\u002Ftd>\n    \u003Ctd>830\u003C\u002Ftd>\n    \u003Ctd>270.6 \u003C\u002Ftd>\n    \u003Ctd>72.8\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue4\u003C\u002Ftd>\n    \u003Ctd>1009\u003C\u002Ftd>\n    \u003Ctd>246.2\u003C\u002Ftd>\n    \u003Ctd>52.6\u003C\u002Ftd>\n    \u003Ctd>1274\u003C\u002Ftd>\n    \u003Ctd>245.8 \u003C\u002Ftd>\n    \u003Ctd>53.9\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue5\u003C\u002Ftd>\n    \u003Ctd>1254\u003C\u002Ftd>\n    \u003Ctd>444.2 \u003C\u002Ftd>\n    \u003Ctd>99.4 \u003C\u002Ftd>\n    \u003Ctd>1537\u003C\u002Ftd>\n    \u003Ctd>446.4 \u003C\u002Ftd>\n    \u003Ctd>134.9\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue6\u003C\u002Ftd>\n    \u003Ctd>929\u003C\u002Ftd>\n    \u003Ctd>410.6 \u003C\u002Ftd>\n    \u003Ctd>96.1 \u003C\u002Ftd>\n    \u003Ctd>1157\u003C\u002Ftd>\n    \u003Ctd>409.3 \u003C\u002Ftd>\n    \u003Ctd>115.1\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>newblue7\u003C\u002Ftd>\n    \u003Ctd>1077\u003C\u002Ftd>\n    \u003Ctd>903.6 \u003C\u002Ftd>\n    \u003Ctd>184.1 \u003C\u002Ftd>\n    \u003Ctd>1578\u003C\u002Ftd>\n    \u003Ctd>903.2 \u003C\u002Ftd>\n    \u003Ctd>235.1\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>平均比值\u003C\u002Ftd>\n    \u003Ctd>0.855\u003C\u002Ftd>\n    \u003Ctd>1.081\u003C\u002Ftd>\n    \u003Ctd>0.830\u003C\u002Ftd>\n    \u003Ctd>1.000\u003C\u002Ftd>\n    \u003Ctd>1.000\u003C\u002Ftd>\n    \u003Ctd>1.000\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n`*` 表示发散或合法化失败。\n请注意，如果您在日志中观察到发散或合法化错误，则这些结果可能不具有代表性。","# DREAMPlace 快速上手指南\n\nDREAMPlace 是一个基于深度学习工具包开发的 VLSI（超大规模集成电路）布局工具，利用非线性布局与深度学习训练的类比，实现了高效的 CPU 和 GPU 加速。在 Nvidia Tesla V100 GPU 上，其全局布局和合法化速度相比传统 CPU 实现（RePlAce）可提升 30 倍以上。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Linux (推荐), Windows, macOS\n- **编译器**: GCC 7.5 (推荐，支持 `c++17`)。**不建议**使用 GCC 9 或更高版本，可能存在兼容性问题。\n- **GPU (可选)**: 若需 GPU 加速，需安装 CUDA 9.1 或更高版本，且显卡计算能力需 >= 6.0 (如 Volta, Turing, Ampere 架构)。\n\n### 前置依赖\n请确保已安装以下基础软件：\n- **Python**: 3.5 - 3.9\n- **PyTorch**: 1.6 \u002F 1.7 \u002F 1.8 \u002F 2.0 (其他版本未测试)\n- **CMake**: 用于构建项目\n- **Boost**: >= 1.55.0 (需安装并链接可见)\n- **Bison**: >= 3.3\n- **Git**: 用于克隆代码及子模块\n\n> **提示**: 国内用户可使用清华源或阿里源加速 `pip` 和 `apt\u002Fyum` 包的安装。\n\n## 安装步骤\n\n### 1. 获取源码\n克隆仓库并初始化子模块（包含 Limbo, Flute, OpenTimer 等核心组件）：\n\n```bash\ngit clone --recursive https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace.git\ncd DREAMPlace\n```\n\n*如果之前已克隆但未拉取子模块，执行:*\n```bash\ngit submodule init\ngit submodule update\n```\n\n### 2. 安装 Python 依赖\n在项目根目录下运行：\n\n```bash\npip install -r requirements.txt\n```\n*(国内用户建议添加镜像源：`pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`)*\n\n### 3. 编译构建\n推荐使用 **Docker** 方式以避免复杂的环境配置；若无 Docker，可选择本地编译。\n\n#### 方案 A：使用 Docker (推荐)\n此方法自动包含所有依赖，支持 GPU 加速。\n\n1. **拉取镜像**:\n   ```bash\n   docker pull limbo018\u002Fdreamplace:cuda\n   ```\n   *(若无 GPU，可拉取不带 cuda 标签的版本或忽略 nvidia-docker 步骤)*\n\n2. **启动容器**:\n   - **Linux (带 GPU)**:\n     ```bash\n     docker run --gpus 1 -it -v $(pwd):\u002FDREAMPlace limbo018\u002Fdreamplace:cuda bash\n     ```\n   - **Windows (带 GPU)**:\n     ```bash\n     docker run --gpus 1 -it -v \u002Fdreamplace limbo018\u002Fdreamplace:cuda bash\n     ```\n   - **无 GPU 模式**: 去掉 `--gpus 1` 参数即可。\n\n3. **在容器内编译**:\n   进入容器后，执行下方“方案 B\"中的编译命令。\n\n#### 方案 B：本地编译 (无 Docker)\n使用 CMake 进行构建：\n\n```bash\nmkdir build\ncd build\ncmake .. -DCMAKE_INSTALL_PREFIX=..\u002Finstall -DPython_EXECUTABLE=$(which python)\nmake\nmake install\n```\n*注：`..\u002Finstall` 为安装目录，可根据需要修改。编译完成后，`build` 目录可删除。*\n\n## 基本使用\n\n### 1. 获取测试基准 (Benchmarks)\n下载 ISPD 2005 和 2015 测试用例：\n\n```bash\npython benchmarks\u002Fispd2005_2015.py\n```\n\n### 2. 运行布局\n进入安装目录（若使用 Docker 则为 `\u002FDREAMPlace\u002Finstall`），通过 JSON 配置文件运行。\n\n假设你有一个名为 `config.json` 的配置文件和一个 `.bookshelf` 格式的电路网表文件：\n\n```bash\ncd ..\u002Finstall\npython dreamplace.py config.json\n```\n\n**最简单的运行示例**（以 ISPD 2005 的 `bigblue4` 为例，需先确保已下载 benchmark）：\n\n```bash\n# 进入安装目录\ncd install\n\n# 运行全局布局 (Global Placement)\npython dreamplace.py ..\u002Fbenchmarks\u002Fispd2005\u002Fbigblue4\u002Fbigblue4.json\n```\n\n运行结束后，工具会输出布局结果文件及相关的密度图、电势图等可视化数据（若安装了 Cairo 库，绘图速度更快）。","某芯片设计团队正在为一款高性能 AI 加速器进行后端布局规划，面对千万级门电路规模的网表，需要在极短的迭代周期内完成全局布局与合法化验证。\n\n### 没有 DREAMPlace 时\n- **迭代周期漫长**：依赖传统 CPU 串行布局工具（如 NTUPlace3），处理百万级单元规模的设计往往需要数小时甚至更久，严重拖慢“设计 - 验证”闭环。\n- **硬件资源闲置**：团队配备的高性能 GPU 服务器在布局阶段无法发挥作用，只能作为普通计算节点，算力利用率极低。\n- **调试反馈滞后**：由于单次运行耗时过长，工程师每天仅能尝试有限的参数组合，难以快速探索最优布局策略以收敛时序和拥塞问题。\n- **大规模设计瓶颈**：随着工艺节点演进，电路规模激增，传统算法在处理超大规模基准测试（如 ISPD 2005）时显得力不从心，经常遭遇内存或时间墙。\n\n### 使用 DREAMPlace 后\n- **速度飞跃提升**：利用 Nvidia Tesla V100 GPU 加速，DREAMPlace 在全局布局和合法化阶段实现了超过 30 倍的速度提升，将数小时的任务压缩至几分钟内完成。\n- **异构算力激活**：直接将深度学习框架引入 EDA 流程，完美适配现有 GPU 集群，让昂贵的图形处理器成为布局引擎的核心动力。\n- **高频次迭代优化**：极速的运行效率让工程师能在一天内尝试数十种不同的布局约束和参数配置，快速找到满足时序要求的最佳方案。\n- **从容应对超大规模**：集成的 ABCDPlace 详细布局器在百万级单元基准上比传统工具快约 16 倍，轻松驾驭现代复杂 SoC 设计的密度挑战。\n\nDREAMPlace 通过将 VLSI 布局问题转化为深度学习训练任务，彻底打破了传统 CPU 布局的性能天花板，让芯片后端设计进入了分钟级迭代的新时代。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flimbo018_DREAMPlace_9d11aa95.gif","limbo018","Yibo Lin","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Flimbo018_3e93cbb7.jpg",null,"Peking University","Beijing","https:\u002F\u002Fyibolin.com","https:\u002F\u002Fgithub.com\u002Flimbo018",[81,85,89,93,97,101,105,108],{"name":82,"color":83,"percentage":84},"C++","#f34b7d",49.7,{"name":86,"color":87,"percentage":88},"Python","#3572A5",28.8,{"name":90,"color":91,"percentage":92},"Cuda","#3A4E3A",19.1,{"name":94,"color":95,"percentage":96},"CMake","#DA3434",1.7,{"name":98,"color":99,"percentage":100},"C","#555555",0.6,{"name":102,"color":103,"percentage":104},"Dockerfile","#384d54",0,{"name":106,"color":107,"percentage":104},"Raku","#0000fb",{"name":109,"color":110,"percentage":104},"TeX","#3D6117",969,261,"2026-04-08T23:04:05","BSD-3-Clause",4,"Linux, Windows, macOS","非必需（无 GPU 时自动启用多线程 CPU 模式）。若使用 GPU，需 NVIDIA 显卡且计算能力 (Compute Capability) >= 6.0（已测试架构：6.0, 7.0, 7.5，如 Tesla V100），需安装 CUDA 9.1 或更高版本。","未说明",{"notes":120,"python":121,"dependencies":122},"1. 编译器建议：推荐使用 GCC 7.5，不推荐 GCC 9 及以上版本（存在向后兼容性问题）。2. ABI 兼容性：编译时需确保 CMAKE_CXX_ABI 设置与 PyTorch 及 Boost 等依赖库的 _GLIBCXX_USE_CXX11_ABI 设置一致（PyTorch 默认为 0）。3. 构建方式：支持直接使用 Docker 容器构建（可避免手动配置依赖）或本地源码编译。4. 子模块：首次克隆仓库需初始化并更新 git 子模块（如 Limbo, Flute, CUB 等）。5. 绘图加速：若安装 Cairo 库，绘图函数将使用 C\u002FC++ 实现以提升速度。","3.5, 3.6, 3.7, 3.8, 3.9",[123,124,125,126,94,127,128,129,130,131],"PyTorch (1.6\u002F1.7\u002F1.8\u002F2.0)","GCC (推荐 7.5, 支持 c++17)","Boost (>= 1.55.0)","Bison (>= 3.3)","CUDA Toolkit (>= 9.1)","Cairo (可选)","Limbo (子模块)","Flute (子模块)","OpenTimer (子模块)",[14],[134,135,136,137,138,139],"vlsi-physical-design","deep-learning","pytorch","vlsi","vlsi-placement","gpu-acceleration","2026-03-27T02:49:30.150509","2026-04-11T23:23:13.750692",[143,148,153,158,163,168],{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},29938,"编译时遇到 'DefParser::Region has not been declared' 错误如何解决？","该问题通常由读取包含未放置实例（UNPLACED instances）且未指定方向（ORIENT）的 DEF 文件引起。维护者已通过提交 a0d239a 修复了此问题。请更新代码到最新版本即可解决。注意：目前 DREAMPlace 在全局布局和合法化阶段尚未考虑可布线性（routability）和围栏区域（fence regions），因此详细布局仅正式支持 ISPD2015 基准测试。","https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Fissues\u002F12",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},29939,"在 Docker 中构建时出现 'ModuleNotFoundError: No module named dreamplace.ops.place_io.place_io_cpp' 错误怎么办？","这通常是因为安装路径配置错误。不要在构建文件夹（build folder）中直接运行安装命令，因为该文件夹是 cmake 保留使用的。请尝试使用以下命令指定安装前缀：\ncmake .. -DCMAKE_INSTALL_PREFIX=..\u002Finstall\n然后执行 make 和 make install。确保在正确的目录下运行这些命令。","https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Fissues\u002F20",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},29940,"如何在 MMS 基准测试中调整参数以获得更优的 HPWL（半周长线长）？是否可以让 IO Pads 移动？","MMS 基准测试并非专为 IO Pads 放置设计。在原始的 ISPD2005 基准中，IO Pads 具有非零尺寸且被标记为 \u002FFIXED。如果您希望让 IO Pads 可移动，可以删除基准文件中的所有 '\u002FFIXED' 标记。DREAMPlace 在这种情况下不会报告段错误（Segmentation fault）。但需注意，如果节点尺寸为 (0, 0) 且被设为可移动，可能会导致详细布局阶段出错。","https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Fissues\u002F155",{"id":159,"question_zh":160,"answer_zh":161,"source_url":162},29941,"运行 DAC-2012 基准测试时，NCTU-GR 工具报错找不到 '.ofinfo' 文件是什么原因？","这不是 DREAMPlace 内部的问题。'.ofinfo' 文件是由外部工具 NCTU-GR 生成的。如果该文件缺失，说明 NCTU-GR 工具本身运行异常或未正确配置。建议检查 NCTU-GR 工具的安装和工作流程，确保其能正常生成路由结果及相关信息文件。","https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Fissues\u002F54",{"id":164,"question_zh":165,"answer_zh":166,"source_url":167},29942,"从 DEF\u002FLEF 文件读取的 Pin 坐标和旋转方向不一致（Pin 被旋转了两次）如何修复？","这是一个已知的代码逻辑问题，导致 Pin 被重复旋转。维护者确认注释掉 PlaceDB.cpp 文件中的第 1752 至 1755 行即可解决此问题。相关修复提交参考：132474b。修改后重新编译项目即可使 Pin 坐标和方向正确对应。","https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Fissues\u002F209",{"id":169,"question_zh":170,"answer_zh":171,"source_url":172},29943,"运行 cmake 时提示 'Could NOT find LpSolve and COIN' 缺少依赖库怎么办？","虽然提供的日志截断了具体报错后续，但此类错误通常意味着系统缺少线性规划求解器 LpSolve 或 COIN-OR 库。您需要手动安装这些依赖。在 Ubuntu\u002FDebian 系统上，可以尝试安装 'libcoinor-utils' 或从源码编译 LpSolve 和 COIN-OR 项目，并确保 cmake 能找到它们的头文件和库文件路径。","https:\u002F\u002Fgithub.com\u002Flimbo018\u002FDREAMPlace\u002Fissues\u002F67",[]]