Parallel Programming for Modern High Performance Computing Systems - Pawel Czarnul

Parallel Programming for Modern High Performance Computing Systems

(Autor)

Buch | Hardcover
304 Seiten
2018
CRC Press (Verlag)
978-1-138-30595-3 (ISBN)
118,45 inkl. MwSt
This book describes the state-of-the-art computing devices and systems available, including multi-core CPUs, accelerators, such as GPUs, coprocessors, and clusters. It introduces approaches to parallelization using important programming paradigms, and covers the useful elements of the most popular APIs for programming parallel HPC systems.
In view of the growing presence and popularity of multicore and manycore processors, accelerators, and coprocessors, as well as clusters using such computing devices, the development of efficient parallel applications has become a key challenge to be able to exploit the performance of such systems. This book covers the scope of parallel programming for modern high performance computing systems.

It first discusses selected and popular state-of-the-art computing devices and systems available today, These include multicore CPUs, manycore (co)processors, such as Intel Xeon Phi, accelerators, such as GPUs, and clusters, as well as programming models supported on these platforms.

It next introduces parallelization through important programming paradigms, such as master-slave, geometric Single Program Multiple Data (SPMD) and divide-and-conquer.

The practical and useful elements of the most popular and important APIs for programming parallel HPC systems are discussed, including MPI, OpenMP, Pthreads, CUDA, OpenCL, and OpenACC. It also demonstrates, through selected code listings, how selected APIs can be used to implement important programming paradigms. Furthermore, it shows how the codes can be compiled and executed in a Linux environment.

The book also presents hybrid codes that integrate selected APIs for potentially multi-level parallelization and utilization of heterogeneous resources, and it shows how to use modern elements of these APIs. Selected optimization techniques are also included, such as overlapping communication and computations implemented using various APIs.

Features:






Discusses the popular and currently available computing devices and cluster systems



Includes typical paradigms used in parallel programs



Explores popular APIs for programming parallel applications



Provides code templates that can be used for implementation of paradigms



Provides hybrid code examples allowing multi-level parallelization



Covers the optimization of parallel programs

Pawel Czanul

1. Understanding the Need for Parallel Computing 2. Overview of Selected Parallel and Distributed Systems for High Performance Computing 3. Typical Paradigms for Parallel Applications 4. Selected APIs for Parallel Programming 5. Programming Parallel Paradigms Using Selected APIS 6. Optimization Techniques and Best Practices for Parallel Codes Appendix A. Resources Appendix B. Further reading

Erscheinungsdatum
Zusatzinfo 20 Tables, black and white; 64 Illustrations, black and white
Verlagsort London
Sprache englisch
Maße 156 x 234 mm
Gewicht 589 g
Themenwelt Mathematik / Informatik Informatik Netzwerke
Mathematik / Informatik Informatik Theorie / Studium
Informatik Weitere Themen Hardware
ISBN-10 1-138-30595-2 / 1138305952
ISBN-13 978-1-138-30595-3 / 9781138305953
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Eine unterhaltsame Einführung für Maker, Kids, Tüftlerinnen und …

von Charles Platt

Buch | Softcover (2022)
dpunkt (Verlag)
36,90
entwickle, drucke und baue deine DIY-Objekte

von Stephan Regele

Buch | Hardcover (2023)
Hanser, Carl (Verlag)
34,99