+353-1-416-8900REST OF WORLD
+44-20-3973-8888REST OF WORLD
1-917-300-0470EAST COAST U.S
1-800-526-8630U.S. (TOLL FREE)

Multicore and GPU Programming. An Integrated Approach. Edition No. 2

  • Book

  • August 2022
  • Elsevier Science and Technology
  • ID: 5390160

Multicore and GPU Programming: An Integrated Approach, Second Edition offers broad coverage of key parallel computing tools, essential for multi-core CPU programming and many-core "massively parallel" computing. Using threads, OpenMP, MPI, CUDA and other state-of-the-art tools, the book teaches the design and development of software capable of taking advantage of modern computing platforms that incorporate CPUs, GPUs and other accelerators.

Presenting material refined over more than two decades of teaching parallel computing, author Gerassimos Barlas minimizes the challenge of transitioning from sequential programming to mastering parallel platforms 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 parallel machines.

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

Authors

Gerassimos Barlas Professor, Computer Science and Engineering Department, American University of Sharjah, UAE. 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.