This tool is present in x86 deb package in /usr/local/driveworks/tools/ The following are the flags which can be passed to stmcompiler
Variable | Flag | Description |
---|---|---|
ifile | -i | Input yml file |
ofile | -o | Output .stm file |
algorithm | -a | Heuristic used for compilation (either BNB , or OAR ), default: BNB |
timeout | -t | Timeout value for BNB (in seconds) per hyperepoch, default : 0. Note: Timeout Val 0 returns first schedule |
num-workers | -j | Number of BNB workers searching in parallel, Default : Number of cores in system |
max-contexts | -c | Max percentile threshold per hyperepoch for BNB to search schedule, default : 99 for timeout== 0 |
first-context | -l | The first threshold per hyperepoch for BNB to search schedule |
last-context | -l | The final threshold per hyperepoch for BNB to search schedule |
percentile-granularity | -g | Delta between the contexts searched by the compiler, default: 1 |
verbose | -v | Print verbose prints |
export-kpis | -k | Export KPIs as a yaml file |
version | -V | Print STM Compiler Version |
dump-compiler | -dc | Pickle dump stm compiler object before generating event schedule. Necessary for stmupdateswcets.py |
no-runnablefusion | -nrf | Disable Runnable Fusion in stmcompiler.Runnable fusion fuses the CPU runnables in the DAG if they are below the wcet_threshold parameter (default value is 500 us) and in turn reduces fences in cross CPU dependencies. Therefore, runnable fusion also reduces compilation time in larger graphs. Runnable fusion is enabled by default. |
wcetthreshold | -wt | WCET threshold for Runnable fusion in the graph. STM compiler will fuse the CPU runnables in the DAG whose WCETs are less than the wcet threshold. Runnable fusion is enabled by default. The default wcet-threshold parameter is 500 us |