Viewers¶
Network graph viewer¶
The TIDL network viewer utility, tidl_viewer, can be used to view the network graph. If the dot utility is available, tidl_viewer uses it to convert the dot file to svg. dot is included in the Graphviz Ubuntu package and typically installed to /usr/bin/dot.
For example, the following command will generate a dot graph description for the tidl_net_jdetNet_ssd.bin network binary in ssd.dot.
$ tidl_viewer examples/test/testvecs/config/tidl_models/tidl_net_jdetNet_ssd.bin -d ssd.dot
On x86/Linux, if /usr/bin/dot is available, tidl_viewer also generates an svg file, ssd.dot.svg.
Note
If dot is not installed in /usr/bin/dot, tidl_viewer will not convert the dot to svg. The following command can be used to generate the svg file as a separate step: dot -Tsvg ssd.dot -o ssd.dot.svg. Additional information on Graphviz and dot available at:
Execution Graph viewer¶
TIDL API v1.2 enables generation of a log file with timestamps for the following methods in the ExecutionObjectPipeline and ExecutionObject classes:
- ProcessFrameStartAsync (start)
- ProcessFrameStartAsync (end)
- ProcessFrameWait (start)
- ProcessFrameWait (end)
Add the following call to the TIDL API application to enable timestamp generation:
bool EnableTimeStamps(const std::string& file, size_t num_frames);
The generated log file can be viewed on x86/Linux by using the execution_graph.py script located at viewer/execution_graph.py.
-> <install path>/viewer/execution_graph.py timestamp.log
Fig. 7 shows the output of execution_graph.py for the one_eo_per_frame example when run on an AM5749 with 2 EVEs and 2 C66x DSPs:
Note
execution_graph.py requires the Python Matplotlib module.
