From b8ad3940681d6a1ad17979d9e1ad2d55222d9071 Mon Sep 17 00:00:00 2001 From: eddieh-xlnx Date: Wed, 31 Jul 2024 12:54:24 -0700 Subject: [PATCH 1/3] Fix rapidwright_picoblazearray BRAM count --- docs/benchmarks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/benchmarks.md b/docs/benchmarks.md index c453015..4f32350 100644 --- a/docs/benchmarks.md +++ b/docs/benchmarks.md @@ -41,7 +41,7 @@ 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 | +| [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 25G) |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 | From 384014abf008cf53f544eba59e00c8cc41899111 Mon Sep 17 00:00:00 2001 From: eddieh-xlnx Date: Wed, 31 Jul 2024 15:31:13 -0700 Subject: [PATCH 2/3] Fix another typo --- docs/benchmarks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/benchmarks.md b/docs/benchmarks.md index 4f32350..663a1ea 100644 --- a/docs/benchmarks.md +++ b/docs/benchmarks.md @@ -42,7 +42,7 @@ 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) |`picoblazearray` (660 PicoBlaze cores) |76k |77k |0 |660|Y | -| [Corundum](https://github.com/corundum/corundum) |`100g` (ADM_PCIE_9V3 25G) |76k |104k |0 |290|N | +| [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 | From 955e2d9443873d85010af18aea7b9cfd513078b3 Mon Sep 17 00:00:00 2001 From: eddieh-xlnx Date: Fri, 25 Oct 2024 14:04:03 -0700 Subject: [PATCH 3/3] Update/fix Actions; add open-source links/publications (#95) * Up Xms/Xmx to 14G (of 16G) inside GitHub Actions Signed-off-by: Eddie Hung * Retry all memory-limited benchmarks again Signed-off-by: Eddie Hung * Explicitly use 22.04 docker image for libtinfo5 Signed-off-by: Eddie Hung * Disable mock results Signed-off-by: Eddie Hung * Use JDK not JRE image Signed-off-by: Eddie Hung * Add open-source and publication links Signed-off-by: Eddie Hung * Remove all uses of *_MOCK_RESULT Signed-off-by: Eddie Hung * Remove commented out code that's now working Signed-off-by: Eddie Hung * Fix GRoute publication Signed-off-by: Eddie Hung --------- Signed-off-by: Eddie Hung --- .github/workflows/make.yml | 12 ------------ Makefile | 11 +++-------- alpha_submission/rwroute_container.def | 2 +- docs/results.md | 16 ++++++++++++++++ final_submission/rwroute_container.def | 2 +- .../fpga24_routing_contest/CheckPhysNetlist.java | 15 +++++---------- 6 files changed, 26 insertions(+), 32 deletions(-) diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index 1c74192..93cc561 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -39,15 +39,6 @@ jobs: - boom_soc - ispd16_example2 exclude: - # Insufficient memory on GitHub Actions - - router: rwroute - benchmark: mlcad_d181_lefttwo3rds - - router: rwroute - benchmark: koios_dla_like_large - - router: rwroute - benchmark: boom_soc - - router: rwroute - benchmark: ispd16_example2 # NXRoute does not support LUT pin swapping - router: nxroute-poc lutpinswapping: true @@ -76,9 +67,6 @@ 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.lutpinswapping }} RWROUTE_FORCE_LUT_ROUTETHRU: ${{ matrix.router == 'rwroute' && matrix.lutroutethru }} run: | diff --git a/Makefile b/Makefile index 56d0b32..9526ed2 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/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/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) |