COVID-19 Update: We are currently shipping orders daily. However, due to transit disruptions in some geographies, deliveries may be delayed. To provide all customers with timely access to content, we are offering 50% off Science and Technology Print & eBook bundle options. Terms & conditions.
Parallel Programming - 1st Edition - ISBN: 9780128498903, 9780128044865

Parallel Programming

1st Edition

Concepts and Practice

Authors: Bertil Schmidt Jorge Gonzalez-Dominguez Christian Hundt Moritz Schlarb
Paperback ISBN: 9780128498903
eBook ISBN: 9780128044865
Imprint: Morgan Kaufmann
Published Date: 13th November 2017
Page Count: 416
Sales tax will be calculated at check-out Price includes VAT/GST
Price includes VAT/GST

Institutional Subscription

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.


Parallel Programming: Concepts and Practice provides an upper level introduction to parallel programming. In addition to covering general parallelism concepts, this text teaches practical programming skills for both shared memory and distributed memory architectures. The authors’ open-source system for automated code evaluation provides easy access to parallel computing resources, making the book particularly suitable for classroom settings.

Key Features

  • Covers parallel programming approaches for single computer nodes and HPC clusters: OpenMP, multithreading, SIMD vectorization, MPI, UPC++
  • Contains numerous practical parallel programming exercises
  • Includes access to an automated code evaluation tool that enables students the opportunity to program in a web browser and receive immediate feedback on the result validity of their program
  • Features an example-based teaching of concept to enhance learning outcomes


Senior undergraduate students majoring in computer science and computer engineering or taking advanced computing classes in other disciplines; graduate students of any discipline who work with high performance computing (HPC), such as computational science, bioinformatics, computational physics, data science

Table of Contents

1. Introduction
2. Theoretical Background
3. Modern Architectures
4. C++11 Multithreading
5. Advanced C++11 Multithreading
6. OpenMP
7. Compute Unified Device Architecture
8. Advance CUDA Programming
9. Message Passing Interface
10. Unified Parallel C++


No. of pages:
© Morgan Kaufmann 2017
13th November 2017
Morgan Kaufmann
Paperback ISBN:
eBook ISBN:

About the Authors

Bertil Schmidt

Bertil Schmidt is tenured Full Professor and Chair for Parallel and Distributed Architectures at the Johannes Gutenberg University Mainz, Germany. Prior to that he was a faculty member at Nanyang Technological University (Singapore) and at the University of New South Wales (UNSW). His research group has designed a variety of parallel algorithms and tools for Bioinformatics mainly focusing on the analysis of large-scale sequence and short read datasets. For his research work, he has received a CUDA Research Center award, a CUDA Academic Partnership award, a CUDA Professor Partnership award and the Best Paper Award at IEEE ASAP 2009. Furthermore, he serves as the champion for Bioinformatics and Computational Biology on He is also director of the “Competence Center for HPC in the Natural Sciences” which has recently been funded by the Carl-Zeiss-Foundation. His work has been published in leading journals such as Bioinformatics, BMC Bioinformatics, IEEE Transactions on Parallel and Distributed Computing, IEEE Transactions on VLSI, BMC Genomics, Parallel Computing, and Journal of Parallel and Distributed Computing.

Affiliations and Expertise

Department of Parallel and Distributed Architectures, Johannes Gutenberg University, Mainz, Germany

Jorge Gonzalez-Dominguez

Jorge Gonzalez-Dominguez is Postdoctoral researcher at the Johannes Gutenberg University Mainz, Germany. He completed his PhD degree in the area of High Performance Computing at the University of A Coruña, Spain. He has wide experience developing parallel algorithms using different technologies such as Pthreads, OpenMP, MPI, UPC, UPC++ and CUDA. His work has been published in international journals (e.g. IEEE/ACM Transactions on Computational Biology and Bioinformatics, Concurrency and Computation: Practice and Experience, Journal of Supercomputing, etc.) as well as in top conferences such as SC, IPDPS, EuroPar, ICCS, etc.

Affiliations and Expertise

Department of Parallel and Distributed Architectures, Johannes Gutenberg University, Mainz, Germany

Christian Hundt

Christian Hundt has received his diploma degree in theoretical physics for the analysis of quantization maps and the associated structure of Lie groups on curved manifolds at the University of Mainz, Germany. In his current position, as a research associate at the Parallel and Distributed Architectures group, he investigates the design and parallelization of elastic subsequence alignment algorithms using CUDA-enabled accelerators. Further topics of interest involve the robust and Galilean-invariant vortex detection in wind fields (Lagrangian Coherent Structures) and the efficient analysis of spatio-temporal data.

Affiliations and Expertise

Department of Parallel and Distributed Architectures, Johannes Gutenberg University, Mainz, Germany

Moritz Schlarb

Moritz Schlarb is currently an M. Sc. student of Computer Science at Technische Universität Darmstadt, Germany. For several years, he has gained experience with the practical usage of parallel applications by working on the technical administration of the High Performance Computing Cluster at the Johannes Gutenberg University Mainz, Germany. He created and maintains the SAUCE tool which is provided for assisting the practical exercises provided in this book.

Affiliations and Expertise

Department of Computer Science, Technische Universitat Darmstadt, Germany

Ratings and Reviews