feat: add VLSI Global Placement benchmark (Frontier-Eng) - #98
Conversation
🤖 AI Code Review (gemini-3-flash-preview)🇬🇧 English Analysis1. Executive Summary
2. AI Content Analysis
3. Engineering & Economic Assessment
4. Quality Assurance
5. Security & Privacy Check
🇨🇳 中文分析1. 摘要
2. AI 成分分析
3. 工程与经济评估
4. 质量保证
5. 安全与隐私检查
|
|
Review — VLSIGlobalPlacement (PR #98) Thank you for contributing this benchmark. VLSI global placement is a real EDA physical design problem using real ISPD 2005 benchmark data. After a line-by-line review of all files, the overall direction is correct, but a critical Docker integration bug and several other issues need to be addressed. 1. Domain, Economic Value, and Frontier-Eng Fit ✅ VLSI global placement is a key stage in the ASIC physical design flow — after logic synthesis and floorplanning, standard cells are placed on the chip to minimize wirelength. Placement quality directly affects chip area, power, and timing closure. The task uses the ISPD 2005 placement contest benchmarks adaptec1 (~211k cells) and adaptec3 (~451k cells). HPWL is the industry-standard metric for placement quality. Economic value is clear, and starting from a feasible baseline with verifier-driven iterative improvement aligns with Frontier-Eng's positioning. 2. Not purely numerical ✅ The agent modifies 3. Search space ✅ Placing 211k-451k cells in a continuous 2D coordinate space creates an enormous search space that cannot be brute-forced. The baseline uses a deterministic row-based placement with intentionally poor HPWL, providing substantial headroom for improvement (e.g., via analytical placers like RePlAce, ePlace, DREAMPlace). 4. Evaluator and engineering verification ✅ The evaluator independently implements HPWL computation and legality checks:
HPWL is independently computed by the evaluator without trusting candidate-reported values. The candidate runs in a subprocess with a 600-second timeout. 5. Constraint enforcement ✅ Constraints are implemented one by one in 6. Baseline experiment
7. Scoring system ✅
8. Issues to address Issue 1 (most critical): Dockerfile ENTRYPOINT hardcodes In ENTRYPOINT ["python", "/workspace/verification/evaluator.py", "/workspace/benchmarks/ElectronicDesignAutomation/VLSIGlobalPlacement/scripts/init.py"]The Docker container's ENTRYPOINT hardcodes the original
This is a critical bug that breaks the benchmark's core purpose. Suggestions:
Issue 2: 73MB of reference JSON files committed directly to the repository
Issue 3: Missing EVOLVE-BLOCK boundary validation
Issue 4: Candidate subprocess lacks resource limits
Issue 5: No test file There are no
Issue 6: No baseline run results Suggestion: create Issue 7 (non-blocking): Dockerfile is not pinned by SHA
Other items verified
Summary The VLSI global placement direction is correct, using real ISPD 2005 data with independently reliable constraint validation and HPWL computation. Issue 1 (Docker ENTRYPOINT hardcoding causing the candidate to never be evaluated) is the most critical bug and must be fixed. Issues 2 (73MB data files), 3 (missing EVOLVE-BLOCK validation), 4 (no RLIMIT), 5 (no tests), and 6 (no baseline results) should also be addressed. The review can proceed once the above issues are addressed. |
- Dockerfile: ENTRYPOINT -> CMD so Docker evaluation uses the candidate - Compress reference JSONs with gzip (71MB -> 12MB), update all loaders - Add EVOLVE-BLOCK boundary validation to the evaluator - Add RLIMIT_CPU/NPROC/AS resource limits for the candidate subprocess - Add verification/test_evaluator.py (15 unit + e2e tests) - Add baseline/result_log.txt with recorded baseline results - Update README/Task docs to match the compressed format
🤖 AI Code Review (gemini-3-flash-preview)🇬🇧 English Analysis1. Executive Summary
2. AI Content Analysis
3. Engineering & Economic Assessment
4. Quality Assurance
5. Security & Privacy Check
🇨🇳 中文分析1. 摘要
2. AI 成分分析
3. 工程与经济评估
4. 质量保证
5. 安全与隐私检查
|
|
Thanks for the detailed review. I have addressed all blocking and major issues in the latest commit ( Addressed issues1. Docker evaluation bug (ENTRYPOINT hardcoding) — Fixed
2. Reference data size — Fixed
3. EVOLVE-BLOCK validation — Fixed
4. Resource limits — Fixed
5. Evaluator tests — Fixed
6. Baseline results — Fixed
Verification after changes
Both benchmarks remain deterministic and produce legal placements. Remaining non-blocking itemDocker image SHA pinning We have not pinned Thanks again for the thorough review. The benchmark should now satisfy the Frontier-Eng evaluation requirements. |
Summary
This PR adds a new Frontier-Eng benchmark for VLSI Global Placement, based on the ISPD 2005 placement benchmark suite.
The task requires an agent to generate legal placements for movable components while minimizing Half-Perimeter Wirelength (HPWL) under placement constraints.
The benchmark includes two representative datasets with different difficulty levels:
Highlights
Benchmark
Agent Interface
The agent can modify only the
place_components()function inscripts/init.py, which is enclosed by an EVOLVE-BLOCK. All evaluation logic, data loading, and output interfaces remain read-only.Evaluation
The evaluator independently verifies:
A candidate is considered valid only if all legality constraints are satisfied.
Baseline
A deterministic row-based placement baseline is provided.
The baseline:
Repository Structure
This benchmark follows the standard Frontier-Eng layout, including:
scripts/verification/baseline/references/frontier_eval/with
scripts/init.pyas the only editable source file.Verification
Verified on both benchmarks.
Runtime:
Docker Support
Containerized evaluation is supported through
verification/docker/Dockerfile.Notes
To reduce repository size, the benchmark stores netlists in a compact index-based representation. During loading, the representation is deterministically expanded into the original in-memory format. This compression is lossless and does not affect placement, legality checking, or HPWL computation.
Only two datasets (adaptec1 and adaptec3) are included in this benchmark. Frontier-Eng benchmarks are not required to include every instance from the original ISPD 2005 benchmark suite; representative instances covering different difficulty levels are sufficient.