Enabling SDK for Hexagon™ DSP on Inforce Platforms in order to create an interactive user experience in less time
DSPs are specialized processors dedicated to digital signal processing. Similar to GPUs, DSPs are designed to perform a very specific subset of tasks and also to exploit parallelism. Like CPUs, they often make use of SIMD (single instruction, multiple data) and VLIW processing to boost throughput and total performance per watt. CPUs such as Snapdragon™ can handle these tasks (and sometimes do), but DSPs offer better performance than general processors, and have more flexibility than a traditional ASIC. The Qualcomm® Hexagon™ DSP is designed to accelerate certain workloads at performance efficiencies well above anything a modern CPU can offer. The Hexagon DSP is an advanced variable instruction length, VLIW (Very Long Instruction Word) processor, meaning it’s designed to extract maximum parallelism per clock cycle and to spread workloads across a wide set of execution units. Any digital signal that needs to be processed in a low power environment can thus be assigned to this processor (from voice features to sensors and computer vision applications).
The Hexagon DSP is a cluster of an application, modem and sensor DSPs. 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 perhaps low power music playback. The sensor DSP was clubbed with the aDSP in earlier versions of Hexagon but is now a separate DSP. It is aptly named “low power island” and designed to improve the battery life of always-on use cases, including step or activity counters as well as sensor-assisted positioning (using your platforms’ sensors to provide more accurate location when you don’t have a strong GPS signal). The modem DSP is typically not available on application processor variants of Snapdragon on which Inforce platforms are based on. A simple illustration of the Hexagon DSP processors in Snapdragon products is shown below.
The Hexagon SDK from Qualcomm is a software development kit that enables developers to access embedded computing resources on the Hexagon DSP. The infographic below shows the different sub-systems involved and how the SDK eases the process of writing DSP algorithms on Snapdragon platforms such as from Inforce.
Using the Hexagon SDK, developers with expertise working in native programming environments can tap into hardware-enabled multimedia features to deliver interactive user experiences in much lesser time as compared to making source code modifications for this kind of functionality. The SDK is designed to help ensure multimedia processing efficiency, which means increased fluidity, low latency, and superior app performance. The Hexagon SDK is also designed to enable high computational burdens on the CPU to be off-loaded into a heterogeneous computing environment with the use of shared remote code objects.More information on the Hexagon DSP and SDK from Qualcomm is available at this link. Inforce’s Android BSP releases enable the use of Hexagon SDK on all its platforms.