diff --git a/Makefile b/Makefile index b5068a5..385b780 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,14 @@ ROUTER ?= rwroute # Make /usr/bin/time only print out wall-clock time in seconds export TIME=Wall-clock time (sec): %e +ifdef GITHUB_ACTIONS + _JAVA_OPTIONS = "-Xms6g -Xmx6g" +else + # Unless _JAVA_OPTIONS is set, sets the initial and maximum heap size of the JVM to be ~32GB + _JAVA_OPTIONS ?= "-Xms32736m -Xmx32736m" +endif +export _JAVA_OPTIONS + # Default recipe: route and score all given download-benchmarks .PHONY: run-$(ROUTER) run-$(ROUTER): score-$(ROUTER) @@ -75,12 +83,11 @@ distclean: clean #### BEGIN ROUTER RECIPES ## RWROUTE -# _JAVA_OPTIONS="-Xms32736m -Xmx32736m" sets the initial and maximum heap size of the JVM to be ~32GB # /usr/bin/time is used to measure the wall clock time # Gradle is used to invoke the PartialRouterPhysNetlist class' main method with arguments # $< (%_unrouted.phys) and $@ (%_rwroute.phys), and redirecting all output into %_rwroute.phys.log %_rwroute.phys: %_unrouted.phys | compile-java - (_JAVA_OPTIONS="-Xms6g -Xmx6g" /usr/bin/time ./gradlew -Dmain=com.xilinx.fpga24_routing_contest.PartialRouterPhysNetlist :run --args='$< $@') 2>&1 > $@.log + (/usr/bin/time ./gradlew -Dmain=com.xilinx.fpga24_routing_contest.PartialRouterPhysNetlist :run --args='$< $@') 2>&1 > $@.log ## NXROUTE-POC %_nxroute-poc.phys: %_unrouted.phys xcvu3p.device | nxroute-deps fpga-interchange-schema/interchange/capnp/java.capnp