Interpretation of the practical methods contained in the SDK

Processing workloads such as reasoning, scene classification, image processing, and video playback enhancements on the CPU and GPU of edge devices (such as smartphones) can drain run cycles and reduce battery life. The more convenient DSP programming, the faster your application can run similar workloads with higher performance and lower power.

As a result, our newly released Hexagon DSP SDK 3.3.2 embodies "availability" everywhere.

If you are an embedded developer, you will find that the toolkit includes a variety of commonly used programming tools. If you're a mobile app developer, you'll find everything you need to make a smooth transition to DSP programming. Frankly speaking, these tools may be difficult for some people to cope with, but in fact, you don't have to think about it.

This article will introduce the higher availability methods included in the SDK.

1. No need to start DSP programming from scratch. We have provided you with a lot of sample code.

To show our seriousness in usability, we added the SDK sample code and documentation. You can find the Hexagon Vector eXtensions (HVX) benchmark sample code and the sample code for using Halide on Hexagon. In addition, the Getting Started and Analyzer, Simulator, and Debugger documentation has been updated. We created QuRT (Real Time Operating System running on Hexagon) and DSP Compute User Guide and updated HVX context save/restore functionality.

2. No need to rewrite the C++ algorithm. We have provided support on the DSP.

Many developers are tempted by both high performance and low power consumption, moving from embedded to DSP programming. They have spent years refining C or C++ algorithms running on the CPU, such as low-light video capture, image stabilization or convolutional neural networks. If you are not sure if you can achieve the promised benefits, no one will be willing to rewrite the code and optimize it for the DSP.

Since January of last year, we have provided a compiler and library that uses the Hexagon SDK to use the C++ language for DSP programming. Now, in SDK 3.3.2, we updated the compiler toolchain to allow frameworks and algorithms written in C++ 11/14 to be executed on Hexagon DSPs.

This means that you can recompile directly for the DSP and run it on Hexagon without having to rewrite these algorithms. This is the first big step forward, and you'll see performance gains and reduced energy consumption. In most cases, we hope that you will make further optimizations.

3. No need to write your own programming tools. We have provided programming tools.

Hexagon includes DSP logic and CPU-like features and features so it can be thought of as an embedded processor. In Hexagon SDK 3.3.2, we've added a tool set for writing, debugging, and analysis to ensure your app gets the most out of the underlying hardware:

• Complete Toolbox - In the SDK, you can find the complete LLVM toolchain (compiler, linker, assembler), diagnostic logging, performance monitors, dynamic linkers and loaders, and support for co-simulation and virtualization Platform emulator.

• Debugger - We have added LLDB support, which means better support for C and C++ code. Now, when you develop workstations and reference boards or devices over a USB connection, you can perform common debugging operations in the IDE, such as stepping through debugging code, using breakpoints, checking registers or memory contents.

• IDE plugin - The SDK includes the Eclipse IDE plugin for better integration with the development environment.

• Profiler – In the DSP Analyzer sysMon, we've refined and allowed you to access related features so you can get a deeper understanding of algorithm performance. To help you understand how your code performs on Hexagon, sysMon collects and displays performance, caching, and other related metrics.

With this powerful addition, you'll find the SDK easier to use.

4. Don't build your own image processing language. We have provided you with the Halide tool.

If you develop camera and image projects, you may have heard of or used Halide for high performance vision and imaging algorithms. We think that Halide and Hexagon are a great match, so we teamed up with Google to build a Halide toolset for HVX. Here are the tools we have for you:

• Halide Compiler – As part of the Hexagon SDK 3.3.2 and Hexagon LLVM toolset, the Halide toolset provides a Halide compiler for Hexagon DSP and HVX. This means that if you are familiar with the C++ language structure, you don't need to delve into the underlying processor architecture to start writing the Halide program. Instead, you can focus on getting as much performance as possible from the DSP for the image algorithm.

• Halide Runtime Environment – ​​With this runtime environment, you can easily dispatch kernel functions transparently to Hexagon by adding a simple .hexagon() directive. This is very convenient in heterogeneous calculations.

• Halide Simplicity – Our own image processing tests on the Qualcomm Snapdragon 835 and 845 mobile platform devices begin with an efficient algorithm with approximately 175 lines of assembly code. Then rewrite it into a C routine with about 100 lines of code and a slight performance degradation. Finally, we use Halide to rewrite, with less than twenty lines of code, to get the same performance as assembly code. Of course, the implementation will vary from person to person, but if you like coding compact, Halide may be your dish.

5. No need to write your own neural network library. We have provided you with one.

More and more people are talking about how device-side processing brings advantages to AI applications, how to train neural network models in the cloud, and then run reasoning on the device side. Most companies are trying to optimize AI processing on a CPU or GPU, but at Qualcomm Technologies, Inc. (QTI), we have been optimizing AI processing on DSPs for the past several years.

Next step: Download the SDK

Although Hexagon is part of the Snapdragon heterogeneous computing model, the Hexagon DSP SDK 3.3.2 itself looks like an embedded development platform. It supports devices equipped with the Snapdragon SDM630, SDM660, SDM820, SDM835, SDM845 and SDM670.

• Download the SDK now and see what it can do in terms of performance and power consumption.

• Download Halide for easier writing of high-performance image processing code.

Hot Products List

Film capacitors are electrical capacitors with an insulating plastic film as the dielectric, sometimes combined with paper as carrier of the electrodes. These plastic films are sometimes metalized and are available in the market under the name metalized Film Capacitor,these capacitors are sometimes also called plastic capacitors.

Film Capacitor, X-Ray Equipment Capacitor, Axial Polyester Capacitor, Polypropylene High Voltage Capacitor

XIAN STATE IMPORT & EXPORT CORP. , https://www.shvcomponents.com

Posted on