Topics. Intro to different HW platforms. Tune for Battery Power. Get more out of the GPU. Pre optimized SDK s. PAGE 2 Open Source Open Possibilities



Similar documents
Cid Santos Luis Matos. Introduction to AllJoyn

Mobile Phones Operating Systems

Developing Applications for ios

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.

MOVEIRO BT-200 Technical Information for Application Developer

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Sensor Fusion Mobile Platform Challenges and Future Directions Jim Steele VP of Engineering, Sensor Platforms, Inc.

Programming the Internet of Things

FreeTAB 1017 IPS2 X4+ Sint-Truidensesteenweg Hakendover

Next Gen Platform: Team & Mentor Guide

Introduction to Android

Trepn plug-in for Eclipse FAQ

HTML5 Applications Made Easy on Tizen IVI. Brian Jones / Jimmy Huang

Embedded Development on Android Using the DragonBoard Dev Kit

10 Magni Tablet User Guide

Snapdragon Developer Program

01. Introduction of Android

Unmatchable Windows 8 Tablet S1185 Sales Kit Lite

CS378 -Mobile Computing. Android Overview and Android Development Environment

Ways to Use USB in Embedded Systems

Gauge Drawing Tool Slider Drawing Tool Toggle Button Drawing Tool One-Way List Drawing Tool... 8

SNAPPIN.IO. FWR is a Hardware & Software Factory, which designs and develops digital platforms.

Acellus Natural 3D Tablet

The 8 th International Scientific Conference elearning and software for Education Bucharest, April 26-27, / X

Mobile Operating Systems Lesson 05 Windows CE Part 1

social networking and use of media and portable device to manage digital operating system and offer a series of applications for web browsing,

This guide describes features that are common to most models. Some features may not be available on your tablet.

PD590-KT. Guide Android 4.4.2

, ACTIVITY AND, SLEEP TRACKING SMARTWATCH

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Point of View SmartTV-500 Center - Android 4.2. General notices for use...2 Disclaimer...2 Box Contents...2

Getting Started Android + Linux. February 27 th, 2014

Seagate Business Storage 8-bay Rackmount NAS Reviewer s Guide

Lenovo Miix 2 8. User Guide. Read the safety notices and important tips in the included manuals before using your computer.

A-307. Mobile Data Terminal. Android OS Platform Datasheet

Dell Wyse Cloud Connect

User Manual I1010Q16DCZ

Banana Pi Open-Source Router Board

Point of View ProTab 3XXL IPS - Android 4.0 Tablet PC. Contents... 1 General notices for use... 2 Disclaimer... 2 Box Contents...

Quick Start Turning on the Tablet PC for the First Time

Back, start, and search key Lock the keys and screen Unlock the keys and screen Set the keys and screen to lock automatically...

Capacities Overview: 9.7 MultiTouch Screen with IPS technology Access to AndroidTM apps HD Multimedia playback

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 0 Mobile Development Introduction. Marco Picone

SAMSUNG WINDOWS 8 PRODUCT LINE UP 2012

HP Slate 500 Tablet PC Overview

FNC-1000 User Guide Table of Contents

The Future of the ARM Processor in Military Operations

Point of View SmartTV HDMI 210 dongle - Android 4.2. General notices for use... 2 Disclaimer... 2 Box Contents... 2

Mobility with Eye-Fi Scanning Guide

WEARIT DEVELOPER DOCUMENTATION 0.2 preliminary release July 20 th, 2013

SABRE Lite Development Kit

NVIDIA Jetson TK1 Development Kit

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

THE UT880. Desktop Telephone. Empowering the Smart Enterprise.

User Guide. Memo S580.

Your Phone This section introduces you to the hardware of the device.

7 Mini Tablet User Guide

SINGLE DEVICE FOR MULTIPLE TASKS

Mobile Operating Systems Lesson 03 PalmOS Part 1

Mobile Fragmentation. FIA Aalborg, 10 May 2011 Philippe COUSIN WP2 Leader, ETSI Thanks to Cuihtlauac ALVARADO WP1 Leader, ORANGE

System Design Issues in Embedded Processing

ORGANIZER QUICK REFERENCE GUIDE. Install GoToMeeting. Schedule a Meeting. Start a Scheduled Meeting. Start an Instant Meeting.

Inspiron Series. Views. Specifications

Android Virtualization from Sierraware. Simply Secure

A-317. Mobile Data Terminal. Android Platform Datasheet

ICAPRG601A Develop advanced mobile multi-touch applications

Finding Performance and Power Issues on Android Systems. By Eric W Moore

Cookbook. Flash ios Apps. Christopher Caleb. 100 practical recipes for developing ios apps with Flash Professional and Adobe AIR PUBLISHING MUMBAI

NVIDIA CUDA GETTING STARTED GUIDE FOR MAC OS X

MODECOM MC-602 ART UNIQUE MICE COLLECTION. MODECOM Tablet FreeTAB 2096+

CHAPTER 2: USING THE CAMERA WITH THE APP

ShareLink 200 Setup Guide

Embedded Development Tools

Christie Brio Frequently Asked Questions

Super Manager User Manual. English v /06/15 Copyright by GPC

Dell Wyse Cloud Connect discussion card

How To Understand The Power Of Unity 3D (Pro) And The Power Behind It (Pro/Pro)

Point of View Mobii Android 4.2 Tablet PC. General notices for use... 2 Disclaimer... 2 Box Contents... 2

Standardization with ARM on COM Qseven. Zeljko Loncaric, Marketing engineer congatec

Tablets in Data Acquisition

User Manual. Ver 1.0. Solutions for the Digital Life

Camera BOF SIGGRAPH Copyright Khronos Group Page 1

Introduction to Android

Getting Started on the PC and MAC

PA700 Rugged Handheld Computer

Lenovo IdeaPad Yoga11

Friendly ARM MINI2440 & Dalvik Virtual Machine with Android

Java Embedded Applications

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

ipad, a revolutionary device - Apple

A Survey on ARM Cortex A Processors. Wei Wang Tanima Dey

Enabling Innovation in Mobile User Experience. Bruce Fleming Sr. Principal Engineer Mobile and Communications Group

Intel 4111 Generation i7 Processor (Quad Core, Base Frequency 2.BOGHz, 6 MB)

Our software strategy

User Guide Vodafone Mobile Wi-Fi R210. Designed by Vodafone

Wiley Publishing, Inc.

Kathy Au Billy Yi Fan Zhou Department of Electrical and Computer Engineering University of Toronto { kathy.au, billy.zhou }@utoronto.

GPU Usage. Requirements

Using AORUS Notebook for the First Time

Mini Android PC. User Manual. Copyright Edis Trading (HK) Limited All Rights Reserved.

Transcription:

Open Source Open Possibilities Hardware for Android App Testing & Tuning Brian Spencer Senior Engineer, Qualcomm Innovation Center, Inc. PAGE 1 Open Source Open Possibilities

Topics Intro to different HW platforms Tune for Battery Power Get more out of the GPU Pre optimized SDK s PAGE 2 Open Source Open Possibilities

Requirements In picking a developer board look at your needs. Open board for HW customization Commercial looking form factor Purely Application development Modify the Android software Board features Today I will discuss the Dragonboard by Qualcomm Similar thoughts can be applied to other boards Similar build concepts PAGE 3 Open Source Open Possibilities

Dragonboard Through the exposed connectors, adapters, and expansion headers, app developers, component suppliers, and universities can innovate within the growing open source development community Available from Bsquare APQ8060-based Dragonboard Specs APQ8060 dual core processor Adreno 220 Graphics 1500mAH battery 3.61 WVGA Display Cap Sense Multi-touch screen 5MP main camera 2MP camera for video telephony BT/WiFi Expansion Card Sensors Expansion Card Pressure and Temp 3-axis accelerometer 3-axis Gyro Proximity and Ambient Light 3-axis Compass Keypad Connectors JTAG RS-232 USB Ethernet Audio 2x SIM 2x SDIO Test points MIPI-CSI (camera) MIPI-DSI (display) Parallel bus (EBI2) GPIOs Wolfson Audio Codec PAGE 4 Open Source Open Possibilities

Open Source Open Possibilities Using the board Live Demonstration PAGE 5 Open Source Open Possibilities

How to find battery bottlenecks Various types of hardware exist that can be purchased to connect to a device to provide overall battery drain. Connectors can be added to an open board to measure draw from components. How do you use this information? What if you are an app developer and have no Hardware knowledge? Today I will discuss the Trepn Profiler tool Similar thoughts can be applied to power profiling equipment End goal is to find area s to improve application performance PAGE 6 Open Source Open Possibilities

Snapdragon Mobile Development Platform (MDP) A full-featured, fully integrated development and demonstration platform for mobile developers to create, test, and optimize applications and user experiences for Snapdragon-powered devices Available from Bsquare MSM8660-based Snapdragon MDP/S Specs 3.6 WVGA Multi-touch display WiFi, BT, GPS, FM Adreno 220 graphics 1080p video encode/decode 13MP main camera w/ flash 1MP front facing camera Audio Stereo 15x11mm loudspeakers 5 microphones (3 front, 2 back) Sensors 3D accelerometer 3-axis gyro and compass Ambient light / proximity Temperature and pressure Memory 1GB LPDDR2 16GB emmc Haptics Dual, independently controlled linear vibrator motors Hard keys Dual stage camera shutter +/- Switches (volume / zoom) Power switch HW reset External connectors HDMI Type D MicroUSB v2.0 HS OTG 3.5mm audio jack Micro SD PAGE 7 Open Source Open Possibilities

Open Source Open Possibilities Trepn Profiler PAGE 8 Open Source Open Possibilities

The Need For Application Profiling Poor choices by app developers can significantly impact battery life of mobile devices How apps drain the battery Inefficient or inappropriate use of resources Using the network too much Taking too many GPS location fixes Preventing the processor from going to sleep PAGE 9 Open Source Open Possibilities

Trepn Profiler Overview Trepn Profiler is an app profiling tool designed to measure power, data, and CPU impact of Android apps run on the Snapdragon Mobile Development Platform (MDP) Trepn allows developers to understand the power impact of programming choices, and make intelligent decisions Trepn leads to power aware and network aware programming practices, resulting in lower power use and longer battery life PAGE 10 Open Source Open Possibilities

How Trepn Profiler Measures Power Snapdragon MDP has embedded power sensors to monitor power of various rails available Battery Snapdragon MDP Power Sensors Total Power Core 0 Core 1 Digital Core Apps Core 0 Apps Core 1 Adreno GPU Video Modem Digital... Ground PAGE 11 Open Source Open Possibilities

Key Power Sensors And Other Log Points In addition to power, Trepn also tracks CPU load, network usage, and per-app stats Power Rails System Stats Network Stats Per-App stats Battery power CPU core 0/1 Digital core Camera Audio Codec Display IO HDMI CPU 0/1 frequency CPU 0/1 user load CPU 0/1 system load Data state WiFi state WiFi RSSI CPU usage Memory usage Application state PAGE 12 Open Source Open Possibilities

Trepn Profiler Graph Display Vertical line separates end of Baseline (Reference Collection Time) and start of profile session. Name of App being profiled Graph legend is hidden in slide-out door; drag drawer to open/close or double-tap bar. Also tap name of item to hide/show graph line. Scale of Y-axis Double-tap in Y-axis scale to change; can also be changed via Menu Arrow indicates that additional information is offscreen in that direction. Swiping with the finder left and right scrolls Graph line Scale of X-axis (always expressed as time in seconds) Pinch-zooming is available in both Profiling and Analyzing modes. PAGE 13 Open Source Open Possibilities

Trepn Profiler Stats Display Values are grouped in categories (Power Measurements and CPU Load in this example). Baseline provides reference for each data point before application is launched. System tab gives stats on items selected via Preferences. Name of App being profiled This section refers to the power consumed and CPU usage by the application from launch across the logged test points until the end of the session. Current values are given in mw and total in mwh. CPU Load is given as average of total CPU in percentage. Right tab(s) (Calculator in this example) gives CPU and Memory Stats on profiled app (and other Apps running on device). App List tab gives CPU stats on all apps running on device. PAGE 14 Open Source Open Possibilities

Trepn Profiler Overlay Graphs Overlays allow developers to monitor log points in real-time Desert Winds by SouthEnd Interactive Overlays are setup via the preferences menu PAGE 15 Open Source Open Possibilities

Trepn Profiler Per-App Statistics Trepn tracks some items on a per-app basis CPU load WiFi data sent/received Dormant-to-active transitions Stats on each app wake-up state are also provided PAGE 16 Open Source Open Possibilities

Using Trepn Profiler Standard Operation Install app on Snapdragon MDP using adb install Use Trepn Profiler to begin profiling, select your app, and launch Run your app through its paces Return to Trepn Profiler to stop profiling and save data Use view results to explore the captured profiling data Advanced Usage Align your logs with app behavior Use Android Intents to instrument your code to set the app state log point Select additional logging points through preferences Enable overlaying of particular data points on top of running application Import saved data (stored on SD card) into Excel for detailed analysis PAGE 17 Open Source Open Possibilities

Instrumenting Your Android Code Use Android Intents to change the app state log point within Trepn. This will allow you to correlate the Trepn output with your app Trepn calculates stats for each state Use the following code to add an autoincrementing application state: Intent stateupdate = new Intent("com.quicinc.Trepn.UpdateAppState"); sendbroadcast(stateupdate); Also capable of adding description information to the state intent. Refer to the Trepn User Guide for example Android code PAGE 18 Open Source Open Possibilities

Open Source Open Possibilities Live Trepn Demonstration PAGE 19 Open Source Open Possibilities

Open Source Open Possibilities Adreno Profiler PAGE 20 Open Source Open Possibilities

Adreno Profiler Graphics performance analysis tool for 2D and 3D content Enables application profiling and optimization in real time while connected to the device USB Connection PC Window PAGE 21 Open Source Open Possibilities

Using the Adreno Profiler Who should use it? Developers creating applications for commercial devices with Snapdragon and its Adreno GPU Why use Adreno Profiler? Provides quick insight into GPU and hardware performance bottlenecks Simulation and override features enable application modifications with the click of a button Easy to use: multiple, iterative app changes can otherwise be timeconsuming and expensive PAGE 22 Open Source Open Possibilities

Adreno Graphics Advantages Best In Class GPU Design Designed and built from the ground up for Snapdragon SOC Architectural heritage from game console GPU Advanced User Experience Console quality and smooth graphics on smart-phones and tablets for games, UIs and Web content Hours of game play between charges Large Ecosystem Drive More Android and Windows Phone 7 games running on Snapdragon than any other mobile chipset Great momentum for Snapdragon GamePack Extensive Developer Resources Leading mobile 3D content optimization tools Thorough documentation and support from industry experts PAGE 23 Open Source Open Possibilities

System Level Flow for Graphics Apps Game Discovery, Organizing & News SYSTEM (Host) MEMORY To Display OS & App. Heap Memory Textures Vertex Data Shaders CMDs Frame Buffer Simplification, actual memory buses can also be shared between CPU and GPU Multithreaded Game Engine Use Case CPU AXI BUS Memory BUS 1 Data Threads Threads CPU CORE 1 Set up Effects AI CPU CORE 2 VeNum FPU 2 Game Play Math/Data Game Physics Math/Data VeNum FPU 2 L2 Cache Animation Audio Rendering Idle App Ctrl App Ctrl System (Host) Memory Game State (Virtual) 1 2 Command Pointers AXI BUS App Ctrl App Ctrl AXI BUS GPU Data Unified Shader Processing Units Pixels GMEM Memory BUS 2 Adreno 220 GPU Dual Scorpion CPU Game Engine Loop PAGE 24 Open Source Open Possibilities

What is VeNum? VeNum is Qualcomm s implementation of the ARM7 NEON SIMD coprocessor in the Scorpion SOC. It is an acronym of Vector Numerics. VeNum is automatically used in VFP mode by default on the Scorpion by the vanilla GCC compiler flag settings from the Android NDK. Everyone compiling has already been tuning their app for the HW without possibly realizing Ability to modify assembly code for greater performance PAGE 25 Open Source Open Possibilities

Open Source Open Possibilities FastCV PAGE 26 Open Source Open Possibilities

FastCV Overview An API & library which enables Real-Time Computer Vision (CV) applications. Enables mobile devices to run CV applications efficiently. Allows developers to HW accelerate their CV application. Analogous to OpenGL ES in the rendering domain Clean modular library. FastCV Value Smaller Scope Optimize for embedded/mobile Specifics API s most widely used API s most computationally intense API s suitable for heterogeneous core optimization More granular API Better power/performance PAGE 27 Open Source Open Possibilities

One Development Toolkit Two Implementations FastCV for ARM FastCV for Snapdragon CPU GPU CPU GPU Neon DSP VetNum DSP PAGE 28 Open Source Open Possibilities

Industry Computer Vision Solutions FastCV is a processor-core agnostic acceleration API Khronos is looking to provide a standard CV API Potentially utilizing portions of OpenCV FastCV will evolve as Khronos standard is defined Application High-level CV algorithms library Media interface Hardware Abstraction Acceleration Layer API FastCV Open source for ARM (Reference reference implementation) implementation Hardware HW Specific vendor Implementations implementation FastCV for Nvidia s Intel Others Snapdragon PAGE 29 Open Source Open Possibilities

Open Source Open Possibilities Augmented Reality Platform PAGE 30 Open Source Open Possibilities

Qualcomm AR Platform Empowers developers to create compelling mobile AR experiences based on Qualcomm s industry leading R&D. Enables a new generation of interactive 3D experiences which take place on top of everyday objects Why use the Qualcomm AR SDK? Computer vision technology to tightly align graphics with printed surfaces and simple 3D objects Support for multiple development tools including Eclipse, Xcode, and Unity Optimized for the various cores in the snapdragon chipset including the NEON co-processor. PAGE 31 Open Source Open Possibilities

Qualcomm s AR Platform Mobile Application Qualcomm Developer App Assets, Logic, Rendering Engine Target Images (jpg) Target Position User Interactions Qualcomm AR Library Target Resources QDevNet Target Management Application PAGE 32 Open Source Open Possibilities

Development Options Eclipse Xcode Unity 3 Supported OS Android ios Android / ios Advantages Devices Download Qualcomm AR SDKs http://developer.qualcomm.com/ar PAGE 33 Open Source Open Possibilities Low level APIs provide enhanced flexibility and performance Supports integration with 3 rd party game/rendering engines All Android 2.1 & above iphone 3GS iphone 4 ipad2 ipod Touch (4th Generation) Fully integrated game engine reduces development time and cost Single app supports both ios and Android Availability Now Now Now N/A

Open Source Open Possibilities AllJoyn PAGE 34 Open Source Open Possibilities

Why Can t All Our Smartphones Discover & Connect in this Conference Room? The core LAN technologies are already ubiquitous and in all our phones (Bluetooth, Wi-FI) But Can your phone find me? Can you share the music or pictures currently on your phone with me? Why not? PAGE 35 Open Source Open Possibilities 35

What Is AllJoyn? Open Source Framework to Enable Ad Hoc, Proximity-Based, Peer-to-Peer Networking AllJoyn unleashes a whole new set of user experiences that span across mobile, tablets, PCs, TVs and more by abstracting all the complexity of P2P networking from developers PAGE 36 Open Source Open Possibilities

Why Peer-to-Peer (P2P) Is Hard P2P Friction Developers Face Today Device Discovery Service Discovery Pairing Platforms Security Radios Ad Hoc Networking Transient Devices PAGE 37 Open Source Open Possibilities

AllJoyn Is a Software Framework Wi-Fi Display Discovery C++ Media Sharing Security Wi-Fi Direct Java Applications Multiplayer Gaming JavaScript Social AllJoyn Development Framework Pairing Wi-Fi Chipset Objective-C Chat CLR Network Management Cross- Platform Wireless- Optimized BT Third- Party or OEM O P E N S O U R C E Open Source - Apache 2.0 Enables Developers to Easily Add P2P Experiences to Their Apps Application Layer Discovery. What Services Are Running on Nearby Devices That Are Reachable Application Layer Security. What Information Can a Service Access on Your Phone & What s Off Limits Interoperate Across Different OS and Bearers. Developer Does Not Need to Know Anything About Bluetooth, Wi-Fi, Android, Windows, etc. Tablets Mobiles Televisions Laptop/PC PAGE 38 Open Source Open Possibilities

Links for More Info Order Snapdragon developer platforms from BSQUARE www.bsquare.com/qualcomm Learn more about Trepn Profiler at developer.qualcomm.com/trepn Learn more about Adreno Profiler at developer.qualcomm.com/adreno Develop AllJoyn-Enabled Applications alljoyn.org Build Your Vision with Qualcomm s Augmented Reality SDK developer.qualcomm.com/ar PAGE 39 Open Source Open Possibilities

Questions? Questions? Questions? Questions? Cwestiynau? Cwestiynau? Spørgsmål? Spørgsmål? PAGE 40 Open Source Open Possibilities

Disclaimer Nothing in these materials is an offer to sell any of the components or devices referenced herein. Certain components for use in the U.S. are available only through licensed suppliers. Some components are not available for use in the U.S. Copyright 2012 Qualcomm Innovation Center, Inc. All rights reserved. AllJoyn is a trademark of Qualcomm Innovation Center, Inc. Other product and brand names may be trademarks or registered trademarks of their respective owners. PAGE 41 Open Source Open Possibilities