Intel AppUp SDK Suite 1.2 for MeeGo
-
Upload
uwe-kaminski -
Category
Documents
-
view
796 -
download
1
description
Transcript of Intel AppUp SDK Suite 1.2 for 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.
Intel AppUp™ SDK Suite 1.2 for MeeGo*
Uli DumschatIntel® SSG/Developer Products Division
April 2011
1
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Intel – A Software Development Tools Provider
• Intel® SSG/Developer Products Division (DPD)
• Premium class tools for Intel® Architecture
• All Platforms
− Windows*, Linux*, Mac OS*
− MeeGo*
− RTOS
• Focus on Performance, Parallelism, Power Consumption, Embedded SW Development, Professional Technical Tools Support
http://www.intel.com/software/products
22
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
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
3
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Agenda
• Overview - Intel AppUp™ SDK Suite for MeeGo*
• Create
• Test
• Tune
• Publish
4
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Intel Confidential
5
Web-based SDK
All required tools at one place
Full technical support for ALL tools
What Do We Have Today
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
Intel AppUp™ SDK Suite 1.2 for MeeGo*Intel AppUp™ SDK Suite 1.2 for MeeGo*Intel AppUp™ SDK Suite 1.2 for MeeGo*Intel AppUp™ SDK Suite 1.2 for MeeGo*
Create, Test, Tune and Publish Apps To Intel AppUp Center
Start Your App Development For MeeGo* Today:
http://appdeveloper.intel.com/meego
SM
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Qt* Development Environment
Qt development toolsQt development toolsQt development toolsQt development toolsQt modular class libraryQt modular class libraryQt modular class libraryQt modular class library
CoreGUIWebKitGraphics View
ScriptingOpenGL
XMLMultimediaDatabaseNetwork
Unit TestsBenchmarking
Qt CreatorQt CreatorQt CreatorQt CreatorCross-platform IDE
Qt DesignerQt DesignerQt DesignerQt Designer
Qt QuickQt QuickQt QuickQt Quick
GUI
Designer
Qt LinguistQt LinguistQt LinguistQt Linguist
I18N
Toolset
Qt Qt Qt Qt
AssistantAssistantAssistantAssistant
Help reader
Qt SimulatorQt SimulatorQt SimulatorQt Simulator
Device
Simulator
CrossCrossCrossCross----platform supportplatform supportplatform supportplatform support
ChipsetsChipsetsChipsetsChipsets
CreateCreateCreateCreate
http://qt.nokia.com/products
7
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Qt* CreatorCreateCreateCreateCreate
• 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
QtQtQtQt QuickQuickQuickQuick
8
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Qt* SimulatorQt* SimulatorQt* SimulatorQt* Simulator
Application Testing
9
TestTestTestTest
• Qt API Simulator
• Test appearance &functionality
• Include Qt apps/services
• Sensor emulation
QEMUQEMUQEMUQEMU
• MeeGo Simulator
• Test appearance &functionality
• Test against complete
MeeGo stack
Real DeviceReal DeviceReal DeviceReal Device
• Real Device
• USB or TCP/IP
• Access to real H/W
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Application Debugging
10
TestTestTestTest
• GDB integrated into Qt Creator
• Native & cross debugging
– Qt Sim, Real Device
• Qt classes/objects/container
Qt* Creator / DebuggerQt* Creator / DebuggerQt* Creator / DebuggerQt* Creator / Debugger
• Sophisticated GUI
• Native & cross debugging
− QEMU, Real Device
• MeeGo awareness – threaddebugging
• Execution trace support
Intel® Application Intel® Application Intel® Application Intel® Application Debugger for MeeGo*Debugger for MeeGo*Debugger for MeeGo*Debugger for MeeGo*
Linux host only
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Optimizing Applications
Performance
Power Consumption
Maturity & Stability
Intel AppUp™SDK Suite 1.2
for MeeGo*
Next GenerationSDK Suite
Performance maps to Power Consumption!Performance maps to Power Consumption!Performance maps to Power Consumption!Performance maps to Power Consumption!
The faster an app is the earlier a system goes back into idle The faster an app is the earlier a system goes back into idle The faster an app is the earlier a system goes back into idle The faster an app is the earlier a system goes back into idle mode. Handheld systems ideally are “idle“ machines...mode. Handheld systems ideally are “idle“ machines...mode. Handheld systems ideally are “idle“ machines...mode. Handheld systems ideally are “idle“ machines...
maps tomaps tomaps tomaps tomaps tomaps tomaps tomaps to
TuneTuneTuneTune
11
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
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
Today we can tune power consumption through better Today we can tune power consumption through better Today we can tune power consumption through better Today we can tune power consumption through better application performance. More to come...application performance. More to come...application performance. More to come...application performance. More to come...
Tools Tools Tools Tools ---- TodayTodayTodayTodayTools Tools Tools Tools ---- TodayTodayTodayToday
TechnologyTechnologyTechnologyTechnologyTechnologyTechnologyTechnologyTechnology
Power
time
OptimizedApp
Tools Tools Tools Tools ---- FutureFutureFutureFutureTools Tools Tools Tools ---- FutureFutureFutureFuture
TuneTuneTuneTune
12
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Intel® VTune™ Amplifier XE for MeeGo*
• Identify performance bottlenecks in your app
• Time or event-based sampling
Less efforts
Better results
TuneTuneTuneTune
C/C++
13
AnalyzeAnalyzeAnalyzeAnalyze
Performance Optimization Principles Performance Optimization Principles Performance Optimization Principles Performance Optimization Principles
C/C++
ReReReRe----compilecompilecompilecompile Intel® C++ Compiler for MeeGo*Intel® C++ Compiler for MeeGo*Intel® C++ Compiler for MeeGo*Intel® C++ Compiler for MeeGo*
• Optimized for Intel® Atom™ processor (in-order scheduler, etc.)
• IPO (interprocedural optimization)
• PGO (program guided optimization)
C/C++
Use librariesUse librariesUse librariesUse libraries Intel® Integrated Performance PrimitivesIntel® Integrated Performance PrimitivesIntel® Integrated Performance PrimitivesIntel® Integrated Performance Primitives
• Highly optimized multimedia/math library functions
Intel® Threading Building Blocks Intel® Threading Building Blocks Intel® Threading Building Blocks Intel® Threading Building Blocks
• Threading libraries to utilize Intel® Hyper-Threading technology/
dual-core capabilities
C/C++ASM
Modify sourcesModify sourcesModify sourcesModify sources Manual optimization Manual optimization Manual optimization Manual optimization
• Identify C and ASM – source spot optimization opportunities
• Analyse results – update sources, rebuild, analyze again
Intel A
ppUp™ SDK Suite for 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.
Intel® Intel® Intel® Intel® VTuneVTuneVTuneVTune™ ™ ™ ™ Amplifier XE for MeeGo*Amplifier XE for MeeGo*Amplifier XE for MeeGo*Amplifier XE for MeeGo*Identifies hard to find performance bottlenecksIdentifies hard to find performance bottlenecksIdentifies hard to find performance bottlenecksIdentifies hard to find performance bottlenecks
FeaturesFeaturesFeaturesFeatures• Statistic Analysis
• Time or Event-based Sampling
• Low overhead sampling
• No instrumentation required
• Monitor processor events like cache misses etc.
• View results in source or assembly
Intel® VTune™ Amplifier XE
.TB5 file
Sampling Collector
Host
Usage ModelUsage ModelUsage ModelUsage Model• Two components
− Intel® VTune™ Amplifier XE on host
− Sampling Collector on the target
• Collect data on target and analyze it on
the host
The Intel® The Intel® The Intel® The Intel® VTuneVTuneVTuneVTune™ ™ ™ ™ AmplfierAmplfierAmplfierAmplfier XE tells you which module, function or XE tells you which module, function or XE tells you which module, function or XE tells you which module, function or routine could use some improvementroutine could use some improvementroutine could use some improvementroutine could use some improvement
TuneTuneTuneTune
14
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Sampling - How To Find Hotspots
• Time Based Sampling– Default – 1ms (configurable)
• Event Based Sampling– Trigger on cache misses, branch mis-predictions, dependency/pipeline stalls, etc.
TimeBasedSampling
Performance
Monitoring Unit
*.TB5 file
Sampling Routine
Makes A Snapshot
Program Counter
Proc/Thread ID
Exec. module
PMUPMUPMUPMUEventBasedSampling
File For Offline Analysis
TuneTuneTuneTune
Intel®
Atom™Processor
15
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Take Advantage of Sampling Data
Focus your application optimization efforts where it counts Focus your application optimization efforts where it counts Focus your application optimization efforts where it counts Focus your application optimization efforts where it counts –––– Intel® Intel® Intel® Intel® VTuneVTuneVTuneVTune™ Amplifier XE for MeeGo* ™ Amplifier XE for MeeGo* ™ Amplifier XE for MeeGo* ™ Amplifier XE for MeeGo* helps to analyze applications without helps to analyze applications without helps to analyze applications without helps to analyze applications without
source and binary instrumentationsource and binary instrumentationsource and binary instrumentationsource and binary instrumentation
TuneTuneTuneTune
16
Overview on functionsOverview on functions
Details onsource levelDetails on
source level
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Intel® C++ Compiler Advantages
17
• -xSSE3_ATOM
• In-order scheduler• SIMD support
• And more…
For (i=0; i<=MAX; i++)c[i] = a[i] + b[i];
+ + + +
a[3]
b[3]
c[3]
a[2]
b[2]
c[2]
a[1]
b[1]
c[1]
a[0]
b[0]
c[0]
ArchitecturalArchitecturalArchitecturalArchitectural
OptimizationsOptimizationsOptimizationsOptimizations VectorizerVectorizerVectorizerVectorizer
InterInterInterInter----ProceduralProceduralProceduralProcedural
OptimizationOptimizationOptimizationOptimization
Program GuidedProgram GuidedProgram GuidedProgram Guided
OptimizationOptimizationOptimizationOptimization
• SIMD Parallelism
• Key to loop performance
• Great for multi-media processing
• And more…
• In-lining
• Passing argumentsin registers
• Dead-code elimination
• And more…
• Execution time feedback
• Iterative optimization process
• Use case driven• Better cache
behavior, etc.• And more…
PGOPGOIPOIPO
Use Intel® C++ Compiler for MeeGo* for higher Use Intel® C++ Compiler for MeeGo* for higher Use Intel® C++ Compiler for MeeGo* for higher Use Intel® C++ Compiler for MeeGo* for higher performance on Intel® Atom™ processorsperformance on Intel® Atom™ processorsperformance on Intel® Atom™ processorsperformance on Intel® Atom™ processors
TuneTuneTuneTune
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
0
0,2
0,4
0,6
0,8
1
1,2
1,4
1,6
"-O2" "Advanced" "-O2" "Advanced"
C/C++ Compiler Benchmark – Geometric Mean
GCC 4.5.0 Intel® Compiler 11.1 for Linux*
Estimated Relative Performance
To GCC 4.5.0 (GCC 4.5.0 = 1.0)
For more information on the compiler’s optimization approach, please refer to the Optimization Notice: http://software.intel.com/en-us/articles/optimization-notice/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 or call (U.S.) 1-800-628-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 or others where similar performance benchmarks are reported and confirm whether the referenced benchmarks are accurate and reflect performance of systems available for purchase.
*Other brands and names are the property of their respective owners
Estimated by measurement on internal systems based on the
following configuration assumptions:
• Source: Intel estimates as of July 30th, 2010
• Basis of comparison: Intel estimates of Intel and GCC compilers as of July 30th, 2010
Compilers:
• Intel® C++ Compiler 11.1 for Linux* (ICC)
• GCC 4.5.0
Hardware:
• Intel® Desk Top Board D945GCLF2 with Intel® Atom™ processor 330, 1x1.60GHz, 2GB, 512 KB, 533MHz system bus
• Form factor: Mini-ITX / micro-ATX compatible
• Chipset: Intel® 945GC and ICH7
• Audio: Realtek ALC662 audio codec (5.1 channel HD audio)
• Video: Intel® Graphics Media Accelerator 950 & S-video output support
• I/O Control: SMSC LPC47M997 based Legacy I/O controller for serial, parallel, and PS/2 ports
• LAN control: 10/100/1000 Mbits/sec LAN subsystem using the Realtek LAN adapter device
Operating System:
• Red Hat* Enterprise Linux Server release 5 (Tikanga)
SPECint*_base2000 and SPECfp*_base2000 from SPEC CPU2000 V1.3
• SPEC and SPECint, SPECfp are trademarks of the Standard Performance
Evaluation Corporation. For more information see www.spec.org
• SPEC has retired SPEC CPU2000 and is no longer publishing results on its
website
Compiler switches used for estimates:
“-O2“
• ICC: -O2
• GCC: -O2
“Advanced“
• ICC: -O3 -ipo -no-prec-div -xSSE3_Atom -prof_gen -prof_use
• GCC: -O3 -ffast-math -funroll-all-loops -m32 -mtune=atom -msse2 –
fprofile-generate –fprofile-use
Note:
• Floating point geometric means are based on the C/C++ workloads from
the SPEC CPU2000 floating point suite (177.mesa, 179.art, 183.equake,
188.ammp)
C/C++ Compiler BenchmarkIntel® C++ Compiler 11.1 for Linux* VS. GCC 4.5.0based on SPEC* CPU2000 estimated results – July 30th, 2010
46%faster 35%
faster18%faster10%
faster
TuneTuneTuneTune
18
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
• Highly optimized multimedia functions– Images & video– Communication & signal
processing
– Data processing
• Fully utilizing– Intel® MMX™ technology– SSE2, SSE3
– Multi-core / Intel® Hyper-Threading technology
• Rapid application development
• Cross-platform compatibility& code re-use
• Outstanding performance
Intel® Integrated Performance Primitives (Intel® IPP) Library
Use Use Use Use Intel IPP Intel IPP Intel IPP Intel IPP libraries to concentrate on new features rather than libraries to concentrate on new features rather than libraries to concentrate on new features rather than libraries to concentrate on new features rather than optimizing application performanceoptimizing application performanceoptimizing application performanceoptimizing application performance
Optimized for Intel® Atom™ Processor
TuneTuneTuneTune
19
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
“TBB helped KnowledgeMinerachieve speeds 8x faster on an 8 core system. In addition, a strict redesign of
KnowledgeMiner for parallel computing is giving a total speedup over the previous version 400x. This astonishing change in speed allows
KnowledgeMiner to operate in almost real time, something we didn’t previously think was possible.”
Frank LemkeFounder and President
KnowledgeMiner Software
Intel® Threading Building Blocks
• Scalable performance
• Make multi-threaded application development practical
– A C++ template library that uses familiar
task patterns, not threads
– A high level abstraction requiring less code for threading without sacrificing
performance
• Maximize application performance
– Appropriately scales to the number of
cores available
• Works with Intel® Hyper-Threading technology enabled Intel® Atom™ processors, as well as dual-core processors
• Available as open source at opentbb.org
Book available from O’Reilly publishing
20
TuneTuneTuneTune
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
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
PublishPublishPublishPublish
21
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Vision
• Ease-of-use
• Full MeeGo* integration
–Complete Solution
–Qt* Creator integration
• Power Analysis Tools
• Porting Tools
• ... and more!
22
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Thank You!
23
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
Intel Confidential
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Optimization Notice
25
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
Intel Confidential
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved.
*Other brands and names are the property of their respective owners.
Legal Disclaimer
26
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
Intel Confidential