Programming Massively Parallel Processors: A Hands-on Approach
Autor Wen-Mei W. Hwu, David B. Kirk, Izzat El Hajjen Limba Engleză Paperback – 23 sep 2022
Subliniem faptul că Programming Massively Parallel Processors se deschide cu o resursă esențială pentru inginerul software: o listă de verificare pentru optimizarea performanței și studii de caz actualizate care reflectă practicile din industrie. Această a patra ediție integrează noutăți critice, precum arhitectura Ampere și utilizarea bibliotecii CuDNN, oferind un suport tehnic solid pentru dezvoltarea de aplicații pe unități de procesare grafică.
Suntem de părere că progresia logică a volumului facilitează o curbă de învățare sustenabilă. Autorii, printre care se numără experți recunoscuți precum Wen-Mei W. Hwu și David B. Kirk, au structurat materialul în patru secțiuni distincte. Primele capitole pun bazele execuției eterogene și a localității datelor în memorie, în timp ce partea a doua explorează pattern-uri paralele fundamentale: convoluția, histogramele și algoritmii de tip stencil. Abordarea lor se extinde în capitole avansate dedicate învățării automate (Deep Learning) și reconstrucției de imagini prin rezonanță magnetică, demonstrând aplicabilitatea practică a conceptelor teoretice.
În contextul operei autorilor, acest titlu rafinează direcțiile explorate în Heterogeneous System Architecture, mutând accentul de pe infrastructura hardware către implementarea software eficientă. Comparativ cu GPU Parallel Program Development Using CUDA, abordarea Programming Massively Parallel Processors este mai puțin abstractă și mult mai aplicabilă, concentrându-se pe studii de caz reale în loc de o simplă prezentare a diferențelor între familiile de GPU-uri. Recomandăm acest volum ca pe un ghid metodologic, unde progresia de la gândirea computațională la execuția pe clustere eterogene prin fluxuri CUDA este tratată cu o rigoare tehnică exemplară.
Preț: 402.06 lei
Preț vechi: 684.85 lei
-41%
Carte disponibilă
Livrare economică 16-30 mai
Livrare express 09-15 mai pentru 198.24 lei
Specificații
ISBN-10: 0323912311
Pagini: 580
Ilustrații: Approx. 340 illustrations
Dimensiuni: 191 x 235 x 23 mm
Greutate: 0.94 kg
Ediția:4
Editura: ELSEVIER SCIENCE
De ce să citești această carte
Recomandăm această carte studenților și programatorilor care doresc să stăpânească programarea paralelă pe arhitecturi moderne. Cititorul câștigă o înțelegere profundă a optimizării CUDA și a pattern-urilor de calcul esențiale (sorting, graph traversal). Este un manual practic, testat la catedră, care transformă teoria complexă în soluții de performanță pentru domenii precum Deep Learning sau procesarea de date medicale.
Descriere scurtă
Programming Massively Parallel Processors: A Hands-on Approach shows both students and professionals alike the basic concepts of parallel programming and GPU architecture. Concise, intuitive, and practical, it is based on years of road-testing in the authors' own parallel computing courses. Various techniques for constructing and optimizing parallel programs are explored in detail, while case studies demonstrate the development process, which begins with computational thinking and ends with effective and efficient parallel programs. The new edition includes updated coverage of CUDA, including the newer libraries such as CuDNN. New chapters on frequently used parallel patterns have been added, and case studies have been updated to reflect current industry practices.
- Parallel Patterns Introduces new chapters on frequently used parallel patterns (stencil, reduction, sorting) and major improvements to previous chapters (convolution, histogram, sparse matrices, graph traversal, deep learning)
- Ampere Includes a new chapter focused on GPU architecture and draws examples from recent architecture generations, including Ampere
- Systematic Approach Incorporates major improvements to abstract discussions of problem decomposition strategies and performance considerations, with a new optimization checklist
Cuprins
1 Introduction
Part I Fundamental Concepts
2 Heterogeneous data parallel computing
3 Multidimensional grids and data
4 Compute architecture and scheduling
5 Memory architecture and data locality
6 Performance considerations
Part II Parallel Patterns
7 Convolution: An introduction to constant memory and caching
8 Stencil
9 Parallel histogram
10 Reduction And minimizing divergence
11 Prefix sum (scan)
12 Merge: An introduction to dynamic input data identification
Part III Advanced patterns and applications
13 Sorting
14 Sparse matrix computation
15 Graph traversal
16 Deep learning
17 Iterative magnetic resonance imaging reconstruction
18 Electrostatic potential map
19 Parallel programming and computational thinking
Part IV Advanced Practices
20 Programming a heterogeneous computing cluster: An introduction to CUDA streams
21 CUDA dynamic parallelism
22 Advanced practices and future evolution
23 Conclusion and outlook
Appendix A: Numerical considerations