Skip to content

Commit 955e2d9

Browse files
authored
Update/fix Actions; add open-source links/publications (Xilinx#95)
* Up Xms/Xmx to 14G (of 16G) inside GitHub Actions Signed-off-by: Eddie Hung <[email protected]> * Retry all memory-limited benchmarks again Signed-off-by: Eddie Hung <[email protected]> * Explicitly use 22.04 docker image for libtinfo5 Signed-off-by: Eddie Hung <[email protected]> * Disable mock results Signed-off-by: Eddie Hung <[email protected]> * Use JDK not JRE image Signed-off-by: Eddie Hung <[email protected]> * Add open-source and publication links Signed-off-by: Eddie Hung <[email protected]> * Remove all uses of *_MOCK_RESULT Signed-off-by: Eddie Hung <[email protected]> * Remove commented out code that's now working Signed-off-by: Eddie Hung <[email protected]> * Fix GRoute publication Signed-off-by: Eddie Hung <[email protected]> --------- Signed-off-by: Eddie Hung <[email protected]>
1 parent 384014a commit 955e2d9

File tree

6 files changed

+26
-32
lines changed

6 files changed

+26
-32
lines changed

.github/workflows/make.yml

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,6 @@ jobs:
3939
- boom_soc
4040
- ispd16_example2
4141
exclude:
42-
# Insufficient memory on GitHub Actions
43-
- router: rwroute
44-
benchmark: mlcad_d181_lefttwo3rds
45-
- router: rwroute
46-
benchmark: koios_dla_like_large
47-
- router: rwroute
48-
benchmark: boom_soc
49-
- router: rwroute
50-
benchmark: ispd16_example2
5142
# NXRoute does not support LUT pin swapping
5243
- router: nxroute-poc
5344
lutpinswapping: true
@@ -76,9 +67,6 @@ jobs:
7667
- env:
7768
REPORT_ROUTE_STATUS_URL: ${{ secrets.REPORT_ROUTE_STATUS_URL }}
7869
REPORT_ROUTE_STATUS_AUTH: ${{ secrets.REPORT_ROUTE_STATUS_AUTH }}
79-
# For certain benchmarks, wirelength_analyzer/CheckPhysNetlist requires more memory than that available in GitHub Actions
80-
WIRELENGTH_ANALYZER_MOCK_RESULT: ${{ matrix.benchmark == 'koios_dla_like_large' }}
81-
CHECK_PHYS_NETLIST_DIFF_MOCK_RESULT: ${{ matrix.benchmark == 'koios_dla_like_large' }}
8270
RWROUTE_FORCE_LUT_PINSWAPPING: ${{ matrix.router == 'rwroute' && matrix.lutpinswapping }}
8371
RWROUTE_FORCE_LUT_ROUTETHRU: ${{ matrix.router == 'rwroute' && matrix.lutroutethru }}
8472
run: |

Makefile

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ else
5353
endif
5454

5555
ifdef GITHUB_ACTIONS
56-
# Limit Java heap size inside GitHub Actions to 6G
57-
JVM_HEAP = -Xms6g -Xmx6g
56+
# Limit Java heap size inside GitHub Actions to 14G
57+
JVM_HEAP = -Xms14g -Xmx14g
5858
else
5959
# If not specified, limit Java heap size ~32G
6060
JVM_HEAP ?= -Xms32736m -Xmx32736m
@@ -119,12 +119,7 @@ fpga-interchange-schema/interchange/capnp/java.capnp:
119119
fi
120120

121121
%_$(ROUTER).wirelength: %_$(ROUTER).phys | setup-wirelength_analyzer
122-
if [[ "$(WIRELENGTH_ANALYZER_MOCK_RESULT)" == "true" ]]; then \
123-
echo "::warning file=$<::wirelength_analyzer not run because WIRELENGTH_ANALYZER_MOCK_RESULT is set"; \
124-
echo "Wirelength: inf" > $@; \
125-
else \
126-
python3 wirelength_analyzer/wa.py $< $(call log_and_or_display,$@); \
127-
fi
122+
python3 wirelength_analyzer/wa.py $< $(call log_and_or_display,$@); \
128123

129124
.PHONY: score-$(ROUTER)
130125
score-$(ROUTER): $(foreach b,$(BENCHMARKS),$b_$(ROUTER).wirelength $b_$(ROUTER).check)

alpha_submission/rwroute_container.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
BootStrap: docker
2-
From: eclipse-temurin:17 # Base image with Java VM 17 on Ubuntu
2+
From: eclipse-temurin:17-jdk-jammy # Base image with Java VM 17 on Ubuntu 22.04
33

44
%post
55
# Install remaining system dependencies

docs/results.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ For an overview of the reuslts, please see these [slides](fpga24-contest-slides.
1717
**Team members:** Dani Maarouf, Timothy Martin, Charlotte Barnes<br>
1818
**Advisors:** Shawki Areibi, Gary Grewal
1919

20+
Publication:
21+
- [A High-Performance Routing Engine for Large-Scale FPGAs](https://doi.ieeecomputersociety.org/10.1109/FPL64840.2024.00017)
22+
2023
| Overview | Video |
2124
| - | - |
2225
| [![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) | <video src="https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/edbcbd5a-f86b-47fe-ae58-a10c05b15e8a#t=0.5" controls="controls" style="max-width: 662px;"/> |
@@ -26,6 +29,12 @@ For an overview of the reuslts, please see these [slides](fpga24-contest-slides.
2629
**Team members:** Xinshi Zang, Wenhao Lin, Shiju Lin, Qin Luo<br>
2730
**Advisor:** Evangeline F.Y. Young
2831

32+
Open-source: https://github.com/xszang/parallel-routing ([integrated upstream](https://github.com/Xilinx/fpga24_routing_contest/tree/2nd-cufr))
33+
34+
Publications:
35+
- [An Open-Source Fast Parallel Routing Approach for Commercial FPGAs](https://github.com/xszang/parallel-routing/blob/main/doc/glsvlsi24-camera-ready.pdf)
36+
- Potter: A Parallel Overlap-Tolerant Router for UltraScale FPGAs *(to appear)*
37+
2938
| Overview | Video |
3039
| - | - |
3140
| [![CUFR-Slide](https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/9242ce96-6517-44c1-829f-f5c8f2d28339)](https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/9242ce96-6517-44c1-829f-f5c8f2d28339) | <video src="https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/780a30df-b7cc-483d-9bfb-f2f354b4d5d1#t=0.5" controls="controls" style="max-width: 662px;"/> |
@@ -36,6 +45,9 @@ For an overview of the reuslts, please see these [slides](fpga24-contest-slides.
3645
**Advisor:** Guojie Luo<sup>*</sup><br>
3746
*<sup>\*</sup>Peking University, <sup>+</sup>DeePoly Technology Inc.*
3847

48+
Publication:
49+
- [AceRoute: Adaptive Compute-Efficient FPGA Routing with Pluggable Intra-Connection Bidirectional Exploration](https://xmwei.com/assets/pdf/wei2024aceroute.pdf)
50+
3951
| Overview | Video |
4052
| - | - |
4153
| [![AceRoute-Slide](https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/9d7dc7b6-e31d-44df-8e30-90a3f1f19daa)](https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/9d7dc7b6-e31d-44df-8e30-90a3f1f19daa) | <video src="https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/2f1e36da-80cd-4859-8ce8-2bfdaeb3075a#t=0.5" controls="controls" style="max-width: 662px;"/> |
@@ -45,6 +57,8 @@ For an overview of the reuslts, please see these [slides](fpga24-contest-slides.
4557
**Team members:** Jiarui Wang, Xun Jiang, Chunyuan Zhao<br>
4658
**Advisor:** Yibo Lin
4759

60+
Open-source: https://github.com/PKU-IDEA/OpenPARF/tree/master/fpga24contest ([integrated upstream](https://github.com/Xilinx/fpga24_routing_contest/tree/4th-cuckoo))
61+
4862
| Overview | Video |
4963
| - | - |
5064
| [![TeamCuckoo-Slide](https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/6483ab18-be08-4be3-ad46-8b69a5d13a55)](https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/6483ab18-be08-4be3-ad46-8b69a5d13a55) | <video src="https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/af84a46e-d73a-4b87-be18-9652621f6b5c" controls="controls" style="max-width: 662px;"/> |
@@ -54,6 +68,8 @@ For an overview of the reuslts, please see these [slides](fpga24-contest-slides.
5468
**Team members:** Wenbin Teng, Qianyu Cheng, Zhendong Zheng, Binze Jiang, Yixuan Zhu, Zihan Wang<br>
5569
**Advisors:** Chao Wang, Teng Wang
5670

71+
Open-source: https://github.com/Reconfigurable-Computing/RapidWright ([integrated upstream](https://github.com/Xilinx/fpga24_routing_contest/tree/5th-hao3))
72+
5773
| Overview | Video |
5874
| - | - |
5975
| [![Hao3-Slide](https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/14b148e3-55a4-48e8-a0ee-88f19498b253)](https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/14b148e3-55a4-48e8-a0ee-88f19498b253) | <video src="https://github.com/Xilinx/fpga24_routing_contest/assets/90657806/00418fb1-2bdc-4a8b-93d0-125f8726ec00" controls="controls" style="max-width: 662px;"/> |

final_submission/rwroute_container.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
BootStrap: docker
2-
From: eclipse-temurin:17 # Base image with Java VM 17 on Ubuntu
2+
From: eclipse-temurin:17-jdk-jammy # Base image with Java VM 17 on Ubuntu 22.04
33

44
%files
55
## Example copy of /dir1 into /opt inside container

src/com/xilinx/fpga24_routing_contest/CheckPhysNetlist.java

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,12 @@ public static void main(String[] args) throws IOException, InterruptedException
5757

5858
// Read the routed and unrouted Physical Netlists
5959
Design routedDesign = PhysNetlistReader.readPhysNetlist(args[1]);
60-
int numDiffs = 0;
61-
if ("true".equals(System.getenv("CHECK_PHYS_NETLIST_DIFF_MOCK_RESULT"))) {
62-
System.out.println("::warning file=" + args[1] + "::CheckPhysNetlist's DesignComparator not run because CHECK_PHYS_NETLIST_DIFF_MOCK_RESULT is set");
63-
} else {
64-
Design unroutedDesign = PhysNetlistReader.readPhysNetlist(args[2]);
60+
Design unroutedDesign = PhysNetlistReader.readPhysNetlist(args[2]);
6561

66-
DesignComparator dc = new DesignComparator();
67-
// Only compare PIPs on static and clock nets
68-
dc.setComparePIPs((net) -> net.isStaticNet() || net.isClockNet());
69-
numDiffs = dc.compareDesigns(unroutedDesign, routedDesign);
70-
}
62+
DesignComparator dc = new DesignComparator();
63+
// Only compare PIPs on static and clock nets
64+
dc.setComparePIPs((net) -> net.isStaticNet() || net.isClockNet());
65+
int numDiffs = dc.compareDesigns(unroutedDesign, routedDesign);
7166
if (numDiffs == 0) {
7267
System.out.println("INFO: No differences found between routed and unrouted netlists");
7368
} else {

0 commit comments

Comments
 (0)