Contenu connexe
Similaire à Intel AppUp™ SDK Suite 1.2 for MeeGo (20)
Plus de Intel Developer Zone Community (9)
Intel AppUp™ SDK Suite 1.2 for MeeGo
- 1. Intel AppUp™ SDK Suite 1.2
for MeeGo*
Alexander Weggerle Uli Dumschat
Intel® SSG/Developer Products Division
July 2011
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 1
- 2. Developing Mobile Applications – What We
Hear
I want to port my existing apps
I want to create new apps faster
I want to publish my app quicker
I want the coolest performance
I want less power consumption
I want fast responding technical support
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 2
- 3. Agenda
• Overview - Intel AppUp™ SDK Suite for MeeGo*
• Create
• Test
• Tune
• Publish
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 3
- 4. What Do We Have Today
http://appdeveloper.intel.com/meego
Go to SDK, Downloads and Tools tab
Web-based SDK
All required tools at one place
Full technical support for ALL tools
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 4
- 5. Intel AppUp™ SDK Suite 1.2 for MeeGo*
Create, Test, Tune and Publish Apps To Intel AppUpSM Center
Start Your App Development For MeeGo* Today:
http://appdeveloper.intel.com/meego
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 5
- 6. Create
Qt* Development Environment
Qt development tools
Qt modular class library
Qt Creator
Core XML
Cross-platform IDE
GUI Multimedia
WebKit Database Qt Designer Qt
Graphics View Network Qt Quick Assistant
GUI
Scripting Unit Tests Designer
Help reader
OpenGL Benchmarking
Qt Linguist Qt Simulator
I18N Device
Toolset Simulator
Cross-
Cross-platform support
Chipsets
http://qt.nokia.com/products
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 6
- 7. Create
Qt* Creator
• Windows*, Linux*, Mac OS*
• QML / Qt* Quick UI designer
• Sophisticated C++ and QML
code editor (code completion,
etc.)
• Native & Remote Debugging
• Qt* Simulator
• and many more...
• http://developer.qt.nokia.com/
wiki/QtCreatorWhitepaper
Qt Quick
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 7
- 8. Test
Application Testing
Qt* Simulator QEMU Real Device
• Qt API Simulator • MeeGo Emulator • Real Device
• Test appearance & • Test appearance & • USB or TCP/IP
functionality functionality • Access to real H/W
• Include Qt apps/services • Test against complete
• Sensor emulation MeeGo stack
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 8
- 9. Test
Application Debugging
Intel® Application
Qt* Creator / Debugger Debugger for MeeGo*
Linux host only
• GDB integrated into Qt Creator • Sophisticated GUI
• Native & cross debugging • Native & cross debugging
– Qt Sim, Real Device − QEMU, Real Device
• Qt classes/objects/container • MeeGo awareness – thread
debugging
• Execution trace support
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 9
- 10. Execution Trace Support
• Hardware feature of Intel® Atom™ Processor
• Enables viewing of execution history
• Identify the root cause for exceptions
Branch Trace Buffer
On chip (Intel® JTAG Debugger)
Memory allocated (Intel® Application Debugger)
Executed
Kernel or
Application
Application
Source Code
Send Branch
Trace Information
To Debugger
Branch
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 10
- 11. Localize Configuration Issues
with Instruction Trace
C/C++ Source
Window
Trace
Window
Stop at
specific OS
signal
Assembler
Window
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 11
- 12. Tune
Optimizing Applications
Intel AppUp™ Next Generation
SDK Suite 1.2 SDK Suite
for MeeGo*
Performance maps to
Power Consumption
Maturity & Stability
Performance maps to Power Consumption!
The faster an app is the earlier a system goes back into idle
mode. Handheld systems ideally are “idle“ machines...
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 12
- 13. Tune
Performance vs. Power
• Performance optimized
– Fast execution earlier back to idle less power consumption
• Power optimized
– Technology driven Silicon manufacturing process
– Optimized OS
– Efficient usage of SoC components during app execution
Power Tools - Future
Tools - Today
Optimized
App
Technology
time
Today we can tune power consumption through better
application performance. More to come...
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 13
- 14. Tune
Performance Optimization Principles
Analyze Intel® VTune™ Amplifier XE for MeeGo*
• Identify performance bottlenecks in your app
C/C++ • Time or event-based sampling
Intel AppUp™ SDK Suite for MeeGo*
Re-
Re-compile Intel® C++ Compiler for MeeGo*
• Optimized for Intel® Atom™ processor (in-order rescheduling)
C/C++ • IPO (interprocedural optimization)
• PGO (program guided optimization)
Better results
Use libraries
Less efforts
Intel® Integrated Performance Primitives
• Highly optimized multimedia/math library functions
C/C++ Intel® Threading Building Blocks
• Threading libraries for parallelizing you applications with
excellent scaling to current and future processors
Modify sources Manual optimization
• Identify C and ASM – source spot optimization opportunities
C/C++
• Analyse results – update sources, rebuild, analyze again
ASM
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 14
- 15. Tune
VTune™
Intel® VTune™ Amplifier XE for MeeGo*
Identifies hard to find performance bottlenecks
Features
• Statistic Analysis
• Stack based or Event-based Sampling
• Low overhead sampling
• No source/binary code instrumentation required
• Can monitor processor events like cache misses, etc.
• View results with corresponding source / assembly code
Usage Model
• Two components Host
− Intel® VTune™ Amplifier XE on host *.TB5 result file
− Sampling Collector on the target
• Collect data on target and analyze it on
Intel® VTune™ Amplifier XE Sampling Collector
the host
VTune™
The Intel® VTune™ Amplfier XE tells you which module, function or
routine could use some improvement
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 15
- 16. Sampling - How To Find Hotspots Tune
“Hotspot Analysis“
MeeGo* Sampling Routine File For Offline Analysis
Makes A Snapshot
Linux*
Intel® kernel Stack Program Counter Logging
Atom™ Based Proc/Thread ID file
Processor Sampling
Exec. module
• OS-timer-based sampling
• Time-based hotspot analysis – easy to use
• For concurrency & wait sampling
• No specific drivers required
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 16
- 17. Sampling - How To Find Hotspots Tune
“Lightweight Hotspot Analysis“
Performance
Monitoring Unit Sampling Routine File For Offline Analysis
Makes A Snapshot
PMU
Intel® Event Program Counter Logging
Atom™ Based Proc/Thread ID file
Processor Sampling
Exec. module
• Event-based sampling – uses PMU processor hardware feature
• Lightweight-hotspot only collect: instructions retired, clock ticks
and reference clock tick. More in-depth analysis, e.g. Cache
misses, branch-mispredictions, dependency/pipeline stalls
• Requires kernel driver
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 17
- 18. Tune
Intel® VTune™ Amplifier XE
Performance Profiler
Where is my application…
Spending Time? Wasting Time? Waiting Too Long?
• Focus tuning on • See cache misses on • See locks by wait time
functions taking time your source • Red/Green for CPU
• See call stacks • See functions sorted by utilization during wait
• See time on source # of cache misses
Focus your application optimization efforts where it counts – Intel®
VTune™
VTune™ Amplifier XE for MeeGo* helps to analyze applications without
source and binary instrumentation
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 18
- 19. Tune
Intel® C++ Compiler Advantages
Architectural Inter-
Inter-Procedural Program Guided
Optimizations Vectorizer Optimization Optimization
For (i=0; i<=MAX; i++) IPO
c[i] = a[i] + b[i];
PGO
a[3] a[2] a[1] a[0]
+ + + +
b[3] b[2] b[1] b[0] • Execution time
c[3] c[2] c[1] c[0] feedback
• Iterative
• -xSSE3_ATOM • SIMD Parallelism • In-lining optimization
• In-order scheduling • Key to loop • Passing arguments process
• SIMD support performance in registers • Use case driven
• And more… • Great for multi- • Dead-code • Better cache
media processing elimination behavior, etc.
• And more… • And more… • And more…
Use Intel® C++ Compiler for MeeGo* for higher
performance on Intel® Atom™ processors
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 19
- 20. Tune
C/C++ Compiler Benchmark
Intel® C++ Compiler 11.1 for Linux* VS. GCC 4.5.0 Estimated by measurement on internal systems based on the
based on SPEC* CPU2000 estimated results following configuration assumptions:
• Source: Intel estimates as of July 30th, 2010
– July 30th, 2010 • Basis of comparison: Intel estimates of Intel and GCC compilers as of July
30th, 2010
C/C++ Compiler Benchmark – Geometric Mean Compilers:
1,6 46% • Intel® C++ Compiler 11.1 for Linux* (ICC)
faster 35% • GCC 4.5.0
To GCC 4.5.0 (GCC 4.5.0 = 1.0)
Estimated Relative Performance
Hardware:
1,4 faster
18% • Intel® Desk Top Board D945GCLF2 with Intel® Atom™ processor 330,
1,2
10% faster 1x1.60GHz, 2GB, 512 KB, 533MHz system bus
faster • Form factor: Mini-ITX / micro-ATX compatible
• Chipset: Intel® 945GC and ICH7
1
• Audio: Realtek ALC662 audio codec (5.1 channel HD audio)
• Video: Intel® Graphics Media Accelerator 950 & S-video output support
0,8
• I/O Control: SMSC LPC47M997 based Legacy I/O controller for serial,
parallel, and PS/2 ports
0,6 • LAN control: 10/100/1000 Mbits/sec LAN subsystem using the Realtek LAN
adapter device
0,4 Operating System:
• Red Hat* Enterprise Linux Server release 5 (Tikanga)
0,2 SPECint*_base2000 and SPECfp*_base2000 from SPEC CPU2000 V1.3
• SPEC and SPECint, SPECfp are trademarks of the Standard Performance
0 Evaluation Corporation. For more information see www.spec.org
"-O2" "Advanced" "-O2" "Advanced" • SPEC has retired SPEC CPU2000 and is no longer publishing results on its
website
GCC 4.5.0 Intel® Compiler 11.1 for Linux* Compiler switches used for estimates:
“-O2“
For more information on the compiler’s optimization approach, please refer to the Optimization
Notice: http://software.intel.com/en-us/articles/optimization-notice/ • ICC: -O2
Performance tests and ratings are measured using specific computer systems and/or components • GCC: -O2
and reflect the approximate performance of Intel products as measured by those tests. Any
“Advanced“
difference in system hardware or software design or configuration may affect actual performance.
Buyers should consult other sources of information to evaluate the performance of systems or • ICC: -O3 -ipo -no-prec-div -xSSE3_Atom -prof_gen -prof_use
components they are considering purchasing. For more information on performance tests and on the • GCC: -O3 -ffast-math -funroll-all-loops -m32 -mtune=atom -msse2 –
performance of Intel products, reference www.intel.com/software/products or call (U.S.) 1-800-628- fprofile-generate –fprofile-use
8686 or 1-916-356-3104
Intel does not control or audit the design or implementation of third party benchmarks or Web sites
referenced in this document. Intel encourages all of its customers to visit the referenced Web sites Note:
or others where similar performance benchmarks are reported and confirm whether the referenced
• Floating point geometric means are based on the C/C++ workloads from
benchmarks are accurate and reflect performance of systems available for purchase.
the SPEC CPU2000 floating point suite (177.mesa, 179.art, 183.equake,
188.ammp)
*Other brands and names are the property of their respective owners
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 20
- 21. Tune
Intel® Integrated Performance Primitives
(Intel® IPP) Library
• Highly optimized multimedia
functions
– Images & video
– Communication & signal
processing
– Data processing
• Fully utilizing
– Intel® MMX™ technology
– SSE2, SSE3
• Rapid application development
• Cross-platform compatibility
& code re-use
Optimized for
• Outstanding performance Intel® Atom™ Processor
Use Intel IPP libraries to concentrate on new features rather than
optimizing application performance
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 21
- 22. Tune
Intel® Threading Building Blocks
• Scalable performance
• Make multi-threaded application “TBB helped KnowledgeMiner
development practical achieve speeds 8x faster on an
8 core system. In addition, a
– A C++ template library that uses familiar strict redesign of
task patterns, not threads KnowledgeMiner for parallel
computing is giving a total
– A high level abstraction requiring less speedup over the previous
code for threading without sacrificing version 400x. This astonishing
performance change in speed allows
KnowledgeMiner to operate in
• Maximize application performance almost real time, something we
didn’t previously think was
– Appropriately scales to the number of possible.”
cores available Frank Lemke
Founder and President
• Works with Intel® Hyper-Threading KnowledgeMiner Software
technology enabled Intel® Atom™
processors, as well as dual-core
processors
• Available as open source at opentbb.org
Book available from O’Reilly publishing
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 22
- 23. Publish
Publishing to Intel AppUp SM Center
• MeeGo* AppUpSM SDK for Windows*
• Tools framework for app publishing
• App licensing
• Update mechanism
• Offers C and C++ API
• Contains:
• API Libraries
• Documentation
• Qt* Creator setup
• Auto RPM packaging
• Intel AppUpTM Software Debugger
• Requires: Intel AppUp™ SDK Suite for MeeGo* or
open source MeeGo* SDK
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 23
- 24. Vision
• Ease-of-use
• Full MeeGo* integration
– Complete Solution
– Qt* Creator integration
• Power Analysis Tools
• Porting Tools
• ... and more!
• BETA 1 – July 18th
– CNDA required!
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 24
- 25. Thank You!
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 25
- 26. Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 26
- 27. Optimization Notice
Optimization Notice
Intel compilers, associated libraries and associated development tools may include or utilize options that
optimize for instruction sets that are available in both Intel and non-Intel microprocessors (for example SIMD
instruction sets), but do not optimize equally for non-Intel microprocessors. In addition, certain compiler
options for Intel compilers, including some that are not specific to Intel micro-architecture, are reserved for
Intel microprocessors. For a detailed description of Intel compiler options, including the instruction sets and
specific microprocessors they implicate, please refer to the “Intel Compiler User and Reference Guides” under
“Compiler Options." Many library routines that are part of Intel compiler products are more highly optimized
for Intel microprocessors than for other microprocessors. While the compilers and libraries in Intel compiler
products offer optimizations for both Intel and Intel-compatible microprocessors, depending on the options
you select, your code and other factors, you likely will get extra performance on Intel microprocessors.
Intel compilers, associated libraries and associated development tools may or may not optimize to the same
degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These
optimizations include Intel® Streaming SIMD Extensions 2 (Intel® SSE2), Intel® Streaming SIMD Extensions
3 (Intel® SSE3), and Supplemental Streaming SIMD Extensions 3 (Intel SSSE3) instruction sets and other
optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on
microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are
intended for use with Intel microprocessors.
While Intel believes our compilers and libraries are excellent choices to assist in obtaining the best
performance on Intel and non-Intel microprocessors, Intel recommends that you evaluate other compilers and
libraries to determine which best meet your requirements. We hope to win your business by striving to offer
the best performance of any compiler or library; please let us know if you find we do not.
Notice revision #20110307
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 27
- 28. Legal Disclaimer
INFORMATION IN THIS DOCUMENT IS PROVIDED “AS IS”. NO LICENSE, EXPRESS OR IMPLIED,
BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS
DOCUMENT. INTEL ASSUMES NO LIABILITY WHATSOEVER AND INTEL DISCLAIMS ANY EXPRESS
OR IMPLIED WARRANTY, RELATING TO THIS INFORMATION INCLUDING LIABILITY OR
WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR
INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
Performance tests and ratings are measured using specific computer systems and/or components
and reflect the approximate performance of Intel products as measured by those tests. Any
difference in system hardware or software design or configuration may affect actual performance.
Buyers should consult other sources of information to evaluate the performance of systems or
components they are considering purchasing. For more information on performance tests and on
the performance of Intel products, reference www.intel.com/software/products.
BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino Atom, Centrino Atom Inside, Centrino
Inside, Centrino logo, Cilk, Core Inside, FlashFile, i960, InstantIP, Intel, the Intel logo, Intel386,
Intel486, IntelDX2, IntelDX4, IntelSX2, Intel Atom, Intel Atom Inside, Intel Core, Intel Inside,
Intel Inside logo, Intel. Leap ahead., Intel. Leap ahead. logo, Intel NetBurst, Intel NetMerge, Intel
NetStructure, Intel SingleDriver, Intel SpeedStep, Intel StrataFlash, Intel Viiv, Intel vPro, Intel
XScale, Itanium, Itanium Inside, MCS, MMX, Oplus, OverDrive, PDCharm, Pentium, Pentium
Inside, skoool, Sound Mark, The Journey Inside, Viiv Inside, vPro Inside, VTune, Xeon, and Xeon
Inside are trademarks of Intel Corporation in the U.S. and other countries.
*Other names and brands may be claimed as the property of others.
Copyright © 2011. Intel Corporation.
http://intel.com/software/products
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners. 28