View stunning SlideShares in full-screen with the new iOS app!Introducing SlideShare for AndroidExplore all your favorite topics in the SlideShare appGet the SlideShare app to Save for Later — even offline
View stunning SlideShares in full-screen with the new Android app!View stunning SlideShares in full-screen with the new iOS app!
Intel® Compilers Professional Editions The Best C++ and Fortran Development Solutions for Today’s Multi-core World
Phil De La Zerda , Director
Intel Software Development Products
June 2007 CONTAINS EMBARGOED INFORMATION No public mention allowed of the new Intel Compiler 10.0 discussed in this disclosure until June 5
Multi-Core Processors Change the Rules Single Core Dual Core Quad Core Until recently…. Maximize Multi-Core Performance By Parallelizing Software Faster software came from faster processors Now performance will primarily come from multi-core processors Intel® Xeon® processor Dual-Core Intel® Xeon® processor 5100 series New Quad-Core Intel® Xeon® 5300 for 2006
Great Performance Performance Through Parallelism Help mainstream programmers to quickly develop quality code Educate Tomorrow’s Experts
Provide Tools Today Research Tomorrow’s Techniques Higher-Ed Outreach Architect, Thread, Debug & Tune Transactional Memory Speculative Multi- threading http:// www.intel.com /software/products ACCELERATE TRANSITION TO PARALLEL PROGRAMMING
New Usage Models, parallelism is key Terabytes TIPS Gigabytes MIPS Megabytes GIPS Performance Dataset Size Kilobytes KIPS Tera-scale Multi-core Single-core Multi- Media 3D & Video Text RMS Personal Media Creation and Management Learning & Travel Entertainment Health Source: electronic visualization lab University of Illinois
Multi-core is ubiquitous – for software developers: worth utilizing, dangerous to ignore
Intel has the best products to help developers with parallelism
Intel has rich innovations ahead to take us far into the future with multi-core, we are committed
“ THINK PARALLEL (or PERISH)” “ memo to self” software developers need to Multicore processing is the new normal. Utilizing parallelism is the best way to realize performance in the future
“ Everyone” need to harness parallelism … even more: they want “solutions” they want tools to help… Help me express parallelism Help me have confidence it will work Help me tune performance Help me: recommend what I do Help me with cluster programming (write, tune, debug) Pro
Start with libraries, use as much as they apply. Recommend OpenMP. We support libraries and OpenMP very well.
Recommend Intel Threading Building Blocks. Avoids leaping from step 1 to 3. New, exciting – and well supported by Intel. A focal point for energizing the industry.
Last resort: customer use MPI and/or hand threading. We support MPI and threading by hand, very well. (so, do not panic – many early adopters will hand thread, many cluster programmers will use MPI)
Scalability – competitive advantage for software excellent ideal good fair poor Performance “ Scaling” 1 2 4 8 DESIGN FOR SCALING For excellent scaling – use Intel tools 1X 2X 4X 8X Scalability Correctness Maintainability
Introducing Scalability: Libraries, OpenMP, MPI, and Intel Threading Building Blocks Scalable & High Performance By focusing on the work to do, not “how” (thread control) to manage threads, we rely on the Intel Threading Building Blocks to manage thread better and we get better scalability and performance. Linux* Windows*
Intel ® Threading Building Blocks (TBB) 2.0 Open Source
TBB 2.0 announcement extends TBB by:
Buildable for more OSes, more processors Now more than Linux, Mac OS X, and Windows. Now more than IA32, IA64 and Intel 64 processors.
Creation of open source project http://threadingbuildingblocks. org
Source code available (GPL v2 with runtime exception)
Introducing: Intel Compilers 10.0 Professional Editions Compilers and Libraries tuned for Multi-core Processors Featuring Intel’s Revolutionary New Optimizer
Intel® C++ Compiler 10.0 Professional Edition
Intel® C++ Compiler
Intel® Math Kernel Library
Intel® Integrated Performance Primitives
Intel® Threading Building Blocks
Intel® Fortran Compiler 10.0 Professional Edition
Intel® Fortran Compilers
Intel® Math Kernel Library
and on Windows only: Microsoft* Visual Studio is included
Versions for: Windows* Linux* Mac OS* X
Breakthrough Optimizer Design Uniquely Blends Parallelism Optimizations for SSE and MC to Achieve New Levels of Optimization
Single cohesive system to combine essential functions required to optimized multi-core performance.
Vectorization – ensures performance optimization of software with complex media demands such as 3D and video.
Parallelization – maximizes multi-core processors by automatically generating multi-threaded code.
Loop Transformations – enable vectors and threaded code to automatically be transformed within a single framework.
Parallelism can be exploited in two ways: vectors (SSE) and Multi-core this optimizes our automatic exploitation of them together.
Combining vectorization, parallelization and loop transformation into a single transform delivers results
Compiler Professional Edition was the result of three years of development with the ultimate goal to make it easy for developers to advance parallelism without changing code or throwing fancy compiler switches.
Customer experience :
“ In applications involving calculations on huge amounts of continuous memory, Intel C++ 10.0 compiler s significantly faster than 9.1. In certain stand-alone tests, such as linear algebra matrix multiplication, 10.0 is up to 4 times faster than 9.1, due to improved automatic parallelization and automatic vectorization with “unroll and jam” that fits hand in glove with Intel Core 2 micro-architecture.”
Gunnar Staff & Lars Petter Endreen SPT Group
Helping developers scale, correct and maintain applications for multicore performance
Intel ® Threading Building Blocks
Parallelism for C++
A standard part of Intel C++
OpenMP*: C and Fortran
Now with API checking
Intel ® Math Kernel Library (MKL):
New threaded scientific routines
Intel ® Integrated Performance Primitives (IPP):
New threaded multimedia acceleration and 64 bit support – all compilers and libraries
Multi-threading for multicore has never been easier. Intel C++ Compiler Professional Edition
Intel® Compiler Vulnerability Diagnostics STRONG COMMITMENT TO HELP DEVELOPERS FIND VULNERABILITIES Intel Compilers have a powerful and flexible diagnostic reporting facility that allows such things as changing individual, groups of diagnostics, or all diagnostics from warnings to errors, and from remarks to warnings. Controlling Compiler Diagnostics Detects various defects and doubtful or inconsistent uses of language features in user code at compile/link time for an entire application. The Static Verifier understands C/C++ and Fortran, including OpenMP*, and can analyze mixed C/C++/Fortran applications. Static Verifier Detects certain types of memory corruption on Linux. Mudflap Support (Linux* only) Diagnostics based on C++ usage developed by Scott Meyer in his “Effective C++” books. Improving C++ Source Code Using "Effective C++" Diagnostics Various ANSI/ISO Compliance options can help identify non-portable language usage. Porting To/From Other Compilers Generates diagnostics warning of potential problems when porting legacy applications to 64-bits. Porting from 32 to 64-bits Intel® C++ Compilers have unique diagnostic capabilities that can enhance the quality of threaded code and help when introducing threads to legacy applications. Assisting Developing and Debugging Threaded Applications Identify incorrect function declarations that can corrupt the x87 floating point stack corruption and generate incorrect numerical results. Detecting x87 Floating Point Stack Corruption Run-time detection of stack corruption, helps detect commonly used security vulnerabilities. Enabling Stack Checking Run-time detection of buffer overflows, helps prevent commonly used security vulnerabilities. Detecting Buffer Overflow BENEFIT FEATURE
Better Performance on Windows*, Linux* and Mac OS* X Competition is not standing still, neither are we. We continue to deliver on our goal to BE THE BEST. Persistent leadership.
Competitive Performance on AMD Processors We continue to deliver on our goal to BE THE BEST. With effort (many switches) and without (-O2). Intel libraries and compilers continue to support a wide range of processors with optimized software performance for multiple processors in the same binary. Intel’s patented CPU-dispatch logic, available since 2000, is used by Intel compilers and libraries to offer sophisticated support for multiple processors in a single binary.
Better Performance on Multi-Core Processors Optimized code is the first step to best usage of multi-core. Multiple optimized programs run better than multiple unoptimized programs.
Better OpenMP Performance on Multi-Core Processors OpenMP and libraries are the easiest, and best way, to tap into multi-core performance (when they apply, of course). Customers have converted hand threaded programs to OpenMP –they gained performance and scalability and portability and made their program simpler all at once .
New data compression functions and code samples for full compatibility with zlib and libbzip2
Improved data compression performance
Support for new VC-1 and H.264 High profile video codecs
Support for 64-bit and 32-bit applications on Mac OS* X
Additional optimizations for Quad-Core processors, and 64-bit applications
Intel® Threading Building Blocks 1.1 Extends C++ for Parallelism
A C++ runtime library that uses familiar task patterns, not threads
A high level abstraction requiring less code for threading without sacrificing performance
Appropriately scales to the number of cores available
The thread library API is portable across Linux, Windows, or Mac OS platforms
Works with all C++ compilers (i.e. Microsoft, GNU and Intel)
What’s New (TBB 1.1 was launched in April 2007)
Auto_partitioner for better parallel algorithms
Microsoft Vista* support
Full, native 64 bit support for Mac OS X*
Intel® C++ Compiler Professional Edition Most Mac OS* X developers preferred the Intel C++ Compiler with our libraries Profession edition NOW available for Windows* and Linux* too
Intel® Fortran Compiler Professional Edition Most Mac OS* X developers preferred the Intel Fortran compiler with our MKL library Profession edition NOW available for Windows* and Linux* too The IMSL library is available in a “Professional with IMSL” version (Windows only)
$699 Intel® Fortran Compiler Professional Edition for Mac OS X $899 Intel® Fortran Compiler Professional Edition for Linux $1599 Intel® Fortran Compiler Professional Edition + ISML* for Windows $699 Intel® Fortran Compiler Professional Edition for Windows $599 Intel® C++ Compiler Professional Edition for Windows*, Linux*, Mac OS* X MSRP PRODUCTS (Single User)
$449 Intel® C++ Compiler Standard Edition for Windows*, Linux*, Mac OS* X $299 Intel® Threading Building Blocks for Windows, Linux, Mac OS X $199 Intel® Integrated Performance for Windows, Linux, Mac OS X $399 Intel® Math Kernel Library for Windows, Linux, Mac OS X $549 Intel® Fortran Compiler Standard Edition for Mac OS X $749 Intel® Fortran Compiler Standard Edition for Linux $599 Intel® Fortran Compiler Standard Edition for Windows MSRP PRODUCTS (Single User)
New Student Package Supporting new programmers
Opportunity to LEARN using the latest versions of Intel Software Development Products.
Full functional versions with our standard full year of updates and support.
$49 (MSRP) for Mac OS* X:
Intel® C++ Professional Edition for Mac OS* X
Intel® Fortran Professional Edition for Mac OS* X
(2 compilers, 2 performance libraries and Intel Threading Building Blocks)
$129 (MSRP) for Windows*:
Intel® C++ Professional Edition for Windows
Intel® Fortran Professional Edition for Windows
Intel® VTune™ Analyzer for Windows
Intel® Thread Profiler for Windows
Intel® Thread Checker for Windows
(2 compilers, 2 performance libraries and Intel Threading Building Blocks
and 3 great analysis tools)
$129 (MSRP) for Linux*:
Intel® C++ Professional Edition for Linux
Intel® Fortran Professional Edition for Linux
Intel® VTune™ Analyzer for Linux
Intel® Thread Checker for Linux
(2 compilers, 2 performance libraries and Intel Threading Building Blocks
and 2 great analysis tools)
Available only through resellers worldwide. Downloads only (no CD).
resellers also offer academic versions & student packages to qualified buyers evaluations available www.intel.com/software/products Intel C++ Compiler 10.0 Professional Edition: C++ & MKL & IPP & TBB Intel Fortran Compiler 10.0 Professional Edition: Fortran & MKL $699 Intel® Fortran Compiler Professional Edition for Mac OS X $899 Intel® Fortran Compiler Professional Edition for Linux $1,599 Intel® Fortran Compiler Professional Edition + ISML * for Windows $699 Intel® Fortran Compiler Professional Edition for Windows $599 Intel® C++ Compiler Professional Edition for Windows*, Linux*, Mac OS* X MSRP PRODUCTS (Single User)
D E T A I L S (warning: deep dive) On some of the really cool features…
Compilers and libraries together – each tuned for multi-core parallelism and vector (SSE) parallelism
boosts compilers and libraries
libraries and compilers continue leadership
C++ Parallelism: Intel Threading Building Blocks now a standard part of our C++ offering
Fortran: Significant new features
Numerous vulnerability detection features
available from Intel and resellers worldwide now
try before you buy – www.intel.com/software/products
Intel® C++ Compiler Professional Edition Most Mac OS* X developers preferred the Intel C++ Compiler with our libraries Profession Edition NOW available for Windows* and Linux* too
Intel® Fortran Compiler Professional Edition Most Mac OS* X developers preferred the Intel Fortran compiler with our MKL library Profession edition NOW available for Windows* and Linux* too The IMSL library is available in the Intel® Fortran Compiler Professional Edition with IMSL (Windows only)