Parallel Programming for Modern High Performance Computing Systems

Parallel Programming for Modern High Performance Computing Systems
Author: Pawel Czarnul
Publisher: CRC Press
Total Pages: 249
Release: 2018-03-05
Genre: Business & Economics
ISBN: 1351385798

Download Parallel Programming for Modern High Performance Computing Systems Book in PDF, Epub and Kindle

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


Parallel Programming for Modern High Performance Computing Systems
Language: en
Pages: 249
Authors: Pawel Czarnul
Categories: Business & Economics
Type: BOOK - Published: 2018-03-05 - Publisher: CRC Press

GET EBOOK

In view of the growing presence and popularity of multicore and manycore processors, accelerators, and coprocessors, as well as clusters using such computing de
A Practical Approach to High-Performance Computing
Language: en
Pages: 206
Authors: Sergei Kurgalin
Categories: Computers
Type: BOOK - Published: 2019-11-10 - Publisher: Springer Nature

GET EBOOK

The book discusses the fundamentals of high-performance computing. The authors combine visualization, comprehensibility, and strictness in their material presen
Parallel and High Performance Computing
Language: en
Pages: 702
Authors: Robert Robey
Categories: Computers
Type: BOOK - Published: 2021-06-22 - Publisher: Simon and Schuster

GET EBOOK

Complex calculations, like training deep learning models or running large-scale simulations, can take an extremely long time. Efficient parallel programming can
High Performance Computing
Language: en
Pages: 720
Authors: Thomas Sterling
Categories: Computers
Type: BOOK - Published: 2017-12-05 - Publisher: Morgan Kaufmann

GET EBOOK

High Performance Computing: Modern Systems and Practices is a fully comprehensive and easily accessible treatment of high performance computing, covering fundam
Introduction to High Performance Scientific Computing
Language: en
Pages: 536
Authors: Victor Eijkhout
Categories: Computers
Type: BOOK - Published: 2010 - Publisher: Lulu.com

GET EBOOK

This is a textbook that teaches the bridging topics between numerical analysis, parallel computing, code performance, large scale applications.