Multicore and GPU Programming: An Integrated Approach
Autor Gerassimos Barlasen Limba Engleză Paperback – 8 aug 2022
Ecosistemul calculului de înaltă performanță este definit astăzi de o convergență între unitățile centrale de procesare și acceleratoarele grafice, iar Multicore and GPU Programming oferă o abordare integrată asupra acestui peisaj complex. Notăm cu interes includerea unor instrumente și framework-uri fundamentale precum OpenMP, MPI, CUDA, OpenCL, Thrust și OpenACC, toate fiind prezentate într-un flux de lucru coerent. Ca și Peter Pacheco în An Introduction to Parallel Programming, autorul Gerassimos Barlas distilează experiența acumulată în peste două decenii de predare în principii acționabile, transformând concepte teoretice abstracte în soluții software concrete.
Suntem de părere că actualizarea la standardul C++17 pentru toate exemplele de cod reprezintă un salt calitativ necesar, asigurând relevanța tehnică în contextul dezvoltării software moderne. Față de lucrările sale anterioare, precum Testing Software and Systems, unde se concentra pe validarea sistemelor, sau Distributed Multimedia Retrieval Strategies for Large Scale Networked Systems, unde analiza strategii de regăsire a datelor, acest volum sintetizează expertiza autorului într-un ghid metodologic despre arhitecturi eterogene.
Structura progresivă a cărții permite o asimilare graduală a materiei. Putem afirma că organizarea în patru părți — de la designul programelor paralele la subiecte critice precum echilibrarea sarcinilor (load balancing) — oferă o acoperire exhaustivă. Partea B și C sunt deosebit de valoroase pentru inginerii de software, tratând atât memoria partajată prin fire de execuție, cât și programarea GPU prin CUDA și biblioteci de abstractizare precum Thrust. Integrarea noilor capitole despre structuri de date concurente și OpenCL completează arsenalul tehnic necesar oricărui specialist care vizează optimizarea performanței pe sisteme distribuite.
Preț: 507.73 lei
Preț vechi: 858.32 lei
-41%
Carte disponibilă
Livrare economică 18 mai-01 iunie
Livrare express 09-15 mai pentru 256.99 lei
Specificații
ISBN-10: 0128141204
Pagini: 1024
Dimensiuni: 191 x 235 x 37 mm
Greutate: 1.57 kg
Ediția:2
Editura: ELSEVIER SCIENCE
Public țintă
Graduate students in parallel computing courses covering both traditional and GPU computing (or a two-semester sequence); professionals and researchers looking to master parallel computingDe ce să citești această carte
Recomandăm acest volum studenților la masterat și profesioniștilor IT care doresc să stăpânească arhitecturile moderne de calcul eterogen. Cititorul câștigă o înțelegere practică a modului în care pot fi echilibrate sarcinile între CPU și GPU folosind standardul C++17. Este un instrument esențial pentru cei care vor să dezvolte aplicații scalabile, oferind acces la studii de caz detaliate și cod sursă complet pentru implementări MPI și CUDA.
Cuprins
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
Descriere
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.
- Includes comprehensive coverage of all major multi-core and many-core programming tools and platforms, including threads, OpenMP, MPI, CUDA, OpenCL and Thrust.
- Covers the most recent versions of the above at the time of publication.
- 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++17 standard for all sample code, a new chapter on concurrent data structures, a new chapter on OpenCL, and the latest research on load balancing.
- Includes downloadable source code, examples and instructor support materials on the book’s companion website.