Using the JAR Tool - RWTH-HPC/PPL GitHub Wiki

Using the JAR Tool

If you do have the have finished the setup, please have a look here.

PPL

PPL is a tool which generates an APT and performs global optimizations for it. The APT can be printed as a Python graphviz to generate the APT as a PDF file. Please make sure that you have installed graphviz as well as the Python interface.

If you want to compile the tool yourself, you can find the generated .jar in the target directory of PPL-Tool package.

The tool can be used as follows:

java --add-opens java.base/java.lang=ALL-UNNAMED -jar .\PPL.jar 

This call executes the .jar file and should provide all runtime flags you can use. These flags are:

short flag long flag Description
-rand --randomNameExtension=<value> The length of the random name extension. Default value: 10
-FULL --printFullAPT Print the fully nested APT.
-over --overlap=<value> Define the overlap of network cost and execution cost. Default value: 0.0
-v --version Get the version of the tool.
-s --splitSize=<value> The size in which the index range will be grouped. Default value: 128
-b --baseMapping Print and generate a default mapping.
-t --timeLimitILP=<value> The maximum duration for a single ILP to be solved. Default value: 240
-CALL --printCallGraph Print the Call Graph.
-l --lookahead=<value> Define the lookahead for the mapping optimization. Default value: 1
-o --output=<value> The output path for the generated code. Default value: a.cpp
-n --network=<value> The path to the network definition. Default value:
-d --dataSplitSize=<value> The size in which the data elements will be grouped. Default value: 1024
-i --input=<value> The target file to be optimized. Target files may not have a '-' in their name. Default value:
-h --help Get a description of the tool.
-opt --optreport Print the optimization report.
-APT --printTheoreticalAPT Print the theoretical APT.
⚠️ **GitHub.com Fallback** ⚠️