Unleash the capabilities of Python and its libraries for solving high performance computational problems.
KEY FEATURES
- Explores parallel programming concepts and techniques for highperformance computing.
- Covers parallel algorithms, multiprocessing, distributed computing, and GPU programming.
- Provides practical use of popular Python libraries/tools like NumPy, Pandas, Dask, and TensorFlow.
DESCRIPTION
This book will teach you everything about the powerful techniques and applications of parallel computing, from the basics of parallel programming to the cuttingedge innovations shaping the future of computing.
The book starts with an introduction to parallel programming and the different types of parallelism, including parallel programming with threads and processes. The book then delves into asynchronous programming, distributed Python, and GPU programming with Python, providing you with the tools you need to optimize your programs for distributed and highperformance computing.
The book also covers a wide range of applications for parallel computing, including data science, artificial intelligence, and other complex scientific simulations. You will learn about the challenges and opportunities presented by parallel computing for these applications and how to overcome them.
By the end of the book, you will have insights into the future of parallel computing, the latest research and developments in the field, and explore the exciting possibilities that lie ahead.
WHAT WILL YOU LEARN
- Build faster, smarter, and more efficient applications for data analysis, machine learning, and scientific computing
- Implement parallel algorithms in Python
- Best practices for designing, implementing, and scaling parallel programs in Python
WHO IS THIS BOOK FOR?
This book is aimed at software developers who wish to take their careers to the next level by improving their skills and learning about concurrent and parallel programming. It is also intended for Python developers who aspire to write fast and efficient programs, and for students who wish to learn the fundamentals of parallel computing and its practical uses.
Table of Contents
1. Introduction to Parallel Programming
2. Building Multithreaded Programs
3. Working with Multiprocessing and mpi4py Library
4. Asynchronous Programming with AsyncIO
5. Realizing Parallelism with Distributed Systems
6. Maximizing Performance with GPU Programming using CUDA
7. Embracing the Parallel Computing Revolution
8. Scaling Your Data Science Applications with Dask
9. Exploring the Potential of AI with Parallel Computing
10. Handson Applications of Parallel Computing