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.