Qualcomm’s Hexagon DSP is designed to accelerate certain workloads at performance efficiencies well above anything a modern CPU can offer. Video processing or computer vision tasks can be done on the CPU too but with a DSP available for these tasks, the CPU can be freed up for other tasks to increase your system performance. The Hexagon DSP on Qualcomm’s IoT chipset product line is a cluster of an application DSP and sensor DSP. The aDSP or the Application DSP, allows the device to process simple sets of data on low power, without having to wake up the Application processor. The aDSP can run custom applications to perform simple tasks, like hotword detection for voice recognition and low power music playback. The sensor DSP is a separate DSP and aptly named “low power island” which is designed to improve the battery life of always-on use cases, including step or activity counters or sensor-assisted positioning (using your platforms’ sensors to provide more accurate location when you don’t have a strong GPS signal).
Access to the Hexagon DSP is through an SDK from Qualcomm, a software development kit that enables developers to access embedded computing resources on the Hexagon DSP. The Hexagon SDK is designed to optimize the features and performance of multimedia software and to enable high computational burdens on the CPU to be off-loaded into a heterogeneous computing environment that includes the DSP and GPU. The benefits of this SDK include reduced latencies, low power consumption and the ability to run multiple processes at the same time.
Let us look at some of the important use-cases in the Internet of Things (IoT) domain that the SDK enables:
- AI/Machine learning/Deep learning – The SDK includes a standard library for matrix computation that accelerates the execution of many common neural network frameworks such as Caffe or Tensorflow. IoT usecases in the smart city market segment that involve object detection and recognition, filters and face detection in cameras are all enhanced in performance by the Hexagon SDK. Object classification is highly compute-intensive and the Hexagon DSP can process images at high speed with extremely low power consumption. This increases the potential to accelerate IoT adoption across companion robots, home hubs, smart assistants or wearable trackers for patient care through visual analytics.
- Camera streaming – The Hexagon Vector eXtensions (HVX) core for wide-vector processing includes a hardware protocol interface between the Hexagon DSP and the camera front end. That interface allows DSP processing (to perform pixel correction for instance) between the sensor and the camera front-end hardware. The SDK includes sample applications for taking live camera input, running CV processing on it and sending it out to the display.
- Computer vision, imaging and video – Use the SDK to create algorithms on your own that run on the DSP to enhance the quality of decoded video output on the display. Offloading these compute-intensive tasks to dedicated DSP hardware ensures that your system has much more free cycles to perform other tasks.
- IoT/Robotics – Smart home appliances that efficiently navigate a home by keeping track of where it’s been and where it has yet to clean utilize always-on sensors and visual simultaneous localization and mapping (vSLAM) technologies. The Hexagon DSP excels in optimizing these usecases. Smart home appliances, home security cameras, drones all rely on computer vision, AI and need to consume low power.
We talked about the Hexagon DSP’s internals in an earlier blog and the SDK itself has undergone many changes since then. The latest version of the SDK comes with improved performance, support for more math and signal processing libraries and support for a cross-compile option for CMake-based, open source libraries.
Smart Wireless has been creating connected embedded computing solutions and platforms based on Qualcomm Snapdragon processors, covering a wide range of IoT applications. All our products come pre-loaded with fully functional Android BSPs and include support for using the Hexagon SDK out of the box!