SlideShare a Scribd company logo
1 of 32
Download to read offline
1
Qualcomm® Hexagon™ SDK
Optimize Your Multimedia Solutions
Jack May, Senior Staff Engineer
Qualcomm Technologies, Inc.
Qualcomm Hexagon is a product of Qualcomm Technologies, Inc.
3
What is the
Hexagon SDK?
4
Designed to easily utilize the capabilities of the Hexagon DSP
Uses the ability to dynamically load and execute code on the Hexagon DSP
Helps reduce development effort and promotes a rapid development cycle
Applications include
− General compute
− Audio
− Voice
− Imaging
− Computer vision
Overview
What is the Hexagon SDK?
5
Provide customization of the Hexagon DSP without rebuilding the static image
− Remote procedure call mechanism between the HLOS and the Hexagon DSP
− Dynamically loadable objects loaded at runtime.
− Dynamic module interfaces to the Audio/Voice/.. Frameworks
Provide multiple debugging options
− USB based debugger
− Diagnostic logging
Provide unit and system level test frameworks and capabilities
Provide both in-simulation and on-target environments
Goals
What is the Hexagon SDK?
6
Windows installer
Installs the SDK components (docs, examples, tools, …)
Results in a complete, self-contained development environment
Minimizes environment changes that may impact other tools or installations
Multiple SDK versions may be installed side by side
Downloads 3rd party dependencies
No global PATH or environment variable modifications
Dependencies are self-contained and local to the SDK
− Except
− Hexagon Tools
− Python
Linux support on the roadmap
Installation
What is the Hexagon SDK?
7
What is in the
Hexagon SDK?
8
Fast Remote Procedure Calls (FastRPC)
Dynamic loading
Remote debugger
Eclipse plugin
Hardware development platforms
Optimized Hexagon libraries
Real-time Operation System (RTOS)
Comprehensive tool chain
Diagnostic logging
Notable features
What is in the Hexagon SDK?
9
Remote procedure calls between the applications processor and the Hexagon DSP
Fast
− Synchronous
− Zero copy
− Cache coherent
Functions called on the Hexagon DSP may reside in dynamically loaded code
Maintains cache coherency for input and output buffers
Calling HLOS threads handled by corresponding threads on the Hexagon DSP
Threads are automatically cleaned up when HLOS process exits
Notable features: FastRPC
What is in the Hexagon SDK?
10
DSPApplications processor
Notable features: FastRPC
What is in the Hexagon SDK?
In-process
Transport
Application calculator library
calculator_skel
calculator_sum()
#include "calculator.h"
int calculator_sum(
const int* vec,
int vecLen,
int64* res)
{
int ii = 0;
*res = 0;
for(ii = 0; ii < vecLen; ++ii) {
*res = *res + vec[ii];
}
return 0;
}
calculator_sum()
calculator_stub
calculator_sum()
Sample code subject to SDK license agreement. Available at developer.qualcomm.com
11
Notable features: FastRPC: Performance
What is in the Hexagon SDK?
Size of buffer 8074 in (us) 8074 out (us)
0 62
32 kB 80 90
64 kB 84 94
128 kB 85 106
1 MB 177 211
4 MB 261 212
8 MB 377 303
16 MB 612 538
− Measured with Application and DSP processor clocks at max
− 8074 DragonBoard™ from Intrinsyc
− No change in data and DSP returns immediately
− These are minimum times, and does not include RAM to cache sync times (as if prefetched)
Source: Qualcomm Technologies, Inc. internal testing
12
Allows for the addition of code/data into the Hexagon DSP at runtime
Faster development cycles, only have to build your shared object
Code/data is built into shared object files (.so)
− Executable and Linkable Format (ELF)
− Stored on the HLOS’s file system and read by the Hexagon DSP when loaded
Functions and variables become accessible to the static DSP image once the shared
object is loaded
Native support for shared objects in the audio and voice frameworks
Notable features: Dynamic Loading
What is in the Hexagon SDK?
13
lib.so
Fxn()
Notable features: Dynamic Loading
What is in the Hexagon SDK?
HLOS File System
lib.so
Fxn()
aDSP Static Image
h = dlopen(“lib.so”);
pFxn = dlsym(h, “Fxn”);
pFxn();
dlclose(h);
lib.so
Fxn()
14
Easier to create, build, run, test, and debug Hexagon modules
Project templates
Unit and integration testing
Simulator and on-target debugging
Syntax aware and highlighting for Hexagon assembly, C/C++, and IDL
Custom views
− Connected devices
− Profiler
− Resource analyzer
− Audio module database
− Logging
Notable features: Eclipse IDE plugin
What is in the Hexagon SDK?
15
USB based software, no hardware JTAG required
Industry standard debug tools (GDB with LLDB on roadmap)
Integrated with the Hexagon SDK Eclipse plugin
Single or all thread stop debugging
Simulator and on-target debugging
Notable features: Remote debugger
What is in the Hexagon SDK?
16
Quick development cycle from picking up the Hexagon SDK to running your code on-target
Affordable hardware based development platforms provided by Intrinsyc
Multiple form factors supported
− Exposed boards (DragonBoards)
− Tablets (MDPs)
Hardware support provided by Intrinsyc
− http://www.intrinsyc.com/products/qualcomm/dragonboard-development-kits.aspx
Notable features: Hardware development platforms
What is in the Hexagon SDK?
17
C and Assembly optimized libraries for common operations
− FIR, IIR
− FFT, IFFT, FHT
− Up sampler
− Computer vision (FastCV)
− feature/object detection
− motion & object tracking
− color conversion
− 3D reconstruction
− image processing
− Lots more …
Notable features: Optimized Hexagon libraries
What is in the Hexagon SDK?
18
QuRT™ software: real-time operating system for the Hexagon processor
Low overhead both in memory and processing requirements
Supports
− Priority-based preemptive multithreading
− Thread synchronization and communication (mutex, signal, semaphore, barriers, pipes, …)
− Timers
− Interrupts
− Exceptions
− Memory management
Notable features: RTOS
What is in the Hexagon SDK?
QuRT is a product of Qualcomm Technologies, Inc.
19
ISO C/C++ compiler
Assembler
Standard (libc) and processor specific libraries
Intrinsics
Linker and archiver
Debugger (gdb)
Profiler (gprof)
Misc utilities
− ELF viewer
− nm
− strings
− size
Notable features: Comprehensive tool chain
What is in the Hexagon SDK?
20
Runtime diagnostic logging
Viewable in logcat or on host (PC)
Integrated with the Hexagon SDK Eclipse plugin
Supported in simulation and on-target
Notable features: Diagnostic logging
What is in the Hexagon SDK?
21
What can you do with
the Hexagon SDK?
22
Offload compute tasks from the application processor onto the Hexagon DSP
− Lower power
− Frees up resources on the application processor
− Appears to caller as if calling a local library
Easier to do
− Define interface in IDL
− Use existing C code or optimize with Hexagon DSP assembly
− Build using the Hexagon Tools suite
− Call via the stub library on the application processor.
Moving data between processors is transparent to callers and implementers
− Cache coherent
− Zero copy
Calculator example in the Hexagon SDK
General compute
What can you do with the Hexagon SDK?
23
Add custom algorithms, encoders, and decoders to the audio framework
Dynamically load and unload audio use cases on an as-needed basis
− Saves memory
Communicate with your audio module at runtime
− Tuning
− Feature enabling/disabling
− User controlled settings
Clearly defined interface to implement (APPI or CAPI)
− Unit test frameworks to validate that your module is ready to run on the Hexagon DSP
Lots of APPI and CAPI examples in the Hexagon SDK
Audio
What can you do with the Hexagon SDK?
24
Add custom processing algorithms to the voice framework
Communicate with your voice module at runtime
− tuning
− Feature enabling/disabling
− User controlled settings
Clearly defined interface to implement (CAPI_V2)
− Unit test frameworks to validate that your module is ready to run on the Hexagon DSP
CAPI_V2 passthru and gain examples in the Hexagon SDK
Voice
What can you do with the Hexagon SDK?
25
Library of frequently used functions optimized to run on mobile devices
− Math / vector operations
− Image processing and transformation
− Feature and object detection
− 3D reconstruction
− Color conversion
− Clustering and search
− Motion and object tracking
− Share and drawing
− Memory management
downscaleBy2 and cornerapp examples in the Hexagon SDK
Computer vision
What can you do with the Hexagon SDK?
26
Demo
27
developer.qualcomm.com
Augmented
reality
Context
awareness
Peer
to peer
Wireless
health
Graphics
& gaming
Computer
vision
Android
applications
App development SDKs & tools
Marketing opportunities
Case Studies & Tutorials
News & Information
Hardware development platforms
Forums & technical support
Tools & resources to help developers build, integrate, and optimize
Qualcomm Developer Network
28
For more information on Qualcomm, visit us at:
www.qualcomm.com & www.qualcomm.com/blog
Thank you
FOLLOW US ON:
© 2013-2014 Qualcomm Technologies, Inc. and/or its affiliated companies. All rights reserved.
Qualcomm, DragonBoard, and Hexagon are trademarks of Qualcomm Incorporated, registered in the United States and other countries. Uplinq and QuRT are trademarks of Qualcomm Incorporated. All trademarks of
Qualcomm Incorporated are used with permission. Other product and brand names may be trademarks or registered trademarks of their respective owners.
References in this presentation to “Qualcomm” may mean Qualcomm Incorporated, Qualcomm Technologies, Inc., and/or other 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 product and services businesses, including its semiconductor business, QCT.
29
Additional Slides /
APPENDIX
30
Notable features: Eclipse IDE plugin: On-target debug
What is the Hexagon SDK?
Source: Hexagon SDK
31
Notable features: Eclipse IDE plugin: Compute off-load
What is the Hexagon SDK?
Source: Hexagon SDK
32
Notable features: Eclipse IDE plugin: Custom views
What is the Hexagon SDK?
AMDB View
Identifies the devices
(including hot plug),
provides the facility to
add/remove/configure
the audio modules
Quick Profile Viewer
Displays static/dynamic
profiling information for a
project,
Device Viewer
Displays the connected
devices and their state,
Source: Hexagon SDK

More Related Content

What's hot

基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroiddemuyan
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)Mr. Vengineer
 
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化NVIDIA Japan
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLinaro
 
Vivado hls勉強会3(axi4 lite slave)
Vivado hls勉強会3(axi4 lite slave)Vivado hls勉強会3(axi4 lite slave)
Vivado hls勉強会3(axi4 lite slave)marsee101
 
Zynq + Vivado HLS入門
Zynq + Vivado HLS入門Zynq + Vivado HLS入門
Zynq + Vivado HLS入門narusugimoto
 
malloc & vmalloc in Linux
malloc & vmalloc in Linuxmalloc & vmalloc in Linux
malloc & vmalloc in LinuxAdrian Huang
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!Mr. Vengineer
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料直久 住川
 
Bare-Metal Hypervisor as a Platform for Innovation
Bare-Metal Hypervisor as a Platform for InnovationBare-Metal Hypervisor as a Platform for Innovation
Bare-Metal Hypervisor as a Platform for InnovationThe Linux Foundation
 
Android HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyAndroid HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyJollen Chen
 
Deploy STM32 family on Zephyr - SFO17-102
Deploy STM32 family on Zephyr - SFO17-102Deploy STM32 family on Zephyr - SFO17-102
Deploy STM32 family on Zephyr - SFO17-102Linaro
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequenceHoucheng Lin
 
“Vitis and Vitis AI: Application Acceleration from Cloud to Edge,” a Presenta...
“Vitis and Vitis AI: Application Acceleration from Cloud to Edge,” a Presenta...“Vitis and Vitis AI: Application Acceleration from Cloud to Edge,” a Presenta...
“Vitis and Vitis AI: Application Acceleration from Cloud to Edge,” a Presenta...Edge AI and Vision Alliance
 
OSNoise Tracer: Who Is Stealing My CPU Time?
OSNoise Tracer: Who Is Stealing My CPU Time?OSNoise Tracer: Who Is Stealing My CPU Time?
OSNoise Tracer: Who Is Stealing My CPU Time?ScyllaDB
 
Vivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリームVivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリームmarsee101
 

What's hot (20)

基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid基礎から学ぶ組み込みAndroid
基礎から学ぶ組み込みAndroid
 
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
 
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
NVIDIA cuQuantum SDK による量子回路シミュレーターの高速化
 
LCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted FirmwareLCU13: An Introduction to ARM Trusted Firmware
LCU13: An Introduction to ARM Trusted Firmware
 
Vivado hls勉強会3(axi4 lite slave)
Vivado hls勉強会3(axi4 lite slave)Vivado hls勉強会3(axi4 lite slave)
Vivado hls勉強会3(axi4 lite slave)
 
Zynq + Vivado HLS入門
Zynq + Vivado HLS入門Zynq + Vivado HLS入門
Zynq + Vivado HLS入門
 
Making Linux do Hard Real-time
Making Linux do Hard Real-timeMaking Linux do Hard Real-time
Making Linux do Hard Real-time
 
Gpu vs fpga
Gpu vs fpgaGpu vs fpga
Gpu vs fpga
 
malloc & vmalloc in Linux
malloc & vmalloc in Linuxmalloc & vmalloc in Linux
malloc & vmalloc in Linux
 
ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!ARM Trusted FirmwareのBL31を単体で使う!
ARM Trusted FirmwareのBL31を単体で使う!
 
ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料ACRiウェビナー:小野様ご講演資料
ACRiウェビナー:小野様ご講演資料
 
Bare-Metal Hypervisor as a Platform for Innovation
Bare-Metal Hypervisor as a Platform for InnovationBare-Metal Hypervisor as a Platform for Innovation
Bare-Metal Hypervisor as a Platform for Innovation
 
TVM の紹介
TVM の紹介TVM の紹介
TVM の紹介
 
Android HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacyAndroid HAL Introduction: libhardware and its legacy
Android HAL Introduction: libhardware and its legacy
 
Deploy STM32 family on Zephyr - SFO17-102
Deploy STM32 family on Zephyr - SFO17-102Deploy STM32 family on Zephyr - SFO17-102
Deploy STM32 family on Zephyr - SFO17-102
 
Uboot startup sequence
Uboot startup sequenceUboot startup sequence
Uboot startup sequence
 
GMSL in Linux
GMSL in LinuxGMSL in Linux
GMSL in Linux
 
“Vitis and Vitis AI: Application Acceleration from Cloud to Edge,” a Presenta...
“Vitis and Vitis AI: Application Acceleration from Cloud to Edge,” a Presenta...“Vitis and Vitis AI: Application Acceleration from Cloud to Edge,” a Presenta...
“Vitis and Vitis AI: Application Acceleration from Cloud to Edge,” a Presenta...
 
OSNoise Tracer: Who Is Stealing My CPU Time?
OSNoise Tracer: Who Is Stealing My CPU Time?OSNoise Tracer: Who Is Stealing My CPU Time?
OSNoise Tracer: Who Is Stealing My CPU Time?
 
Vivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリームVivado hlsのシミュレーションとhlsストリーム
Vivado hlsのシミュレーションとhlsストリーム
 

Similar to Optimize multimedia with Qualcomm Hexagon SDK

Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)Intel® Software
 
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...Christopher Diamantopoulos
 
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyPT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyAMD Developer Central
 
DCC Labs Company Presentation
DCC Labs Company PresentationDCC Labs Company Presentation
DCC Labs Company PresentationDCC Labs
 
IDF_Eclipse_Plugin_EclipseCon2020_v2.pdf
IDF_Eclipse_Plugin_EclipseCon2020_v2.pdfIDF_Eclipse_Plugin_EclipseCon2020_v2.pdf
IDF_Eclipse_Plugin_EclipseCon2020_v2.pdfKondal Kolipaka
 
Achieving AI @scale on Mobile Devices
Achieving AI @scale on Mobile DevicesAchieving AI @scale on Mobile Devices
Achieving AI @scale on Mobile DevicesQualcomm Research
 
DACHSview++features
DACHSview++featuresDACHSview++features
DACHSview++featuresA. Steinhoff
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirHideki Takase
 
Developing new zynq based instruments
Developing new zynq based instrumentsDeveloping new zynq based instruments
Developing new zynq based instrumentsGraham NAYLOR
 
0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlab0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlabNational Cheng Kung University
 
Software used in Electronics and Communication
Software used in Electronics and CommunicationSoftware used in Electronics and Communication
Software used in Electronics and Communicationashishsoni1505
 

Similar to Optimize multimedia with Qualcomm Hexagon SDK (20)

System Design on Zynq using SDSoC
System Design on Zynq using SDSoCSystem Design on Zynq using SDSoC
System Design on Zynq using SDSoC
 
Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)Introduction to Software Defined Visualization (SDVis)
Introduction to Software Defined Visualization (SDVis)
 
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
 
DRIVE PX 2
DRIVE PX 2DRIVE PX 2
DRIVE PX 2
 
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyPT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
 
DCC Labs Company Presentation
DCC Labs Company PresentationDCC Labs Company Presentation
DCC Labs Company Presentation
 
IDF_Eclipse_Plugin_EclipseCon2020_v2.pdf
IDF_Eclipse_Plugin_EclipseCon2020_v2.pdfIDF_Eclipse_Plugin_EclipseCon2020_v2.pdf
IDF_Eclipse_Plugin_EclipseCon2020_v2.pdf
 
Achieving AI @scale on Mobile Devices
Achieving AI @scale on Mobile DevicesAchieving AI @scale on Mobile Devices
Achieving AI @scale on Mobile Devices
 
DACHSview++features
DACHSview++featuresDACHSview++features
DACHSview++features
 
soc design for dsp applications
soc design for dsp applicationssoc design for dsp applications
soc design for dsp applications
 
Cockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with ElixirCockatrice: A Hardware Design Environment with Elixir
Cockatrice: A Hardware Design Environment with Elixir
 
Embedded system
Embedded systemEmbedded system
Embedded system
 
Bindu_Resume
Bindu_ResumeBindu_Resume
Bindu_Resume
 
Resume
ResumeResume
Resume
 
CV_Arshad_21June16
CV_Arshad_21June16CV_Arshad_21June16
CV_Arshad_21June16
 
Developing new zynq based instruments
Developing new zynq based instrumentsDeveloping new zynq based instruments
Developing new zynq based instruments
 
0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlab0xdroid -- community-developed Android distribution by 0xlab
0xdroid -- community-developed Android distribution by 0xlab
 
Rashmi_Resume
Rashmi_ResumeRashmi_Resume
Rashmi_Resume
 
Software used in Electronics and Communication
Software used in Electronics and CommunicationSoftware used in Electronics and Communication
Software used in Electronics and Communication
 
ARM
ARMARM
ARM
 

More from Qualcomm Developer Network

How to take advantage of XR over 5G: Understanding XR Viewers
How to take advantage of XR over 5G: Understanding XR ViewersHow to take advantage of XR over 5G: Understanding XR Viewers
How to take advantage of XR over 5G: Understanding XR ViewersQualcomm Developer Network
 
Making an on-device personal assistant a reality
Making an on-device personal assistant a realityMaking an on-device personal assistant a reality
Making an on-device personal assistant a realityQualcomm Developer Network
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Qualcomm Developer Network
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Qualcomm Developer Network
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2Qualcomm Developer Network
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1Qualcomm Developer Network
 
Connected Lighting: The Next Frontier in the Internet of Everything
Connected Lighting: The Next Frontier in the Internet of EverythingConnected Lighting: The Next Frontier in the Internet of Everything
Connected Lighting: The Next Frontier in the Internet of EverythingQualcomm Developer Network
 
Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Qualcomm Developer Network
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Developer Network
 
How to Minimize Your App’s Power Consumption
How to Minimize Your App’s Power Consumption How to Minimize Your App’s Power Consumption
How to Minimize Your App’s Power Consumption Qualcomm Developer Network
 
LTE Broadcast/Multicast for Live Events & More
LTE Broadcast/Multicast for Live Events & More LTE Broadcast/Multicast for Live Events & More
LTE Broadcast/Multicast for Live Events & More Qualcomm Developer Network
 
The Fundamentals of Internet of Everything Connectivity
The Fundamentals of Internet of Everything ConnectivityThe Fundamentals of Internet of Everything Connectivity
The Fundamentals of Internet of Everything ConnectivityQualcomm Developer Network
 
Introduction to Qualcomm Vuforia Mobile Vision Platform: Toy Recognition
Introduction to Qualcomm Vuforia Mobile Vision Platform: Toy Recognition Introduction to Qualcomm Vuforia Mobile Vision Platform: Toy Recognition
Introduction to Qualcomm Vuforia Mobile Vision Platform: Toy Recognition Qualcomm Developer Network
 

More from Qualcomm Developer Network (20)

How to take advantage of XR over 5G: Understanding XR Viewers
How to take advantage of XR over 5G: Understanding XR ViewersHow to take advantage of XR over 5G: Understanding XR Viewers
How to take advantage of XR over 5G: Understanding XR Viewers
 
Balancing Power & Performance Webinar
Balancing Power & Performance WebinarBalancing Power & Performance Webinar
Balancing Power & Performance Webinar
 
What consumers want in their next XR device
What consumers want in their next XR deviceWhat consumers want in their next XR device
What consumers want in their next XR device
 
More Immersive XR through Split-Rendering
More Immersive XR through Split-RenderingMore Immersive XR through Split-Rendering
More Immersive XR through Split-Rendering
 
Making an on-device personal assistant a reality
Making an on-device personal assistant a realityMaking an on-device personal assistant a reality
Making an on-device personal assistant a reality
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 4
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 2
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
 
Connected Lighting: The Next Frontier in the Internet of Everything
Connected Lighting: The Next Frontier in the Internet of EverythingConnected Lighting: The Next Frontier in the Internet of Everything
Connected Lighting: The Next Frontier in the Internet of Everything
 
Bring Out the Best in Embedded Computing
Bring Out the Best in Embedded ComputingBring Out the Best in Embedded Computing
Bring Out the Best in Embedded Computing
 
Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors Android Tools for Qualcomm Snapdragon Processors
Android Tools for Qualcomm Snapdragon Processors
 
Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform Qualcomm Snapdragon Processors: A Super Gaming Platform
Qualcomm Snapdragon Processors: A Super Gaming Platform
 
How to Minimize Your App’s Power Consumption
How to Minimize Your App’s Power Consumption How to Minimize Your App’s Power Consumption
How to Minimize Your App’s Power Consumption
 
LTE Broadcast/Multicast for Live Events & More
LTE Broadcast/Multicast for Live Events & More LTE Broadcast/Multicast for Live Events & More
LTE Broadcast/Multicast for Live Events & More
 
The Fundamentals of Internet of Everything Connectivity
The Fundamentals of Internet of Everything ConnectivityThe Fundamentals of Internet of Everything Connectivity
The Fundamentals of Internet of Everything Connectivity
 
The Future Mobile Security
The Future Mobile Security The Future Mobile Security
The Future Mobile Security
 
Get Educated on Education Apps
Get Educated on Education Apps Get Educated on Education Apps
Get Educated on Education Apps
 
Bringing Mobile Vision to Wearables
Bringing Mobile Vision to Wearables Bringing Mobile Vision to Wearables
Bringing Mobile Vision to Wearables
 
Introduction to Qualcomm Vuforia Mobile Vision Platform: Toy Recognition
Introduction to Qualcomm Vuforia Mobile Vision Platform: Toy Recognition Introduction to Qualcomm Vuforia Mobile Vision Platform: Toy Recognition
Introduction to Qualcomm Vuforia Mobile Vision Platform: Toy Recognition
 

Recently uploaded

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Recently uploaded (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Optimize multimedia with Qualcomm Hexagon SDK

  • 1. 1
  • 2. Qualcomm® Hexagon™ SDK Optimize Your Multimedia Solutions Jack May, Senior Staff Engineer Qualcomm Technologies, Inc. Qualcomm Hexagon is a product of Qualcomm Technologies, Inc.
  • 4. 4 Designed to easily utilize the capabilities of the Hexagon DSP Uses the ability to dynamically load and execute code on the Hexagon DSP Helps reduce development effort and promotes a rapid development cycle Applications include − General compute − Audio − Voice − Imaging − Computer vision Overview What is the Hexagon SDK?
  • 5. 5 Provide customization of the Hexagon DSP without rebuilding the static image − Remote procedure call mechanism between the HLOS and the Hexagon DSP − Dynamically loadable objects loaded at runtime. − Dynamic module interfaces to the Audio/Voice/.. Frameworks Provide multiple debugging options − USB based debugger − Diagnostic logging Provide unit and system level test frameworks and capabilities Provide both in-simulation and on-target environments Goals What is the Hexagon SDK?
  • 6. 6 Windows installer Installs the SDK components (docs, examples, tools, …) Results in a complete, self-contained development environment Minimizes environment changes that may impact other tools or installations Multiple SDK versions may be installed side by side Downloads 3rd party dependencies No global PATH or environment variable modifications Dependencies are self-contained and local to the SDK − Except − Hexagon Tools − Python Linux support on the roadmap Installation What is the Hexagon SDK?
  • 7. 7 What is in the Hexagon SDK?
  • 8. 8 Fast Remote Procedure Calls (FastRPC) Dynamic loading Remote debugger Eclipse plugin Hardware development platforms Optimized Hexagon libraries Real-time Operation System (RTOS) Comprehensive tool chain Diagnostic logging Notable features What is in the Hexagon SDK?
  • 9. 9 Remote procedure calls between the applications processor and the Hexagon DSP Fast − Synchronous − Zero copy − Cache coherent Functions called on the Hexagon DSP may reside in dynamically loaded code Maintains cache coherency for input and output buffers Calling HLOS threads handled by corresponding threads on the Hexagon DSP Threads are automatically cleaned up when HLOS process exits Notable features: FastRPC What is in the Hexagon SDK?
  • 10. 10 DSPApplications processor Notable features: FastRPC What is in the Hexagon SDK? In-process Transport Application calculator library calculator_skel calculator_sum() #include "calculator.h" int calculator_sum( const int* vec, int vecLen, int64* res) { int ii = 0; *res = 0; for(ii = 0; ii < vecLen; ++ii) { *res = *res + vec[ii]; } return 0; } calculator_sum() calculator_stub calculator_sum() Sample code subject to SDK license agreement. Available at developer.qualcomm.com
  • 11. 11 Notable features: FastRPC: Performance What is in the Hexagon SDK? Size of buffer 8074 in (us) 8074 out (us) 0 62 32 kB 80 90 64 kB 84 94 128 kB 85 106 1 MB 177 211 4 MB 261 212 8 MB 377 303 16 MB 612 538 − Measured with Application and DSP processor clocks at max − 8074 DragonBoard™ from Intrinsyc − No change in data and DSP returns immediately − These are minimum times, and does not include RAM to cache sync times (as if prefetched) Source: Qualcomm Technologies, Inc. internal testing
  • 12. 12 Allows for the addition of code/data into the Hexagon DSP at runtime Faster development cycles, only have to build your shared object Code/data is built into shared object files (.so) − Executable and Linkable Format (ELF) − Stored on the HLOS’s file system and read by the Hexagon DSP when loaded Functions and variables become accessible to the static DSP image once the shared object is loaded Native support for shared objects in the audio and voice frameworks Notable features: Dynamic Loading What is in the Hexagon SDK?
  • 13. 13 lib.so Fxn() Notable features: Dynamic Loading What is in the Hexagon SDK? HLOS File System lib.so Fxn() aDSP Static Image h = dlopen(“lib.so”); pFxn = dlsym(h, “Fxn”); pFxn(); dlclose(h); lib.so Fxn()
  • 14. 14 Easier to create, build, run, test, and debug Hexagon modules Project templates Unit and integration testing Simulator and on-target debugging Syntax aware and highlighting for Hexagon assembly, C/C++, and IDL Custom views − Connected devices − Profiler − Resource analyzer − Audio module database − Logging Notable features: Eclipse IDE plugin What is in the Hexagon SDK?
  • 15. 15 USB based software, no hardware JTAG required Industry standard debug tools (GDB with LLDB on roadmap) Integrated with the Hexagon SDK Eclipse plugin Single or all thread stop debugging Simulator and on-target debugging Notable features: Remote debugger What is in the Hexagon SDK?
  • 16. 16 Quick development cycle from picking up the Hexagon SDK to running your code on-target Affordable hardware based development platforms provided by Intrinsyc Multiple form factors supported − Exposed boards (DragonBoards) − Tablets (MDPs) Hardware support provided by Intrinsyc − http://www.intrinsyc.com/products/qualcomm/dragonboard-development-kits.aspx Notable features: Hardware development platforms What is in the Hexagon SDK?
  • 17. 17 C and Assembly optimized libraries for common operations − FIR, IIR − FFT, IFFT, FHT − Up sampler − Computer vision (FastCV) − feature/object detection − motion & object tracking − color conversion − 3D reconstruction − image processing − Lots more … Notable features: Optimized Hexagon libraries What is in the Hexagon SDK?
  • 18. 18 QuRT™ software: real-time operating system for the Hexagon processor Low overhead both in memory and processing requirements Supports − Priority-based preemptive multithreading − Thread synchronization and communication (mutex, signal, semaphore, barriers, pipes, …) − Timers − Interrupts − Exceptions − Memory management Notable features: RTOS What is in the Hexagon SDK? QuRT is a product of Qualcomm Technologies, Inc.
  • 19. 19 ISO C/C++ compiler Assembler Standard (libc) and processor specific libraries Intrinsics Linker and archiver Debugger (gdb) Profiler (gprof) Misc utilities − ELF viewer − nm − strings − size Notable features: Comprehensive tool chain What is in the Hexagon SDK?
  • 20. 20 Runtime diagnostic logging Viewable in logcat or on host (PC) Integrated with the Hexagon SDK Eclipse plugin Supported in simulation and on-target Notable features: Diagnostic logging What is in the Hexagon SDK?
  • 21. 21 What can you do with the Hexagon SDK?
  • 22. 22 Offload compute tasks from the application processor onto the Hexagon DSP − Lower power − Frees up resources on the application processor − Appears to caller as if calling a local library Easier to do − Define interface in IDL − Use existing C code or optimize with Hexagon DSP assembly − Build using the Hexagon Tools suite − Call via the stub library on the application processor. Moving data between processors is transparent to callers and implementers − Cache coherent − Zero copy Calculator example in the Hexagon SDK General compute What can you do with the Hexagon SDK?
  • 23. 23 Add custom algorithms, encoders, and decoders to the audio framework Dynamically load and unload audio use cases on an as-needed basis − Saves memory Communicate with your audio module at runtime − Tuning − Feature enabling/disabling − User controlled settings Clearly defined interface to implement (APPI or CAPI) − Unit test frameworks to validate that your module is ready to run on the Hexagon DSP Lots of APPI and CAPI examples in the Hexagon SDK Audio What can you do with the Hexagon SDK?
  • 24. 24 Add custom processing algorithms to the voice framework Communicate with your voice module at runtime − tuning − Feature enabling/disabling − User controlled settings Clearly defined interface to implement (CAPI_V2) − Unit test frameworks to validate that your module is ready to run on the Hexagon DSP CAPI_V2 passthru and gain examples in the Hexagon SDK Voice What can you do with the Hexagon SDK?
  • 25. 25 Library of frequently used functions optimized to run on mobile devices − Math / vector operations − Image processing and transformation − Feature and object detection − 3D reconstruction − Color conversion − Clustering and search − Motion and object tracking − Share and drawing − Memory management downscaleBy2 and cornerapp examples in the Hexagon SDK Computer vision What can you do with the Hexagon SDK?
  • 27. 27 developer.qualcomm.com Augmented reality Context awareness Peer to peer Wireless health Graphics & gaming Computer vision Android applications App development SDKs & tools Marketing opportunities Case Studies & Tutorials News & Information Hardware development platforms Forums & technical support Tools & resources to help developers build, integrate, and optimize Qualcomm Developer Network
  • 28. 28 For more information on Qualcomm, visit us at: www.qualcomm.com & www.qualcomm.com/blog Thank you FOLLOW US ON: © 2013-2014 Qualcomm Technologies, Inc. and/or its affiliated companies. All rights reserved. Qualcomm, DragonBoard, and Hexagon are trademarks of Qualcomm Incorporated, registered in the United States and other countries. Uplinq and QuRT are trademarks of Qualcomm Incorporated. All trademarks of Qualcomm Incorporated are used with permission. Other product and brand names may be trademarks or registered trademarks of their respective owners. References in this presentation to “Qualcomm” may mean Qualcomm Incorporated, Qualcomm Technologies, Inc., and/or other 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 product and services businesses, including its semiconductor business, QCT.
  • 30. 30 Notable features: Eclipse IDE plugin: On-target debug What is the Hexagon SDK? Source: Hexagon SDK
  • 31. 31 Notable features: Eclipse IDE plugin: Compute off-load What is the Hexagon SDK? Source: Hexagon SDK
  • 32. 32 Notable features: Eclipse IDE plugin: Custom views What is the Hexagon SDK? AMDB View Identifies the devices (including hot plug), provides the facility to add/remove/configure the audio modules Quick Profile Viewer Displays static/dynamic profiling information for a project, Device Viewer Displays the connected devices and their state, Source: Hexagon SDK