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.
Multicore and GPU Programming - 2nd Edition - ISBN: 9780128141205

Multicore and GPU Programming

2nd Edition

An Integrated Approach

Author: Gerassimos Barlas
Paperback ISBN: 9780128141205
Imprint: Morgan Kaufmann
Published Date: 1st December 2021
Page Count: 736
Sales tax will be calculated at check-out Price includes VAT/GST

Institutional Subscription

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.


Multicore and GPU Programming: An Integrated Approach, Second Edition offers broad coverage of key parallel computing skillsets, including multicore CPU programming and manycore "massively parallel" computing. Using threads, OpenMP, MPI, CUDA and other current tools, the book teaches the design and development of software capable of taking advantage of today’s computing platforms that incorporate CPU and GPU hardware. In addition, it explains how to transition from sequential programming to a parallel computing paradigm. Presenting material refined over more than a decade of teaching parallel computing, author Gerassimos Barlas minimizes the challenge with multiple examples, extensive case studies, and full source code.

By using this book, readers will better understand how to develop programs that run over distributed memory machines using MPI, create multi-threaded applications with either libraries or directives, write optimized applications that balance the workload between available computing resources, and profile and debug programs targeting multicore machines.

Key Features

  • Includes comprehensive coverage of all major multicore programming tools, including threads, OpenMP, MPI, and CUDA, with coverage of OpenCL and OpenACC added
  • Demonstrates parallel programming design patterns and examples of how different tools and paradigms can be integrated for superior performance
  • Updates in the second edition include the use of the C++14 standard for all sample code, a new chapter on concurrent data structures, and the latest research on load balancing
  • Includes downloadable source code, examples and instructor support materials on the book’s companion website


Graduate students in parallel computing courses covering both traditional and GPU computing (or a two-semester sequence); professionals and researchers looking to master parallel computing

Table of Contents

Part A: Introduction
1. Introduction
2. Multicore and Parallel Program Design

Part B: Programming with Threads and Processes
3. Shared-memory Programming: Threads
4. Concurrent Data Structures
5. Distributed Memory Programming MPI
6. GPU Programming: CUDA
7. GPU Programming: OpenCL

Part C: Higher-level Programming
8. Shared-memory Programming: OpenMP
9. GPU Programming: OpenACC
10. The Thrust Template Library

Part D: Advanced Topics
11. Load Balancing


No. of pages:
© Morgan Kaufmann 2021
1st December 2021
Morgan Kaufmann
Paperback ISBN:

About the Author

Gerassimos Barlas

Gerassimos Barlas is a Professor with the Computer Science & Engineering Department, American University of Sharjah, Sharjah, UAE. His research interest includes parallel algorithms, development, analysis and modeling frameworks for load balancing, and distributed Video on-Demand. Prof. Barlas has taught parallel computing for more than 12 years, has been involved with parallel computing since the early 90s, and is active in the emerging field of Divisible Load Theory for parallel and distributed systems.

Affiliations and Expertise

Professor, Computer Science and Engineering Department, American University of Sharjah, UAE

Ratings and Reviews