diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index a90ad56..de5099b 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -38,15 +38,6 @@ jobs: - boom_soc - ispd16_example2 exclude: - # Insufficient memory on GitHub Actions - - router: hao3 - benchmark: mlcad_d181_lefttwo3rds - - router: hao3 - benchmark: koios_dla_like_large - - router: hao3 - benchmark: boom_soc - - router: hao3 - benchmark: ispd16_example2 # NXRoute does not support LUT pin swapping - router: nxroute-poc lutpinswapping: true @@ -75,12 +66,8 @@ jobs: - env: REPORT_ROUTE_STATUS_URL: ${{ secrets.REPORT_ROUTE_STATUS_URL }} REPORT_ROUTE_STATUS_AUTH: ${{ secrets.REPORT_ROUTE_STATUS_AUTH }} - # For certain benchmarks, wirelength_analyzer/CheckPhysNetlist requires more memory than that available in GitHub Actions - WIRELENGTH_ANALYZER_MOCK_RESULT: ${{ matrix.benchmark == 'koios_dla_like_large' }} - CHECK_PHYS_NETLIST_DIFF_MOCK_RESULT: ${{ matrix.benchmark == 'koios_dla_like_large' }} RWROUTE_FORCE_LUT_PINSWAPPING: ${{ (matrix.router == 'rwroute' || matrix.router == 'hao3') && matrix.lutpinswapping }} RWROUTE_FORCE_LUT_ROUTETHRU: ${{ (matrix.router == 'rwroute' || matrix.router == 'hao3') && matrix.lutroutethru }} - timeout-minutes: 10 run: | make ROUTER="${{ matrix.router }}" BENCHMARKS="${{ matrix.benchmark }}" VERBOSE=1 - name: Score summary diff --git a/Makefile b/Makefile index 7fabf0d..f56c4ea 100644 --- a/Makefile +++ b/Makefile @@ -53,8 +53,8 @@ else endif ifdef GITHUB_ACTIONS - # Limit Java heap size inside GitHub Actions to 6G - JVM_HEAP = -Xms6g -Xmx6g + # Limit Java heap size inside GitHub Actions to 14G + JVM_HEAP = -Xms14g -Xmx14g else # If not specified, limit Java heap size ~32G JVM_HEAP ?= -Xms32736m -Xmx32736m @@ -119,12 +119,7 @@ fpga-interchange-schema/interchange/capnp/java.capnp: fi %_$(ROUTER).wirelength: %_$(ROUTER).phys | setup-wirelength_analyzer - if [[ "$(WIRELENGTH_ANALYZER_MOCK_RESULT)" == "true" ]]; then \ - echo "::warning file=$<::wirelength_analyzer not run because WIRELENGTH_ANALYZER_MOCK_RESULT is set"; \ - echo "Wirelength: inf" > $@; \ - else \ - python3 wirelength_analyzer/wa.py $< $(call log_and_or_display,$@); \ - fi + python3 wirelength_analyzer/wa.py $< $(call log_and_or_display,$@); \ .PHONY: score-$(ROUTER) score-$(ROUTER): $(foreach b,$(BENCHMARKS),$b_$(ROUTER).wirelength $b_$(ROUTER).check) diff --git a/RapidWright b/RapidWright index a858134..425d89e 160000 --- a/RapidWright +++ b/RapidWright @@ -1 +1 @@ -Subproject commit a85813419f86412e34930232f4131a83c4eac0b4 +Subproject commit 425d89e28cce0df648e2236a950efd035450438c diff --git a/alpha_submission/rwroute_container.def b/alpha_submission/rwroute_container.def index c1ade60..71f77b3 100644 --- a/alpha_submission/rwroute_container.def +++ b/alpha_submission/rwroute_container.def @@ -1,5 +1,5 @@ BootStrap: docker -From: eclipse-temurin:17 # Base image with Java VM 17 on Ubuntu +From: eclipse-temurin:17-jdk-jammy # Base image with Java VM 17 on Ubuntu 22.04 %post # Install remaining system dependencies diff --git a/docs/benchmarks.md b/docs/benchmarks.md index c453015..663a1ea 100644 --- a/docs/benchmarks.md +++ b/docs/benchmarks.md @@ -41,8 +41,8 @@ Available from [https://github.com/Xilinx/fpga24_routing_contest/releases/latest |Source Benchmark Suite|Benchmark Name|LUTs|FFs|DSPs|BRAMs|OOC [1]| |----------------------|--------------|----|---|----|-----|-------| -| [RapidWright](https://github.com/Xilinx/RapidWright) |`picoblaze_array` (660 PicoBlaze cores) |76k |77k |0 |0 |Y | -| [Corundum](https://github.com/corundum/corundum) |`100g` (ADM_PCIE_9V3 25G) |76k |104k |0 |290|N | +| [RapidWright](https://github.com/Xilinx/RapidWright) |`picoblazearray` (660 PicoBlaze cores) |76k |77k |0 |660|Y | +| [Corundum](https://github.com/corundum/corundum) |`100g` (ADM_PCIE_9V3 100G) |76k |104k |0 |290|N | | [Koios 2.0](https://docs.verilogtorouting.org/en/latest/vtr/benchmarks/#koios-2-0-benchmarks) |`clstm_like_large` (clstm_like.large) |89k |184k |1289|370|Y | | [Titan23](https://docs.verilogtorouting.org/en/latest/vtr/benchmarks/#titan-benchmarks) |`orig_gsm_x6` (Original gsm_switch replicated 6 times) |133k|160k |0 |432|Y | | [CoreScore](https://github.com/olofk/corescore) |`900` (900 SERV cores) |174k|210k |0 |451|N | diff --git a/docs/results.md b/docs/results.md index 9aeb5f6..d9053cd 100644 --- a/docs/results.md +++ b/docs/results.md @@ -17,6 +17,9 @@ For an overview of the reuslts, please see these [slides](fpga24-contest-slides. **Team members:** Dani Maarouf, Timothy Martin, Charlotte Barnes
**Advisors:** Shawki Areibi, Gary Grewal +Publication: +- [A High-Performance Routing Engine for Large-Scale FPGAs](https://doi.ieeecomputersociety.org/10.1109/FPL64840.2024.00017) + | Overview | Video | | - | - | | [![GRoute-Slide](https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/5b279fc6-6c58-43f1-9b51-a0aef72dcf86)](https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/5b279fc6-6c58-43f1-9b51-a0aef72dcf86) |