
Hands-On GPU Computing with Python
Subscription
FREE
eBook
$29.99
Print + eBook
$43.99
What do you get with a Packt Subscription?
What do you get with a Packt Subscription?
What do you get with eBook + Subscription?
What do you get with a Packt Subscription?
What do you get with eBook?
What do I get with Print?
What do you get with video?
What do you get with Audiobook?
Subscription
FREE
eBook
$29.99
Print + eBook
$43.99
What do you get with a Packt Subscription?
What do you get with a Packt Subscription?
What do you get with eBook + Subscription?
What do you get with a Packt Subscription?
What do you get with eBook?
What do I get with Print?
What do you get with video?
What do you get with Audiobook?
-
Free ChapterSection 1: Computing with GPUs Introduction, Fundamental Concepts, and Hardware
-
Introducing GPU Computing
- Introducing GPU Computing
- The world of GPU computing beyond PC gaming
- Conventional CPU computing – before the advent of GPUs
- How the gaming industry made GPU computing affordable for individuals
- The emergence of full-fledged GPU computing
- The simplicity of Python code and the power of GPUs – a dual advantage
- How GPUs empower science and AI in current times
- The social impact of GPUs
- Summary
- Further reading
-
Designing a GPU Computing Strategy
- Designing a GPU Computing Strategy
- Getting started with the hardware
- Building your first GPU-enabled parallel computer – minimum system requirements
- Liquid cooling – should you consider it?
- Branded GPU-enabled PCs
- Why not DIY?
- Entry-level budget
- Mid-range budget
- High-end budget
- Summary
- Further reading
-
Setting Up a GPU Computing Platform with NVIDIA and AMD
- Setting Up a GPU Computing Platform with NVIDIA and AMD
- GPU manufacturers
- Computing on NVIDIA GPUs
- Computing on AMD APUs and GPUs
- Comparing GPU programmable platforms on NVIDIA and AMD
- Current models from both brands that are ideal for GPU computing
- An enthusiast's guide to GPU computing hardware
- Summary
- Further reading
-
Section 2: Hands-On Development with GPU Programming
-
Fundamentals of GPU Programming
-
Setting Up Your Environment for GPU Programming
- Setting Up Your Environment for GPU Programming
- Choosing a suitable IDE for your Python code
- PyCharm – an IDE exclusively made for Python
- Installing PyCharm
- Alternative IDEs for Python – PyDev and Jupyter
- Installing the PyDev Python IDE for Eclipse
- Installing Jupyter Notebook and Jupyter Lab
- Summary
- Further reading
-
Working with CUDA and PyCUDA
- Working with CUDA and PyCUDA
- Technical requirements
- Understanding how CUDA-C/C++ works via a simple example
- Installing PyCUDA for Python within an existing CUDA environment
- Configuring PyCUDA on your Python IDE
- How computing in PyCUDA works on Python
- Comparing PyCUDA to CUDA – an introductory perspective on reduction
- Writing your first PyCUDA programs to compute a general-purpose solution
- Useful exercise on computational problem solving
- Summary
- Further reading
-
Working with ROCm and PyOpenCL
- Working with ROCm and PyOpenCL
- Technical requirements
- Understanding how ROCm-C/C++ works with hipify, HIP, and OpenCL
- Installing PyOpenCL for Python (AMD and NVIDIA)
- Configuring PyOpenCL on your Python IDE
- How computing in PyOpenCL works on Python
- Comparing PyOpenCL to HIP and OpenCL – revisiting the reduction perspective
- Writing your first PyOpenCL programs to compute a general-purpose solution
- Useful exercise on computational problem solving
- Summary
- Further reading
-
Working with Anaconda, CuPy, and Numba for GPUs
- Working with Anaconda, CuPy, and Numba for GPUs
- Technical requirements
- Understanding how Anaconda works with CuPy and Numba
- Installing CuPy and Numba for Python within an existing Anaconda environment
- Configuring CuPy on your Python IDE
- How computing in CuPy works on Python
- Configuring Numba on your Python IDE
- How computing in Numba works on Python
- Writing your first CuPy and Numba enabled accelerated programs to compute GPGPU solutions
- Interoperability between CuPy and Numba within a single Python program
- Comparing CuPy to NumPy and CUDA
- Comparing Numba to NumPy, ROCm, and CUDA
- Useful exercise on computational problem solving
- Summary
- Further reading
-
Section 3: Containerization and Machine Learning with GPU-Powered Python
-
Containerization on GPU-Enabled Platforms
-
Accelerated Machine Learning on GPUs
- Accelerated Machine Learning on GPUs
- Technical requirements
- The significance of Python in AI – the dual advantage
- Exploring machine learning training modules
- Introducing machine learning frameworks
- Introducing TensorFlow
- Introducing PyTorch
- Installing TensorFlow and PyTorch for GPUs
- Configuring TensorFlow on PyCharm and Google Colab
- Configuring PyTorch on PyCharm and Google Colab
- Machine learning with TensorFlow and PyTorch
- Writing your first GPU-accelerated machine learning programs
- Revisiting our computational exercises with a machine learning approach
- Summary
- Further reading
-
GPU Acceleration for Scientific Applications Using DeepChem
- GPU Acceleration for Scientific Applications Using DeepChem
- Technical requirements
- Decoding scientific concepts for DeepChem
- Multiple ways to install DeepChem
- Configuring DeepChem on PyCharm
- Testing an example from the DeepChem repository
- Developing your own deep learning framework like DeepChem – a brief outlook
- Summary
- Final thoughts
- References
-
Other Books You May Enjoy
About this book
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 begins by introducing GPU computing and explaining the GPU architecture and programming models. You will learn, by example, how to perform GPU programming with Python, and look at using integrations such as PyCUDA, PyOpenCL, CuPy, and Numba with Anaconda for various tasks such as machine learning and data mining. In addition to this, you will get to grips with GPU workflows, 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.
- Publication date:
- May 2019
- Publisher
- Packt
- Pages
- 452
- ISBN
- 9781789341072
Latest Reviews
(3 reviews total)