When designing an application you don't have to implement any code (until you want to run the application). The following steps describe how to create an application bottom-up. As a result you can visualize the full data pipeline as well as generate and analyze the schedule.
Each node can be designed using the UI. The UI allows to edit all properties of a node:
For each node this information is saved in a .node.json
file.
When starting to implement the logic for a node which has been designed before, the nodestub command line tool can be used to generate a set of C++ headers and source files from a .node.json
file.
Note: this is not necessary to proceed with the next steps of designing graphlets and the application.
Similar to nodes, each graphlet can be designed using the UI. The UI allows to edit all properties of a graphlet:
For each graphlet this information is saved in a .graphlet.json
file. There is no C++ code related to a graphlet.
At the moment the application has to created by editing a .app.json
file directly. In the future the UI will support visualizing and editing this file type too.
When the worst-case execution time (WCET) is provided for each nodes pass, STM can generate a schedule for the application. See the build workflow on how to invoke the STM compiler.