uplinq2013 wed hexagon dsp access program lr

32
1

Upload: sundar1234

Post on 25-Nov-2015

112 views

Category:

Documents


4 download

DESCRIPTION

Presentation

TRANSCRIPT

  • 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: