Cantitate/Preț
Produs

Programming Massively Parallel Processors: A Hands-on Approach

Autor Wen-Mei W. Hwu, David B. Kirk, Izzat El Hajj
en 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ă.

Citește tot Restrânge

Carte disponibilă

Livrare economică 16-30 mai
Livrare express 09-15 mai pentru 19824 lei


Specificații

ISBN-13: 9780323912310
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