At build time the following resources must exist as an input:
.app.json
file describing the application.graphlet.json
There is no need to generate any C++ code at build time.
The build system performs the following steps:
The C++ code is compiled into a shared object (.so
).
Commonly multiple nodes are aggregated into a single library, since some platforms have limits regarding the maximum number of shared libraries to load.
See the development workflow.
The validation script is invoked to check that the JSON files comply with their JSON schemas as well as additional constraints like cross references are satisfied.
The STM compiler requires the information to be structured in a YAML file. The apps/roadrunner-2.0/graphs/utils/descriptionScheduleYamlGenerator.py
script converts the information available in the JSON files into that format. based on that the STM compiler generates the .stm
file containing the schedule.