View
603
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Intel Ultrabook Software Development Tools - presented by Uli Dumschat
Citation preview
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® Software Development Tools
for Advanced Performance
Boost Performance. Scale Forward. Ensure Confidence.
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/4/2012 2
Who I Am…
• Uli Dumschat • Computer Science Degree• Mobile Tools Product Marketing @ Intel• Since 1998 in SW Tools business, Intel since 2001
DL2BAT
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/4/2012 3
Intel® SSG/Developer Products Division
Premium Class Tools For Intel® Architecture
http://www.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. 9/4/2012 4
OS/Environment DevelopmentRequirements
Intel® Software Development Tools
Windows* 8 Compatibility
Let‘s talk aboutLet‘s talk aboutLet‘s talk aboutLet‘s talk aboutIntel ToolsIntel ToolsIntel ToolsIntel ToolsFor Windows* For Windows* For Windows* For Windows* Desktop AppsDesktop AppsDesktop AppsDesktop Apps
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/4/2012 5
Libraries Bundled Suites Compilers Analysis/Profiling Tools
Let‘s have aLet‘s have aLet‘s have aLet‘s have acloser look! closer look! closer look! closer look! ☺☺☺☺
Intel® Software Development Tools Overview
Thriving in a Multicore World
with
Intel® Parallel Studio XE
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/4/2012 7
Intel® Parallel Studio XE
What’s What’s What’s What’s Included?Included?Included?Included?
What
Why
Windows and Linux
Leading Software Development Tools forOptimized Application Performance, Scalable Parallelism, and
Confidence
Value Proposition
• Performance - Intel tools are key to utilizing processor performance
• Scale forward - Your application investment extends to tomorrow’s platforms
• Confidence - Trusted software tools you can count on for best results
How
• Leading C++ and Fortran performance optimizing compilers libraries, performance libraries, and analysis tools
• Advanced parallel programming models to develop code for Intel® Xeon® Processors today, easily extends to Intel® MIC architecture
• Trusted software correctness tools for application quality and ensured confidence
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/4/2012 8
Intel® Parallel Studio XE 2011A Complete SW Tools Solution Covering All Phases Of SW Development
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/4/2012 9
Phase Productivity Tool Feature Benefit
Design
Intel® Parallel Advisor for C++ Windows
Threading design assistant
• Simplifies, demystifies, and speeds parallel application design
• Available for Intel® Parallel Studio XE Windows and Intel® C++ Studio Windows (ESD)
Build & Debug
Intel®
Composer XE
C/C++ and Fortran compilers and performance libraries• Intel® Parallel Building Blocks• Intel® Integrated Performance
Primitives• Intel® Math Kernel Library
• Enabling solution to achieve the application performance and scalability benefits of multicore and forward scale to manycore
VerifyIntel®
Inspector XE
Memory & threading dynamicanalysis for code quality
Static Security Analysis for codequality (Studio products only)
• Increased productivity, code quality, and lowers cost
• Finds memory, threading , and security defects before they happen
TuneIntel® VTune™Amplifier XE
Performance Profiler for optimizing application performance and scalability
• Remove guesswork, saves time, makes it easier to find performance and scalability bottlenecks
Intel® Parallel Studio XEPowerful Tools Provide Comprehensive Coverage
Optimized Performance, Scalable Parallelism, Confidence
Intel® Parallel Studio XE
Product Details
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/4/2012 11
Intel®
Parallel Advisor - OverviewThreading Assistant for Windows*
Simplifies and Speeds Threading Design
Best Results with Parallelism Design Insight and Analysis
Evaluate return on investment Performance benefit vs. the cost of transitioning to parallelism
Simplifies adding ParallelismShorter learning curve for parallelism by helping to identify and experiment with parallel opportunities
Step-by-step threading guidanceFrom surveying code, finding the best implementation, to checking correctness.
Design Phase
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/4/2012 12
Intel® Parallel Advisor – Overview
Discover, Analyze, Check, Add Parallelism
Analyzes the executing serial program as developers work through the methodology
Check SuitabilityEvaluates performance impact and implication of the parallel experiments
Survey TargetFocuses effort where it will pay off and targets coarse-grain parallelism
Annotate SourcesInserts annotations to sources to describe parallel experiments
Check CorrectnessFinds and resolves conflicts before parallelism is applied. Reduces debugging problems by defining safe and solid paths to parallelism
Design Phase
Models Intel® Threading Building Blocks, Intel® Cilk™ Plus, Microsoft*PPL, Windows* Threads, OpenMP*
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners. 139/4/2012
Intel® C++ Composer XE
• Intel® C++ Compiler XE 12.1• Intel® Parallel Building Blocks- Intel® Threading Building Blocks- Intel® Cilk™ Plus
• Intel® Math Kernel Library• Intel® Integrated Performance
Primitives
Intel® Fortran Composer XE
• Intel® Fortran Compiler XE 12.1• Intel® Math Kernel Library • Intel® Integrated Performance
Primitives
Intel Composer XE - OverviewCompilers, Performance Libraries, Debugging Tools
• Leading Performance Optimizing Compilers
- Intel C++ and Fortran Compilers
- Intel® Integrated Performance Primitives, Intel® Math Kernel Library libraries
- Profile-Guided Optimization (PGO)
- Interprocedural Optimization (IPO)
- Guided-auto parallelism (GAP)
- High-Performance Parallel Optimizer (HPO)
- SIMD Pragma
- C++ Array Notations
• Standard Support
- OpenMP*
- C++0x
- Support for key parts of the latest Fortran and C++ standards, Visual Studio* 2010 Shell for Visual Fortran*
• Compatibility – Mix and Match- Binary and source compatible with
Microsoft* Visual Studio* C++ and GCC*
Windows*, Linux*, Mac OS*
32-bit & 64-bit multicore processor supportIntel® AVX support
Supported EnvironmentsMicrosoft Visual Studio* 2005, 2008, 2010 Eclipse CDT and Mac XCode*
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/4/2012 14
Updated Compilers and LibrariesProduce Industry Leading Performance
• Intel v12.1 compilers improve performance compared with:
– Competitive compilers
– Previous version Intel compilers
Notes:
1 C/C++ performance measured using SPECint®_base2006 estimated RATE benchmark running on a 64 bit operating system
2 Fortran performance measured using Polyhedron* benchmark running on a 64 bit operating system. In this performance measurement, “faster” refers to percent reduction in time-to-completion.
Intel v12.1 Intel v12.1 Intel v12.1 Intel v12.1 Compiler on Compiler on Compiler on Compiler on
Windows* Windows* Windows* Windows* vs.vs.vs.vs.nearest nearest nearest nearest
competitorcompetitorcompetitorcompetitor
Intel v12.1 Intel v12.1 Intel v12.1 Intel v12.1 Compiler on Compiler on Compiler on Compiler on Linux* Linux* Linux* Linux* vs.vs.vs.vs.nearest nearest nearest nearest
competitorcompetitorcompetitorcompetitor
Intel v12.1 Intel v12.1 Intel v12.1 Intel v12.1 Compiler on Compiler on Compiler on Compiler on Windows Windows Windows Windows vs.vs.vs.vs.
v12.0v12.0v12.0v12.0
Intel v12.1 Intel v12.1 Intel v12.1 Intel v12.1 Compiler on Compiler on Compiler on Compiler on
LinuxLinuxLinuxLinux vs. vs. vs. vs. v12.0v12.0v12.0v12.0
C/C++C/C++C/C++C/C++IntegerIntegerIntegerInteger1111 47% faster47% faster47% faster47% faster 12% faster12% faster12% faster12% faster 11% faster11% faster11% faster11% faster 6% faster6% faster6% faster6% faster
C/C++C/C++C/C++C/C++Floating Floating Floating Floating PointPointPointPoint1111
21%21%21%21% fasterfasterfasterfaster 9% faster9% faster9% faster9% faster 3% faster3% faster3% faster3% faster 1% faster1% faster1% faster1% faster
FortranFortranFortranFortran2222 24%24%24%24% fasterfasterfasterfaster 17% faster17% faster17% faster17% faster 22% faster22% faster22% faster22% faster 27% faster27% faster27% faster27% faster
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners.
A Family of Parallel Programming ModelsDeveloper Choice
Intel® Cilk™ PlusIntel® Cilk™ PlusIntel® Cilk™ PlusIntel® Cilk™ Plus
C/C++ language extensions to simplify parallelism
Open sourced
Also an Intel product
Intel® Threading Intel® Threading Intel® Threading Intel® Threading Building BlocksBuilding BlocksBuilding BlocksBuilding Blocks
Widely used C++ template library for parallelism
Open sourced
Also an Intel product
DomainDomainDomainDomain----Specific Specific Specific Specific LibrariesLibrariesLibrariesLibraries
Intel® Integrated Performance Primitives
Intel® Math Kernel Library
Established Established Established Established StandardsStandardsStandardsStandards
Message Passing Interface (MPI)
OpenMP*
Coarray Fortran
OpenCL*
Research andResearch andResearch andResearch andDevelopmentDevelopmentDevelopmentDevelopment
Intel® Concurrent Collections
Offload Extensions
Intel® Array Building Blocks
Intel® SPMD Parallel Compiler
Choice of high-performance parallel programming models• Libraries for pre-optimized and parallelized functionality
• Intel® Cilk™ Plus and Intel® Threading Building Blocks supports composable parallelization of a wide variety of applications.
• OpenCL* addresses the needs of customers in specific segments, and provides developers an additional choice to maximize their app performance
• MPI supports distributed computation, combines with other models on nodes
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/4/2012 16
Advanced Tools to Develop Code for Intel® Xeon® Processors Today, Easily Extends to Intel® MIC
Architecture
“By just utilizing standard programming on both Intel® Xeon processor and Intel® MIC architecture based platforms, the performance met multi-threading scalability expectations and we observed near-theoretical linear performance scaling with the number of threads.” – Hongsuk Yi,
Heterogeneous Computing Team
Leader, KISTI Supercomputing Center
“SGI understands the significance of inter-processor communications, power, density and usability when architecting for exascale. Intel has made the leap towards exaflop computing with the introduction of Intel® Many Integrated Core (MIC) architecture. Future Intel® MIC products will satisfy all four of these priorities, especially with their expected ten times increase in compute density coupled with their familiar X86 programming environment.” –Dr. Eng Lim Goh, SGI CTO
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/4/2012 17
What’s New: Intel® Cilk™ Plus v1.1 Implemented with Commercial Support; Simplifies Going Parallel
• Enhanced performance and utilization of future Intel CPU features
• SIMD pragma loops, vector length, and elemental functions support
• Mac OS* support
cilk_for (int i=0; i<n; ++i) {Foo(a[i]);
}
Open spec at: cilkplus.org
}int fib (int n){
if (n <= 2)return n;
else {int x,y;x = fib(n-1);y = fib(n-2);return x+y;
}}
}int fib (int n){
if (n <= 2)return n;
else {int x,y;
x = _cilk_spawn fib(n-1);y = fib(n-2);_cilk_sync;return x+y;
}}Turn serial code Into parallel code
Parallel loops made easy
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/4/2012 18
Intel® Inspector XE - Dynamic AnalysisDetects memory and threading errors
• Memory errors• Invalid Memory Accesses• Memory Leaks• Uninitialized Memory Accesses• Improper usage of Memory API(s)• Resource Leaks (Windows only)
•Threading Errors• Data Races• Deadlock/Lock Hierarchy Violation• Cross Stack Memory Accesses
� No special compiles(dynamic binary instrumentation)
� Analyze DLLs (source optional)
� Runs threaded� 32 and 64-bit OSs
(e.g., Windows 7, RHEL 6)
� Easy user interface
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/4/2012 19
Intel® Parallel Studio XE - Static AnalysisDetects over 250 different kinds of errors & security risks
Coding Errors (partial list)
• Memory and resource leaks• Incorrect OpenMP* and Cilk directives• Pointer and array errors
Security Errors (partial list)
• Buffer overflows and underflows• Uninitialized variables and objects• Incorrect pointer usage• Misuse of string, memory formatting
library routines
� No compiler change required−Existing compiler for code generation−Intel compiler front end for static
analysis
� No workload required� Fast ~1.5X time of an optimizing
compile†
� Easy user interface
† Estimate. Your results may vary.
Static Analysis is included in all Studio XE products.It is not sold separately.
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/4/2012 20
Where is my application…
Spending Time? Wasting Time? Waiting Too Long?
• Focus tuning on functions taking time
• See call stacks• See time on source
• See cache misses on your source
• See functions sorted by # of cache misses
• See locks by wait time
• Red/Green for CPU utilization during wait
Intel® VTune™ Amplifier XE Performance Profiler
• Windows & Linux• Low overhead• No special recompiles
Advanced Profiling For Scalable Multicore Performance
Claire CatesPrincipal Developer, SAS Institute Inc.
We improved the performance of the latest run 3 fold. We wouldn't have found the problem without something like Intel® VTune™ Amplifier XE.
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/4/2012 21
Intel® VTune™ Amplifier XE Tune Applications for Scalable Multicore Performance
• Fast, Accurate Performance Profiles– Hotspot (Statistical call tree)– Hardware-Event Based Sampling
• Thread Profiling– Visualize thread interactions on timeline– Balance workloads
• Easy set-up– Pre-defined performance profiles– Use a normal production build
• Compatible– Microsoft, GCC, Intel compilers– C/C++, Fortran, Assembly, .NET– Latest Intel® processors
and compatible processors1
• Find Answers Fast– Filter extraneous data– View results on the source / assembly– Event multiplexing
• Windows or Linux– Visual Studio Integration (Windows)– Standalone user i/f and command line– 32 and 64-bit
1 IA32 and Intel® 64 architectures. Many features work with compatible processors. Event based sampling requires a genuine Intel® Processor.
Intel® Parallel Studio XE
Summary
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/4/2012 23
Intel® Parallel Studio XE Performance, Quality, and Scalable Parallelism Solutions
software.intel.com
• Performance - Intel tools are key to utilizing processor performance
• Scale forward - Your application investment extends to tomorrow’s platforms
• Confidence - Trusted software tools you can count on
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/4/2012 24
Intel®
Parallel Studio XE
Intel®
C++ Studio XE
Intel®
FortranStudio XE
Analy
sis
Intel® Inspector XEMemory and Thread Checker
���� ���� ����
Intel® Static Security Analysis ���� ���� ����
Intel® VTune™ Amplifier XEPerformance Profiler
���� ���� ����
Com
pilers Intel® C++ Compiler ���� ���� x
Intel® Fortran Compiler ���� x ����
Lib
rari
es
Intel® Integrated Performance Primitives ���� ���� x
Intel®
Threading Building Blocks���� ���� x
Intel® Math Kernel Library ���� ���� ����
Tool
Intel® Parallel Advisor C++ Windows available (separate download)
���� ����x
Windows MSRP $1,899 $1,499 $1,599
Windows SSR $759 $599 $639
Linux MSRP $2,249 $1,499 $1,799
Linux SSR $899 $599 $719
Intel® Parallel Studio XE Family Suites
Intel Confidential - Internal Use 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. 9/4/2012
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
9/4/2012
Optimization Notice
Intel’s compilers 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 SSE2®, SSE3, and 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. Certain optimizations not specific to Intel microarchitecture are reserved for
Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information
regarding the specific instruction sets covered by this notice.
Notice revision #20110804
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
9/4/2012
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.
Backup
Software & Services Group
Developer Products Division Copyright© 2011, Intel Corporation. All rights reserved. *Other brands and names are the property of their respective owners.
ISV Guidance: Tools for ParallelismApp Tool Description
Distributed MPI • Multi-fabric message passing library used for making applications perform better on IA-based clusters.
Fortran OpenMP • Need high level abstractions (instead of low level native threads) • Look to use traditional execution patterns and utilize standards
C Intel CilkTM
Plus• Language extensions for task and data parallelism• Simple yet powerful compiler based solution with a lower overhead
OpenMP • Need high level abstractions (instead of low level native threads) • Look to use traditional execution patterns and utilize standards
OpenCL • Use specifically when heterogeneous support is required (CPU+GEN/NVIDIA/ATI support)• Need low level control/API and interoperability w/ OpenGL and DX• Requires deep expertise and advanced knowledge
C++ Intel CilkTM
Plus• Language extensions for task and data parallelism. • Simple yet powerful compiler based solution with a lower overhead
PBB (TBB) • Widely used C++ template library for task parallelism.• Contains a rich feature set for general purpose parallelism
OpenCL • Can be used in API level, but kernel needs to be implemented in C
Although most tools can be used for multiple languages, Intel recommendations are listed above.
Select from a variety of powerful tools to aid parallelism