1.

Record Nr.

UNINA9910812710103321

Autore

Reinders James

Titolo

High performance parallelism pearls : multicore and many-core programming approaches / / James Reinders, Jim Jeffers

Pubbl/distr/stampa

Waltham, Massachusetts : , : Morgan Kaufmann, , 2015

©2015

ISBN

0-12-802199-3

Edizione

[First edition.]

Descrizione fisica

1 online resource (549 p.)

Disciplina

005.275

Soggetti

Parallel programming (Computer science) - Data processing

Coprocessors

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Note generali

Includes indexes.

Nota di bibliografia

Includes bibliographical references and indexes.

Nota di contenuto

Front Cover; High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches; Copyright; Contents; Contributors; Acknowledgments; Foreword; Humongous computing needs: Science years in the making; Open standards; Keen on many-core architecture; Xeon Phi is born: Many cores, excellent vector ISA ; Learn highly scalable parallel programming; Future demands grow: Programming models matter; Preface; Inspired by 61 cores: A new era in programming; Chapter 1: Introduction; Learning from successful experiences; Code modernization; Modernize with concurrent algorithms

Modernize with vectorization and data localityUnderstanding power usage; ISPC and OpenCL anyone?; Intel Xeon Phi coprocessor specific; Many-core, neo-heterogeneous; No "Xeon Phi" in the title, neo-heterogeneous programming; The future of many-core; Downloads; Chapter 2: From "Correct" to "Correct & Efficient": A Hydro2D Case Study with Godunov's Scheme; Scientific computing on contemporary computers; Modern computing environments; CEA's Hydro2D; A numerical method for shock hydrodynamics; Euler's equation; Godunov's method; Where it fits; Features of modern architectures

Performance-oriented architectureProgramming tools and runtimes; Our computing environments; Paths to performance; Running Hydro2D; Hydro2D's structure; Computation scheme; Data structures; Measuring



performance; Optimizations; Memory usage; Thread-level parallelism; Arithmetic efficiency and instruction-level parallelism; Data-level parallelism; Summary; The coprocessor vs the processor; A rising tide lifts all boats; Performance strategies; Chapter 3: Better Concurrency and SIMD on HBM ; The application: HIROMB - BOOS -Model; Key usage: DMI ; HBM execution profile

Overview for the optimization of HBM Data structures: Locality done right; Thread parallelism in HBM ; Data parallelism: SIMD vectorization; Trivial obstacles; Premature abstraction is the root of all evil; Results; Profiling details; Scaling on processor vs. coprocessor; Contiguous attribute; Summary; References; Chapter 4: Optimizing for Reacting Navier-Stokes Equations; Getting started; Version 1.0: Baseline; Version 2.0: ThreadBox ; Version 3.0: Stack memory; Version 4.0: Blocking; Version 5.0: Vectorization; Intel Xeon Phi coprocessor results; Summary

Chapter 5: Plesiochronous Phasing BarriersWhat can be done to improve the code?; What more can be done to improve the code?; Hyper-Thread Phalanx; What is nonoptimal about this strategy?; Coding the Hyper-Thread Phalanx; How to determine thread binding to core and HT within core?; The Hyper-Thread Phalanx hand-partitioning technique; A lesson learned; Back to work; Data alignment; Use aligned data when possible; Redundancy can be good for you; The plesiochronous phasing barrier; Let us do something to recover this wasted time; A few "left to the reader" possibilities

Xeon host performance improvements similar to Xeon Phi

Sommario/riassunto

High Performance Parallelism Pearls shows how to leverage parallelism on processors and coprocessors with the same programming - illustrating the most effective ways to better tap the computational potential of systems with Intel Xeon Phi coprocessors and Intel Xeon processors or other multicore processors. The book includes examples of successful programming efforts, drawn from across industries and domains such as chemistry, engineering, and environmental science. Each chapter in this edited work includes detailed explanations of the programming techniques used, while showing high performan