Developer Blog

DSP libraries for computer vision and GEMM in Hexagon SDK 3.1

Jan 26, 2017

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

Have you started DSP programming with the Qualcomm Hexagon SDK 3.1 yet? When we released the kit, I posted about the compiler for C++11/14 that we included so you can move code traditionally run on the CPU to the DSP, without the need to rewrite all of that code.

That’s a pretty good reason for you to download Hexagon SDK 3.1 and try your hand at DSP programming. Are you ready for two more?

Libraries for computer vision and convolutional networks

Because the libraries are generic, you can use them on the Hexagon DSP across different, unique frameworks. As an example, we’re making libraries for computer vision (FastCV software development kit) available in the SDK, and for machine learning applications, the SDK includes a standard library for matrix computation you can use to accelerate the execution of many common neural network frameworks. For example, Torch, Caffe or Tensorflow.

Want to quickly test and compare the benefit of a DSP implementation of computer vision against a CPU implementation? One easy way is to replace a CPU library with a DSP library. FastCV based computer vision libraries supporting Hexagon and Hexagon Vector eXtensions (HVX) are engineered to be compatible and interchangeable with FastCV computer vision libraries that we have released for the CPU and floating point co-processor. You’ll find FastCV libraries for the CPU in the FastCV Computer Vision SDK. And in the Hexagon SDK you’ll find API-compatible computer vision libraries optimized for Hexagon and HVX.

Hexagon SDK 3.1 also includes general matrix-matrix multiplication (GEMM) libraries for convolutional networks used in machine learning. Starting with upcoming devices powered by the Qualcomm Snapdragon 820 and 835 processors, you can use those GEMM libraries to replace ones that typically target the floating-point co-processor to the CPU. While you wait for those processors to appear in commercial devices, you can use the SDK to generate dynamic Hexagon DSP code modules and execute them on the included simulator.

HVX supports fixed-point matrix multiply acceleration on the DSP, so if your algorithm can be limited to fixed-point, then take advantage of the much higher throughput and lower power consumption on HVX. On the other hand, if you require floating-point matrix multiplication, then you should probably keep that execution on the CPU co-processor.

Get your massively parallel head start

Download the Hexagon SDK 3.1 now and see how you can speed up image processing, computer vision and machine learning in your apps. The Hexagon DSP is designed to be your ticket to high performance and low power consumption, and the SDK is a great way to build heterogeneous programming that’s ready to run when devices with Snapdragon 820 and 835 processors are available to consumers.

Let me know in the comments below or in the support forum what else you need to get going.

 

Qualcomm Snapdragon, Qualcomm Hexagon and FastCV are products of Qualcomm Technologies, Inc.

 

Steven Brightfield

Director, Product Management

More articles from this author

About this author

Related News

Snapdragon

Snapdragon Wear 2100 powers high-end fashion smartwatches at Baselworld

Silicon Valley met Switzerland at this year’s Baselworld, the world’s premier event for the watch and jewelry industry, which celebrated its 100th anniversary this year. Several impressive smartwatches made their debut, all touting the Qualcomm Snapdragon Wear 2100 Platform and all powered by Android Wear 2.0. With this reliable platform and OS developed specifically for wearables, it’s no wonder high-end brands are looking beyond basic wearable functions, and combining style with technology to develop chic smartwatches fit for any lifestyle.

The superior SoC for smartwatches, Snapdragon Wear 2100, is an integrated, ultra-low power sensor hub. It’s 30 percent smaller than previous-generation wearable SoCs, allowing OEMs the freedom to develop thinner, sleeker product designs. And because it uses 25 percent less power than its older sibling (the Snapdragon 400), watchmakers can offer even more features and better designs.

The Snapdragon Wear 2100 comes in both tethered (Bluetooth and Wi-Fi) and connected (3G and 4G LTE) versions. The latter allows wearers to do more with their wearables, from streaming music to sending messages to calling a cab, in tandem with — or even without — having to bring their smartphones along.

Each of the touchscreen smartwatches included in this roundup run Android Wear 2.0, Google’s latest wearable operating system, and can pair with both iOS and Android phones. With Android Wear 2.0, users can personalize their watch faces with chronometer-style complications and create shortcuts to their favorite applications. In addition to the pre-installed Google Fit and calendar apps, more apps can be downloaded directly through the on-watch Google Play store, so wearers can customize their device to their lifestyle.

Android Wear 2.0 brings the Google Assistant to your wrist. Find answers and get things done even when your hands are full. Reply to a friend, set a reminder, or ask for directions. Just hold the power button or say “OK Google”.

Check out the some of Snapdragon Wear powered smartwatches that made a splash at this year’s Baselworld:

Apr 18, 2017

Developer

Hardware-software convergence: Key skills to consider

Hardware-software convergence, or how hardware and software systems are working more closely together, illustrates how each are empowering (and sometimes literally powering) the other. And in our current development environment, this is happening more than ever. Of course, deep technical skills will be of the utmost importance to navigate this technological trend, but it is also the soft skills we apply to our engineering practices that are as important in determining our success.

What skills do developers need to nurture, and how do you put them to good use? In this piece, we’ll cover three soft skills developers can use to stay ahead of the hardware-software convergence, and share resources to help you grow and maintain those skills.

Creative inspiration

First off: Creative Inspiration. While it’s easy to identify your technical shortcomings and fill those gaps with training and practice, knowing which soft skills to hone can be a lot more complicated. In fact, you could even think of these soft skills as “mindsets,” since they’re more about how you approach a problem instead of just being a tool you use to solve it. For this first skill, it will be important to start approaching challenges antidisciplinarily, rather than relying on existing mental frameworks. That’s what being creative is all about – finding new ways of doing things.

So where do you start? Ask yourself this question: What is the dent you want to make in the universe? Begin from a place of passion – think about what problems and projects keep you up at night, and what issues big or small you want to solve.

Then, understand that creative inspiration is a process. What seems like overnight genius is often the result of many erroneous attempts (ex: Thomas Edison’s 1,000 or so attempts in creating the lightbulb) and then having the fortitude to gain deeper understanding of an issue to then apply your imagination. We particularly like the design thinking method, which encourages starting from a place of inspired empathy and developing knowledge through lean prototyping and iteration. The Stanford D.School has a Bootcamp Bootleg that you can download for a quick start guide to this design framework.

Apr 17, 2017

Join the conversation.