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.
- 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
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 gpucomputing.net. 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.