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, , 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, , 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, , 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, , 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, , 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.