Date post: | 25-Nov-2015 |
Category: |
Documents |
Upload: | sundar1234 |
View: | 111 times |
Download: | 4 times |
1
2
Hexagon DSP Access
Steven Brightfield Director, Product Management Qualcomm Technologies Inc.
Hexagon is a product of Qualcomm Technologies, Inc.
3
Who needs access?
4
Utilizing Hexagon DSP Now
5
Using the Hexagon SDK for SnapdragonTM processors
Hexagon SDK Enabling New Use Cases Kuntal Sampat, Director, Qualcomm Technologies, Inc.
Gaining Access with Hexagon DSP - Steve Brightfield, Director, Qualcomm Technologies, Inc.
Hexagon SDK Future Tools Directions - Taylor Simpson, Senior Director, Qualcomm Technologies, Inc.
Introducing the Hexagon SDK -- Ramesh Chandrasekhar, Director, Qualcomm Technologies, Inc.
Hexagon DSP The Core Benefits - Rick Maule, Senior Director, Qualcomm Technologies, Inc.
Panel Session: Gaining Access with the Hexagon DSP
Hexagon SDK Demonstrations, Where to get the SDK, Q&A -- Panel
Qualcomm Snapdragon is a product of Qualcomm Technologies, Inc.
6
Qualcomm Technologies is
In DSP Core shipments
#1 Sources: DSP shipments - Forward Concepts Nov. 2012
7
Hexagon DSP OEM Design Customization Accelerating use of DSP customization in smartphones, tablets, auto and consumer devices
Source: Qualcomm Technologies Inc. data
50+
Devices launched or announced with custom DSP features
10+
Top Tier OEMs
8
Hexagon DSP customization spans ecosystems Hexagon DSP is designed to enable feature portability across segments
Source: Qualcomm Technologies, Inc. data
Feature support spans segments These features span devices and can interoperate
Smartphones
Tablets
HDTVs, Set-top Boxes
Automotive
Smartphone driven feature integration can rapidly Span Snapdragon supported product families
IoE
9
Hexagon DSP embedded customization spans HLOS Hexagon DSP designed to enable feature portability across HLOS platforms
Source: Qualcomm Technologies, Inc. data
Windows
QNX
Linux
Android
Features developed on Android platforms can be rapidly deployed on Snapdragon supported HLOS platforms
10
Access is key
Tools
Profilers
SDKs
Development Platforms
Training APIs
11
Hexagon DSP Architecture Innovation Architecture designed to deliver high performance at low power dissipation
Hexagon DSP
VLIW 4-instruction issue/cycle
Increases performance Low complexity design
Reduces power, area
Innovative instruction Set 8,16, 32bit fixed point,
32bit FP datatypes More work/instruction
Reduces power Better scheduling by compiler
Improves performance Reduces power
Hardware Multi-Threading 3 Simultaneous Hardware Threads
Enhances concurrency Reduces cache miss penalties
Reduces Power Increases instructions/VLIW packet
Increases Performance
12
Computer Vision Offload ARM/Neon to Hexagon DSP Augmented Reality Java Application
Call Feature Detect
ARM Only FastCV Library
Feature DetectFunction
App CPU
FastCV Call Router
Hexagon (QDSP6) FastCV Library
Feature DetectFunction
App DSPVeNumARM/VeNum FastCV Library
Feature DetectFunction
Augmented Reality Java App finding objects in image using FastCVTM Feature Detect
Comparison of Feature Detect run on: App CPU (ARM/Neon) App DSP (Hexagon)
7% Less Time
Detection Time (%)
52% Less CPU
CPU Utilization (%)
Source: Qualcomm Technologies internal measurements. * Power measured at the device battery 32% Less Power*
Total Device Power (%)
FastCV is a product of Qualcomm Technologies, Inc.
13
Hexagon Tool Box Hexagon SDK Overview: Tools in the Box
Use Case Templates:
Audio Use Case: Adding audio post processing Base Heterogeneous Compute Use Case: The
Calculator Imaging Use Case: Decimation Vision Use Case: Edge Detection
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
Use Case Example Code
Templates
Hexagon aDSP Executable Image HW Debug Tools
14
Hexagon Tool Box Hexagon Code Generation Tools
Hexagon C/C++ Compiler designed to provide simple code porting
GCC compiler
Cross compiler hosted on x86 C99 and C++TR1 standards support Support for Hexagon data types and special instructions Designed to generate efficient code for Hexagon processor
VLIW packets Hardware loops Addressing modes
Assembler
Shuffle instructions in packet Enforce packet restrictions
Linker Create static binaries or shared libraries Code and data layout through linker scripts
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
15
Hexagon Tool Box Hexagon Code Generation Roadmap
Next Generation LLVM compiler technology release planned for Q413
Unified cross and on-target compilation Increasing adoption by the mobile industry Key enabler for heterogeneous computing
State-of-the-art modular compiler designed to enable advanced performance and code size features
Automatic vectorization and parallelization Link-time optimization (LTO) Software pipelining
Improved developer productivity Precise and understandable compiler warnings
Cost-effective way to find and fix bugs earlier in development
Warnings specifically for common Hexagon issues (e.g., memory alignment)
Faster build times with integrated assembler and new linker
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
16
Hexagon Tool Box Hexagon Code Analysis Tools
Simulator Timing approximate or untimed mode Support for all Hexagon cores Supports debugger connection Co-simulation support Detailed trace and profiling support
Profiler GUI based graphical profile of Hexagon code execution Identify areas for optimization Tracks many processor events (e.g., cache behavior)
Resource Analyzer Stack size Buffer sizes
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
17
Hexagon Tool Box Hexagon Docs
SDK Documentation Integrated in the SDK as html
Installation SDK User Guide Examples APIs, Library Signing Tools Test Frameworks Software Debug Tools
Available for reference on developer.qualcomm.com Download as pdfs. PRMs Tools User Guides User Forums FAQs
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
18
Hexagon Tool Box Utility API and Libraries
Utility APIs: Functions for diagnostic messaging, memory allocation Facilitates code portability and shared object reuse Symbols from the standard libraries libc and libgcc APIs are Hexagon specific Library Support: Libraries of common DSP algorithms
FIR, IIR, FFT
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
19
Hexagon Tool Box Hexagon IDE Support
Hexagon specific IDE feature support Integration with code generation tools Audio projects using APPI/CAPI templates Framework for integrating libraries with the aDSP Unit test framework for testing libraries Test framework for audio testing Hexagon profiling tools Specialized editors
Assembly editor IDL file editor Unit test case file editor
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
20
Hexagon Tool Box Code Signing Tools
Test Signature Generation for code signing Dynamic shared objects are digitally signed and authenticated
for hardware execution Command-line utility to generate: Digital signatures for aDSP dynamic shared objects Test signatures (TestSigs) for development.
Test private key, root certificate generation for HW
Boards supporting test signature code signing APQ8074 DragonBoardTM MSM8974 Mobile Dev. Platform Smartphone MSM8974 Mobile Dev. Platform Tablet
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
21
Hexagon Tool Box Test Frameworks
Unit Test Framework: Framework designed to enable module unit testing Quality Tests (qtests) and are specified Auto-run as part of build/test process Executes the aDSP Binary on the Simulator
System Test Framework: Define and call test functions from the HLOS Executes tests on the Hexagon aDSP. Script based testing mechanisms. Executes the aDSP Binary on the Simulator Executes
on Android or Windows Simulator Supports Android execution on the HW:
APQ8074 DragonBoard MSM8974 Mobile Dev. Platform Smartphone MSM8974 Mobile Dev. Platform Tablet
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
22
Hexagon Tool Box Software Debug Tools
Remote Debug Monitor: A debugger without the use of a JTAG hardware interface The Debug Agent and Remote Debug Driver implement a
shared memory based transport mechanism Designed to enable a debugger (ex. GDB) running on a
host PC to communicate with a remote stub running on the aDSP RTOS
Logging: Can send diagnostic messages from the aDSP to the AP
CPU and view them on the Android side via logcat. Messages sent on the aDSP are sent over to adspmsgd
driver on android. The adspmsgd driver is library that reads the messages.
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
23
Hexagon Tool Box Hardware Debug Tools
JTAG Enabled Proprietary HW Debug and Trace Third party multi-core, cross triggered debug/trace Multiple providers
JTAG GDB Debug Multi-core, debug only GDB feature set Third party vendor anticipated to come in Q413
Remote Software Debug Monitor Feature Feature Supported on HW:
APQ8074 DragonBoard now MSM8974 Mobile Dev. Platforms targeted release in
Q4
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
24
Audio Module Development Using the Hexagon SDK Hexagon SDK Designed To Enable Faster Development
Manual Development Process
Build time integration
Separate tools for edit, test, debug
ISV algorithm needs to be re-built with OEM code for commercialization
No support for tuning
Hexagon SDK Development Process
Dynamic Loading of audio codecs and audio post processing
IDE based development of audio codecs and post processing
ISV algorithm only need to be dropped on to file system after OEM signature
Qualcomm Technologies Audio Tuning Tool Targeted for Q413
Hexagon SDK Seminar: Audio Processing Module Development Using SDK
(From Develop to Platform)
Hilton Hotel Room 2601 Wed. Sept. 4th 1PM 2:30 Thur. Sept 5th 1PM 2:30 Presented by: Shahrad Payandeh/ Architect Intrinsyc Corp.
25
Hexagon Tool Box Use Case Example: Audio Use Cases
Audio Use Case Templates: APPI-based pp module for a FIR filter. APPI-based pp modules applies a gain to audio. APPI-based pp modules empty shell example. CAPI-C-based encoder/decoder module CAPI-based encoder/decoder module empty shell
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
Hexagon SDK Seminar: Audio Processing Module Development Using SDK
(From Develop to Platform) Hilton Hotel Room 2601 Wed. Sept. 4th 1PM 2:30 Thur. Sept 5th 1PM 2:30 Presented by: Shahrad Payandeh/Architect Intrinsyc Corp.
26
Expansion of Hexagon DSP use cases beyond audio
Image Enhancement Camera, Still, Video HexagonV4 based products
Video HexagonV5 based products
Computer Vision & Augmented Reality HexagonV4 based products
Voice Audio
27
Hexagon Tool Box Use Case Example: Computer Vision Use Case
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
Hexagon SDK Seminar: Accelerating Computer Vision Applications with the Hexagon DSP
Hilton Hotel Room 2601 Wed. Sept. 4th 11 AM- 12:30 Thur. Sept. 5th 3PM 4:30 Eric Gregori Senior Software Engineer / Embedded Vision Specialist BDTI Inc.
Computer Vision applications DSP-accelerated: DSP Optimized FastCV dynamic library support Integrated with FastCV SDK for Android Designed to enable ADSP acceleration of FastCV libs Snapdragon800/200 support FastCV SDK for Android on the QDevNet website
28
Hexagon Tool Box Use Case Example: Image Processing Use Case
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
Hexagon SDK Seminar: A Seminar on using the Hexagon SDK for Image processing
with Heterogeneous Computing Hilton Hotel Room 2601 Wed. Sept. 4th 3PM - 4:30 Thur. Sept. 5th 11AM -12:30 Jun Li Software Architect/ Bsquare
Image Histogram Use Case
29
Hexagon Tool Box Hexagon SDK Overview: Reviewing Tools in the Box
Use Case Examples:
Audio Use Case: Adding audio post processing Base Heterogeneous Compute Use Case: The Calculator Imaging Use Case: Decimation Vision Use Case: Edge Detection
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
Use Case Example Code
Templates
HW Debug Tools
http://developer.qualcomm.com
30
Hexagon Tool Box Use Case Example: Base Heterogeneous Compute Example
Hexagon Tools
Hexagon Docs
U/lity API and Libraries
Eclipse Plug-ins
Signing Tools
Test Frameworks
SW Debug Tools
HW Debug Tools
Lets see the demo......
The Calculator
http://developer.qualcomm.com
31
Discuss
Distribute
Develop
Download
http://developer.qualcomm.com
Tools and resources for developers Download the Hexagon SDK at the Qualcomm Developers Network website developer program
32
For more information on Qualcomm, visit us at: www.qualcomm.com & www.qualcomm.com/blog
2013 Qualcomm Technologies, Inc. All rights reserved. Qualcomm, Hexagon, Snapdragon and DragonBoard are trademarks of Qualcomm Incorporated, registered in the United States and other countries. Uplinq, FastCV and QDevNet are trademarks of Qualcomm Incorporated. All Qualcomm Incorporated trademarks are used with permission. Other products and brand names may be trademarks or registered trademarks of their respective owners.
Thank you
FOLLOW US ON: