Parallel programming with Intel Parallel Studio XE

Optimize code for multi-core processors with Intel's Parallel Studio Parallel programming is rapidly becoming a ""must-know"" skill for developers. Yet, where to start? This teach-yourself tutorial is an ideal starting point for developers who already know Windows C and C++...

Descripción completa

Detalles Bibliográficos
Autor principal: Blair-Chappell, Stephen E. (-)
Otros Autores: Strokes, Andrew
Formato: Libro electrónico
Idioma:Inglés
Publicado: Indianapolis, IN : Wiley 2012.
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009628717706719
Tabla de Contenidos:
  • Parallel Programming with Intel Parallel Studio XE; Contents; Foreword; Introduction; Part I: An Introduction to Parallelism; Chapter 1: Parallelism Today; The Arrival of Parallelism; The Power Density Race; The Emergence of Multi-Core and Many-Core Computing; The Top Six Challenges; Legacy Code; Tools; Education; Fear of Many-Core Computing; Maintainability; Return on Investment; Parallelism and the Programmer; Types of Parallelism; Intel's Family of Parallel Models; Cilk Plus and Threading Building Blocks; Domain-Specific Libraries; Established Standards; Research and Development
  • Choosing the Right Parallel ConstructsHigh-Level vs. Low-Level Constructs; Data Parallelism vs. General Parallelism; Examples of Mixing and Matching Parallel Constructs; Parallel Programming Errors; Data Races; Determinacy Races; Deadlocks; Poor Load Balancing; Threading/Tasking Overhead; Synchronization Overhead; Memory Errors; Speedup and Scalability; Calculating Speedup; Predicting Scalability; Parallelism and Real-Time Systems; Hard and Soft Real-Time; A Hard Real-Time Example using RTX; Advice for Real-Time Programmers; Summary; Chapter 2: An Overview of Parallel Studio XE
  • Why Parallel Studio XE?What's in Parallel Studio XE?; Intel Parallel Studio XE; Intel Parallel Advisor; The Advisor Workflow; Surveying the Site; Annotating Code; Checking Suitability; Checking Correctness; Replacing Annotations; Intel Parallel Composer XE; Intel C/C++ Optimizing Compiler; Profile-Guided Optimization; Cilk Plus; OpenMP; Intel Threading Building Blocks; Intel Integrated Performance Primitives; An Application Example; IPP and Threading; Intel Parallel Debugger Extension; Intel Debugger; Math Kernel Library; VTune Amplifier XE; Hotspot Analysis; Concurrency Analysis
  • Locks and Waits AnalysisDissassembly Source View; Parallel Inspector XE; Predefined Analysis Types; Errors and Warnings; Static Security Analysis; Different Approaches to Using Parallel Studio XE; Summary; Chapter 3: Parallel Studio XE for the Impatient; The Four-Step Methodology; Example 1: Working with Cilk Plus; Obtaining a Suitable Serial Program; Running the Serial Example Program; Creating the Project; Running the Serial Version of the Code; Step 1: Analyze the Serial Program; Using Intel Parallel Amplifier XE for Hotspot Analysis; Step 2: Implement Parallelism using Cilk Plus
  • Step 3: Debug and Check for ErrorsChecking for Errors; Narrowing the Scope of the Shared Variables; Adding Cilk Plus Reducers; Running the Corrected Application; Step 4: Tune the Cilk Plus Program; Example 2: Working with OpenMP; Step 1: Analyze the Serial Program; Step 2: Implement Parallelism using OpenMP; Step 3: Debug and Check for Errors; Making the Shared Variables Private; Adding a Reduction Clause; Step 4: Tune the OpenMP Program; Improving the Load Balancing; Summary; Part II Using Parallel Studio XE; Chapter 4: Producing Optimized Code; Introduction; The Example Application
  • Optimizing Code in Seven Steps