

Desertcart purchases this item on your behalf and handles shipping, customs, and support to Poland.
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 Review: The best CUDA book on the market today - I've been using this book to teach my sessions in the cuda mode discord community, it's been by far the best reference I've found on the market to learn CUDA. In particular chapters 1-6 will give you the core foundation to be able to start working on your own CUDA kernels and if you supplement those chapters with learning how to integrate your kernels in pytorch using features like load_inline but also the ncu profiler you'll be well on your way to writing real-world kernels that are performant. There' a long glossary of confusing concepts like grids, blocks, threads, warps which you won't remember if you're browsing the occasional medium blogpost or Wikipedia article, even ChatGPT often makes subtle mistakes. Learning CUDA or at least the basics of it is very much a open the textbook and do the problems sort of exercise. Starting chapter 7 the book goes into various case studies of popular algorithms and how to optimize them , the lessons are generically helpful even if you're not interested in those subproblems but my point is more that the book becomes significantly easier to understand after the initial struggle from chapter 1 through 6. This is also a natural point for you to experiment with your own CUDA kernels in maybe a workload you're trying to accelerate at work, whenever you get stuck you can browse the book for inspiration on common CUDA patterns that accelerate performance. Before this book I'd been stuck in tutorial hell with cuda for many years but this book gave me the right foundation to start using kernels at my day job and it's been a fantastic level up. Keep in mind that with tools like ChatGPT or code generators like torch.compile you can focus on only learning CUDA as opposed to also having to learn about makefiles and c++ Granted the main gap the book seems to have is that it doesn't really cover CUDA C++ so reading codebases like CUTLASS will still be a struggle but more importantly the book doesn't cover how to program with tensor cores or have a treatment of lower precision dtypes and with modern ML workloads. CUDA streams are also briefly covered but spending a bit more on NCCL would be really nice to see in future editions. Review: Great - Excellent book with clear explanation so far
| Best Sellers Rank | #136,740 in Books ( See Top 100 in Books ) #5 in Parallel Computer Programming #11 in Microprocessor Design #15 in Computer Hardware Design & Architecture |
| Customer Reviews | 4.7 out of 5 stars 76 Reviews |
M**M
The best CUDA book on the market today
I've been using this book to teach my sessions in the cuda mode discord community, it's been by far the best reference I've found on the market to learn CUDA. In particular chapters 1-6 will give you the core foundation to be able to start working on your own CUDA kernels and if you supplement those chapters with learning how to integrate your kernels in pytorch using features like load_inline but also the ncu profiler you'll be well on your way to writing real-world kernels that are performant. There' a long glossary of confusing concepts like grids, blocks, threads, warps which you won't remember if you're browsing the occasional medium blogpost or Wikipedia article, even ChatGPT often makes subtle mistakes. Learning CUDA or at least the basics of it is very much a open the textbook and do the problems sort of exercise. Starting chapter 7 the book goes into various case studies of popular algorithms and how to optimize them , the lessons are generically helpful even if you're not interested in those subproblems but my point is more that the book becomes significantly easier to understand after the initial struggle from chapter 1 through 6. This is also a natural point for you to experiment with your own CUDA kernels in maybe a workload you're trying to accelerate at work, whenever you get stuck you can browse the book for inspiration on common CUDA patterns that accelerate performance. Before this book I'd been stuck in tutorial hell with cuda for many years but this book gave me the right foundation to start using kernels at my day job and it's been a fantastic level up. Keep in mind that with tools like ChatGPT or code generators like torch.compile you can focus on only learning CUDA as opposed to also having to learn about makefiles and c++ Granted the main gap the book seems to have is that it doesn't really cover CUDA C++ so reading codebases like CUTLASS will still be a struggle but more importantly the book doesn't cover how to program with tensor cores or have a treatment of lower precision dtypes and with modern ML workloads. CUDA streams are also briefly covered but spending a bit more on NCCL would be really nice to see in future editions.
B**A
Great
Excellent book with clear explanation so far
B**Y
Perfect for CPU programmers transitioning to GPU
Very clear and thoughtful, covers not only the programming abstractions needed to use CUDA to develop applications, but uses that context to explain the hardware differences and challenges. One of the best programming books I've ever read.
R**N
Essential
5th edition is coming out soon, but never too soon to start PMPP Essential reading
S**E
Good updates since the 3rd ed., helpful instructor instructions.
I liked the reorganizations and updates from the 3rd edition to this one. As an instructor, I also very much appreciated the section in the front material describing the typical usage and course context of the book's chapters, and dependencies and pathways through the chapters.
A**M
A must-have for learning Parallel Programming
A great overview along with deep-dives. College & Masters level content.
A**R
I have been liking it so far
Try everything out of this least, that is what I am doing with it. Sometimes it repeats itself but it's written like a textbook jumps around lot but explains a lot too it embraces C so far from what I've read but there is a lot that it references that easy to look up for further understanding. Still working through it bur so far I would recommend.
B**.
Excellent textbook for learning CUDA and GPU algorithms
Covers CUDA programming and then has several chapters discussing massively parallel algorithms.
E**A
Muito bom
Excelente
A**C
Suitable for relative newbies
I finished 5 chapters in one sitting. So far, I think their explanations are good even for someone who has dabbled with C, but does not have an understanding of CPU architecture. I will not hesitate to recommend it to my younger colleagues. Experienced developers will still learn quite a bit, despite the authors' contrived analogies. But so far, I have found the content very dry and boring. There are no fun exercises writing code to solve interesting tasks in various domains. IMO, they should have emphasized on that right from chapter 1. Vector addition and matrix multiplication get stale quickly. There are so many fun little problems where GPUs shine. But the authors give it a go much later on in the book. Until then, the book will remain useful, but boring.
N**E
Great book
A great book for beginners. The fundamentals are explained crisply and clearly. A highly recommended book.
A**A
Programming Massively Parallel Processors
Ottimo libro
S**S
Bought as a gift
Very happy with the quality and delivery
Trustpilot
4 days ago
2 months ago