+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

  • Book

  • November 2014
  • Elsevier Science and Technology
  • ID: 2899524

Multicore and GPU Programming offers broad coverage of the key parallel computing skillsets: multicore CPU programming and manycore "massively parallel" computing. Using threads, OpenMP, MPI, and CUDA, it teaches the design and development of software capable of taking advantage of today's computing platforms incorporating CPU and GPU hardware and 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. Using this book, you can 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.

Table of Contents

1 Introduction2 Multicore and Parallel Program Design3 Shared-memory programming: Threads4 Shared-memory programming: OpenMP5 Distributed memory programming6 GPU Programming7 The Thrust Template Library8 Load BalancingA Compiling Qt programsB RunningMPI Programs: Preparatory and Configuration StepsC Time MeasurementD Boost.MPIE Setting up CUDAF DLTlib

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.