Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Events
Videos
Audiobooks
Packt Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Arrow up icon
GO TO TOP
GPU-Accelerated Computing with Python 3 and CUDA

You're reading from   GPU-Accelerated Computing with Python 3 and CUDA From low-level kernels to real-world applications in scientific computing and machine learning

Arrow left icon
Product type Paperback
Published in Mar 2026
Publisher Packt
ISBN-13 9781803245423
Length 534 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Authors (2):
Arrow left icon
Niels Cautaerts Niels Cautaerts
Author Profile Icon Niels Cautaerts
Niels Cautaerts
Hossein Ghorbanfekr Hossein Ghorbanfekr
Author Profile Icon Hossein Ghorbanfekr
Hossein Ghorbanfekr
Arrow right icon
View More author details
Toc

Table of Contents (24) Chapters Close

Preface 1. Part 1: Fundamentals of GPU programming with CUDA in Python 3
2. Chapter 1: Why GPU Programming with CUDA in Python 3? FREE CHAPTER 3. Chapter 2: Setting Up a GPU Programming Environment Locally and in the Cloud 4. Chapter 3: Writing and Executing CUDA Kernels with Numba-CUDA 5. Chapter 4: Profiling and Debugging CUDA Code 6. Part 2: Performance Optimization and Advanced CUDA Topics
7. Chapter 5: Optimizing the Performance of CUDA Code 8. Chapter 6: Enabling Concurrency Using CUDA Streams 9. Chapter 7: Scaling to Multiple GPUs 10. Part 3: Using High-Level Python Libraries for GPU Computation
11. Chapter 8: Bringing NumPy and SciPy to the GPU with CuPy 12. Chapter 9: Bringing pandas and scikit-learn to the GPU with Rapids 13. Chapter 10: Solving Optimization Problems on the GPU with JAX 14. Part 4: Real-World Example Applications
15. Chapter 11: Solving the Heat Equation on the GPU 16. Chapter 12: Image Processing and Computer Vision on the GPU 17. Chapter 13: Simulating Atomic Interactions on the GPU 18. Chapter 14: Implementing Your Own Transformer-Based Language Model 19. Part 5: Beyond This Book
20. Chapter 15: Expanding and Deepening Your GPU Programming Knowledge 21. Chapter 16: Unlock Your Exclusive Benefits 22. Other Books You May Enjoy 23. Index

Summary

In this chapter, we discussed what GPGPU is, what the motivation behind it is, and what the application areas are. We explained that GPU computing is valuable for problems that can be solved with data parallelism, i.e., dividing the problem into small chunks and running the same task on all those chunks. A GPU has a high theoretical compute capacity due to its massive number of cores. If a problem cannot be split up and distributed over multiple cores, the GPU will not speed up the computation.

After considering theoretical compute capacity, we refined our estimates of code speedup using Amdahl's law and showed that the fraction of non-parallelizable code eventually dominates. We illustrated this with an example of calculating a Julia set fractal. We profiled the code and related the results back to Amdahl's law. We also discussed the limitations of Amdahl's law and other factors that limit parallelism. We demonstrated the effect of these factors on the performance of the Julia set example by measuring parallelization efficiency. In the process, we briefly learned about Numba, JIT compilation, and parallelization over CPU cores. We also compared our CPU implementation against a GPU implementation, which showed that we cannot simply compare a CPU thread and a GPU thread.

Even though we have not learned how to program a GPU, we are now well equipped to estimate, measure, and recognize the limitations of using a GPU for speeding up computations. In the next chapter, we will learn how to set up an environment that will allow us to write and execute CUDA code.

CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
GPU-Accelerated Computing with Python 3 and CUDA
You have been reading a chapter from
GPU-Accelerated Computing with Python 3 and CUDA
Published in: Mar 2026
Publisher: Packt
ISBN-13: 9781803245423
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at ₹800/month. Cancel anytime
Modal Close icon
Modal Close icon