Computer vision has become a core feature for all sorts of embedded systems, like in self-driving cars, skin cancer detection systems and autonomous robots. Today’s powerful hardware for Embedded Vision and AI allows for great performance (like the Boston Dynamics robots – pretty impressive!) but getting the most out of this technology requires careful software design and optimization. So, how do you ensure your application makes good use of the hardware capabilities, for maximum performance?
For this purpose we have developed Tracealyzer for OpenVX, the world’s first trace profiler for OpenVX and Embedded Vision/AI processors. This work has been in collaboration with Synopsys and initially supports the Synopsys ARC DesignWare EV6x Embedded Vision/AI processors. We intend to support additional platforms over time.
Great visualization provides great insights when optimizing applications for maximum performance, very important in vision systems with real-time constraints. For instance, in a self-driving car the vision processing performance could be the difference between life and death. And for an industrial robot, faster vision processing means faster cycle times.
Tracealyzer for OpenVX can help you answer questions like, is the vision processing workload evenly distributed on all cores? How much processing time is required for this particular filter function? Is the application often blocked, waiting for DMA transfers to complete? Fixing such bottlenecks may yield vast improvements in performance with relatively small design changes. And of course, you also have access to standard Tracealyzer views like user event data plots and state machine visualization.
Tracealyzer for OpenVX with support for Synopsys EV6x and OpenVX tracing is now available on our download page. To learn more about Tracealyzer for OpenVX and how to get started with trace profiling on Synopsys EV6x processors, see Percepio Application Note PA-025.
In case you have questions, feel free to contact firstname.lastname@example.org.
What else is new?
Beyond the support for OpenVX and Synopsis EV6x, Tracealyzer 4.2.5 contains a large number of improvements and bug fixes. Some examples are:
- Improved the ability to configure the Y-axis for graphs (
View -> Configure Y-Axis …).
- Improved Filter panel – now uses strictly “and” logic when filtering on both Service and Object, which should make more sense.
- Various GUI and stability improvements.
- Better handling of format strings in User Events.
- It is now possible to specify a maximum window size on the command line (
/width XXXX /height XXXX). This is a workaround for a Mono issue when running on Linux using a screen resolution higher than 1920 x 1080.
- Improved documentation.