Hands-On GPU Computing with Python
Explore GPU-enabled programmable environment for machine learning, scientific applications, and gaming using PuCUDA, PyOpenGL, and Anaconda Accelerate
Understand effective synchronization strategies for faster processing using GPUs
Write parallel processing scripts with PyCuda and PyOpenCL
Learn to use the CUDA libraries like CuDNN for deep learning on GPUs
GPUs are proving to be excellent general purpose-parallel computing solutions for high performance tasks such as deep learning and scientific computing.
This book will be your guide to getting started with GPU computing. It will start with introducing GPU computing and explain the architecture and programming models for GPUs. You will learn, by example, how to perform GPU programming with Python, and you’ll look at using integrations such as PyCUDA, PyOpenCL, CuPy and Numba with Anaconda for various tasks such as machine learning and data mining. Going further, you will get to grips with GPU work flows, management, and deployment using modern containerization solutions. Toward the end of the book, you will get familiar with the principles of distributed computing for training machine learning models and enhancing efficiency and performance.
By the end of this book, you will be able to set up a GPU ecosystem for running complex applications and data models that demand great processing capabilities, and be able to efficiently manage memory to compute your application effectively and quickly.
What you will learn
Utilize Python libraries and frameworks for GPU acceleration
Set up a GPU-enabled programmable machine learning environment on your system with Anaconda
Deploy your machine learning system on cloud containers with illustrated examples
Explore PyCUDA and PyOpenCL and compare them with platforms such as CUDA, OpenCL and ROCm.
Perform data mining tasks with machine learning models on GPUs
Extend your knowledge of GPU computing in scientific applications
Who this book is for
Data Scientist, Machine Learning enthusiasts and professionals who wants to get started with GPU computation and perform the complex tasks with low-latency. Intermediate knowledge of Python programming is assumed.