Search icon
Subscription
0
Cart icon
Close icon
You have no products in your basket yet
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Hands-On GPU Computing with Python

You're reading from  Hands-On GPU Computing with Python

Product type Book
Published in May 2019
Publisher Packt
ISBN-13 9781789341072
Pages 452 pages
Edition 1st Edition
Languages
Author (1):
Avimanyu Bandyopadhyay Avimanyu Bandyopadhyay
Profile icon Avimanyu Bandyopadhyay

Table of Contents (17) Chapters

Preface 1. Section 1: Computing with GPUs Introduction, Fundamental Concepts, and Hardware
2. Introducing GPU Computing 3. Designing a GPU Computing Strategy 4. Setting Up a GPU Computing Platform with NVIDIA and AMD 5. Section 2: Hands-On Development with GPU Programming
6. Fundamentals of GPU Programming 7. Setting Up Your Environment for GPU Programming 8. Working with CUDA and PyCUDA 9. Working with ROCm and PyOpenCL 10. Working with Anaconda, CuPy, and Numba for GPUs 11. Section 3: Containerization and Machine Learning with GPU-Powered Python
12. Containerization on GPU-Enabled Platforms 13. Accelerated Machine Learning on GPUs 14. GPU Acceleration for Scientific Applications Using DeepChem 15. Other Books You May Enjoy Appendix A

What this book covers

Chapter 1, Introduction to GPU Computing, covers the diverse impact of GPUs beyond the gaming industry. Conventional CPU models and accelerated GPU models are compared. A brief history and some fundamental concepts are discussed.

Chapter 2, Designing a GPU Computing Strategy, focuses on computer hardware-related discussions. You will gain knowledge on how to get started with GPU computing-friendly hardware. The impact on GPU performance will also be discussed, with a comparison of air and liquid cooling.

Chapter 3, Setting Up a GPU Computing Platform with NVIDIA and AMD, focuses on leading GPU manufacturers NVIDIA and AMD, with a comparison of their readily available programmable models. The differences in computing on both platforms will be highlighted.

Chapter 4, Fundamentals of GPU Programming, introduces GPU programming and three different platforms, namely CUDA, ROCm, and Anaconda. NVIDIA and AMD GPUs will be revisited here to explore the practical usage of GPUs with a selection of computer hardware platforms.

Chapter 5, Setting Up Your Environment for GPU Programming, offers a brief guide on choosing the most suitable IDE for GPU computing with Python. PyCharm will be discussed in detail, and its effectiveness as a GPU-programmable platform will also be illustrated.

Chapter 6, Working with CUDA and PyCUDA, teaches you how to install and configure the PyCharm IDE with PyCUDA. You will be able to develop your own code through Python after learning about how to make use of NVIDIA's CUDA API within Python code.

Chapter 7, Working with ROCm and PyOpenCL, introduces you to the open source world of GPU computing! You will learn about ROCm, and a CUDA converter called HIPify, to easily port GPU code for both NVIDIA and AMD GPUs. With PyOpenCL, you will be able to develop your own code through Python, after learning about how to make use of the OpenCL API within Python code.

Chapter 8, Working with Anaconda, CuPy, and Numba for GPUs, teaches you how to use Anaconda specifically with GPUs. This chapter will introduce you to writing pure Python code with CuPy, a GPU implementation such as NumPy, and another library called Numba for CUDA and ROCm.

Chapter 9, Containerization on GPU-Enabled Platforms, introduces you to the concept of containerization and shows you how open and closed environments work as local or cloud containers. You will learn about Virtualenv and Google Colab with hands-on exercises.

Chapter 10, Accelerated Machine Learning on GPUs, is a hands-on guide to installing, configuring, and testing your first GPU-accelerated machine learning program. Besides Tensorflow and PyTorch, we will explore nueral networks to get understand GPU-enabled deep learning better.

Chapter 11, GPU Acceleration for Scientific Applications Using DeepChem, is where a Python-based and GPU-enabled deep learning library known as DeepChem will be discussed in detail, with a comprehensive but simple introduction to the various scientific concepts behind it.

Appendix A, discusses various use cases wherein machine learning and Python work in tandem to enhance the data processing and analysis procedures.

lock icon The rest of the chapter is locked
Next Chapter arrow right
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 $15.99/month. Cancel anytime}