OnQ Blog

Developers: Use cases that benefit from Hexagon DSP SDK

Version 3.5 available now

Feb 20, 2020

Qualcomm products mentioned within this post are offered by Qualcomm Technologies, Inc. and/or its subsidiaries.

DSP programmers: You’ve told us that the only thing worse than seeing your DSP workloads crash is having to send us the memory dump for analysis. And you’re right: It is a headache, or used to be, anyway. Now, with the latest version of the Qualcomm Hexagon DSP SDK, you can analyze your own crash dump immediately, without all that delay.

That support for process domain dump is just one of the improvements we’ve made in Hexagon DSP SDK 3.5, available now. I’ll describe several of the changes in this post.

DSP programming: It’s catching on

Early on, device manufacturers and developers ported audio workloads like multimedia and speech processing to Hexagon. They liked running math-intensive operations in parallel on the digital signal processor, with its lower power requirements, lower clock speeds and higher performance.

The growing popularity of Qualcomm Snapdragon and our Hexagon DSP helped pave the way for heterogeneous programming on mobile devices. Over time, new use cases evolved, with companies like Pelican and MuseAmi moving imaging and computer vision workloads to our Hexagon DSP.

And over the last couple of years, DSP programming and the Hexagon Vector eXtensions have attracted many of the most prominent use cases in technology:

  • AI/Machine learning — For object detection and recognition, and filters and face detection in cameras
  • Automotive — On-board camera processing for differentiated in-vehicle experiences like 360-degree surround view and highway auto-pilot
  • Camera — 8K video recording quality in mobile processors and advanced features like video bokeh
  • Computer vision, imaging and video – Offloading compute-intensive tasks to dedicated hardware
  • Deep learning — Efficient convolutions for deep neural networks (DNNs)
  • IoT — Security cameras, sensors and drones
  • RoboticsiRobot and drones that rely heavily on computer vision, AI and low power consumption
  • Security — Face unlock and fingerprint unlock
  • Smartphone apps — For offloading tasks like picture/video processing and real-time language translation
  • Voice assistantsAlways-on senses that would drain the battery if run on the CPU

So we’ve updated the Hexagon SDK to better accommodate that innovation. And more.

4 improvements you can use right now in the Hexagon DSP SDK 3.5

You’ll find greater flexibility and higher performance in this version of the SDK.

Support for UserPD Dump

I described this earlier and I think you’ll find it makes a big difference. Don’t send us your crash dump anymore. There’s no need to.

If you make a change to your DSP customization that causes a crash, you can now analyze the dump and debug your code yourself. We’ve made the user process domain accessible so you no longer need to send the dump to us and wait for us to send our analysis back to you. And, because we often needed both the dump and your proprietary code to resolve the problem, you’ll be pleased from the point of view of privacy as well.

Additional math in Qualcomm Hexagon Libraries (QHL)

The new use cases I mentioned above offload more math to our Hexagon DSP. Rather than make you port your own algorithms to the DSP, we’ve expanded our support in the QHL for math and signal processing libraries (including BLAS, FFT/IFFT, GEMM and conv), for both Hexagon scalar and vector.

CMake cross-compile option

In the past, you’ve had to use our Snapdragon LLVM Compiler for programming our Hexagon DSP. To let you keep your options open, the SDK now supports a cross-compile option for CMake-based, open source libraries.

asyncdspq API for image processing tasks

The Hexagon DSP has to synchronize all of the tasks from different modules with its clock. That means that tasks queued simultaneously — say, from sensors and the camera — are delayed while waiting for the next clock cycle. Starting with our UBWCDMA camera feature, the asynchronous DSP queue (asyncdspq) reduces that delay for multimedia post-processing on Hexagon.

It’s a move toward asynchronous inter-process communications (IPC) that you’ll continue to see as the Hexagon SDK evolves.

Next steps

Look for more AI and camera workloads to be offloaded to our Hexagon DSP, with implementations for higher-quality upstream video and surround sound in areas like entertainment and gaming. For one thing, the performance boost — up to 7 teraOPS available for running machine learning models — and lower power consumption of the DSP are too tempting to pass up. For another, we’re working to make the tools and libraries in the Hexagon DSP SDK more accessible to manufacturers and developers with each new release.

Meanwhile, download the Hexagon DSP SDK (available for Windows and Linux) and start offloading tasks in your apps. Send me any questions in the Comments section below, or have a look through the Hexagon DSP SDK support forum.

Qualcomm Snapdragon, Qualcomm Hexagon, and Qualcomm Hexagon Vector eXtensions are products of Qualcomm Technologies, Inc. and/or its subsidiaries.

 

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries ("Qualcomm"). Qualcomm products mentioned within this post are offered by Qualcomm Technologies, Inc. and/or its subsidiaries. The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.

Related News

©2020 Qualcomm Technologies, Inc. and/or its affiliated companies.

References to "Qualcomm" may mean Qualcomm Incorporated, or subsidiaries or business units within the Qualcomm corporate structure, as applicable.

Qualcomm Incorporated includes Qualcomm's licensing business, QTL, and the vast majority of its patent portfolio. Qualcomm Technologies, Inc., a wholly-owned subsidiary of Qualcomm Incorporated, operates, along with its subsidiaries, substantially all of Qualcomm's engineering, research and development functions, and substantially all of its products and services businesses. Qualcomm products referenced on this page are products of Qualcomm Technologies, Inc. and/or its subsidiaries.

Materials that are as of a specific date, including but not limited to press releases, presentations, blog posts and webcasts, may have been superseded by subsequent events or disclosures.

Nothing in these materials is an offer to sell any of the components or devices referenced herein.