Parallel Programming

Parallel Programming

Concepts and Practice

1st Edition - November 13, 2017

Write a review

  • Authors: Bertil Schmidt, Jorge Gonzalez-Dominguez, Christian Hundt, Moritz Schlarb
  • eBook ISBN: 9780128044865
  • Paperback ISBN: 9780128498903

Purchase options

Purchase options
DRM-free (Mobi, PDF, EPub)
Sales tax will be calculated at check-out

Institutional Subscription

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++

Product details

  • No. of pages: 416
  • Language: English
  • Copyright: © Morgan Kaufmann 2017
  • Published: November 13, 2017
  • Imprint: Morgan Kaufmann
  • eBook ISBN: 9780128044865
  • Paperback ISBN: 9780128498903

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

Professor, University of Pittsburgh Medical Center, Director, Epilepsy & Movement Disorders Program, Co-Director, University of Pittsburgh Epilepsy Center, Director, Cortical Systems Laboratory, UPMC Presbyterian, Pittsburgh, Pennsylvania

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

Write a review

Latest reviews

(Total rating for all reviews)

  • PetarArmyanov Sun Jan 12 2020

    The book is well organized

    The book is well organized and easy to read, nevertheless the hard topic it covers.