Professional Documents
Culture Documents
Hexagon DSP The Core Benefits - Rick Maule, Senior Director, Qualcomm Technologies, Inc. Introducing the Hexagon SDK -- Ramesh Chandrasekhar, Director, Qualcomm Technologies, Inc. Hexagon SDK Future Tools Directions - Taylor Simpson, Senior Director, Qualcomm Technologies, Inc. Hexagon SDK Enabling New Use Cases Kuntal Sampat, Director, Qualcomm Technologies, Inc. Hexagon SDK Demonstrations, Where to get the SDK, Q&A -- Panel
Qualcomm Snapdragon is a product of Qualcomm Technologies, Inc.
5
Qualcomm Technologies is
#1
Sources: DSP shipments - Forward Concepts Nov. 2012
10+
Source: Qualcomm Technologies Inc. data
50+
7
Smartphone driven feature integration can rapidly Span Snapdragon supported product families
Automotive
IoE
Linux
Windows
Access is key
10
Hardware Multi-Threading
! 3 Simultaneous Hardware Threads ! Enhances concurrency ! Reduces cache miss penalties ! Reduces Power ! Increases instructions/VLIW packet ! Increases Performance
Hexagon DSP
! 8,16, 32bit fixed point, 32bit FP datatypes ! More work/instruction ! Reduces power ! Better scheduling by compiler ! Improves performance ! Reduces power
11
5+:'4;)4+,,)*3"'%6
;%G"$
!*8H;%G"$) 5+:'4;)<-=6+6.
5%+'"6%) 7%'%2' 5"&2'-3&
!11)7D>
!*8)9&,.) 5+:'4;)<-=6+6.
5%+'"6%) 7%'%2' 5"&2'-3&
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)
@%A+#3&)BC7D>EF) 5+:'4;)<-=6+6.
5%+'"6%) 7%'%2' 5"&2'-3&
7% Less Time
* Power measured at the device battery
12
!C(,"8<%( )&&*+(
13
! 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 !C(,"8<%( )&&*+(
14
! 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
!C(,"8<%( )&&*+(
15
! 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 !C(,"8<%( )&&*+(
16
Hexagon Docs
!"#$%&'( )&&*+( !"#$%&'( ,&-+( ./*012(345( $'6(7089$90"+( :-*0;+"(( 4*<%=0'+( >0%'0'%(( )&&*+( )"+1( ?9$@"A&9B+( >C(,"8<%(( )&&*+(
! SDK Documentation
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
!C(,"8<%( )&&*+(
18
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
!C(,"8<%( )&&*+(
19
! 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
!C(,"8<%( )&&*+(
20
Test Frameworks
!"#$%&'( )&&*+( !"#$%&'( ,&-+( ./*012(345( $'6(7089$90"+( :-*0;+"(( 4*<%=0'+( >0%'0'%(( )&&*+( )"+1( ?9$@"A&9B+( >C(,"8<%(( )&&*+( !
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 !C(,"8<%( )&&*+(
21
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.
!C(,"8<%( )&&*+(
22
! 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
!C(,"8<%( )&&*+(
23
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.
24
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 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.
!C(,"8<%( )&&*+(
25
26
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. !C(,"8<%( )&&*+(
27
!C(,"8<%( )&&*+(
28
http://developer.qualcomm.com
!C(,"8<%( )&&*+(
29
http://developer.qualcomm.com
!C(,"8<%( )&&*+(
30
developer Download the Hexagon SDK at the Qualcomm Developers Network website program
31
Thank you
FOLLOW US ON:
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 32 or registered trademarks of their respective owners.