Python Parallel Programming Cookbook : Master Efficient Parallel Programming to Build Powerful Applications Using Python.
Material type:
- text
- computer
- online resource
- 9781785286728
- 005.13
- QA76.642 -- .Z333 2015eb
Cover -- Copyright -- Credits -- About the Author -- About the Reviewers -- www.PacktPub.com -- Table of Contents -- Preface -- Chapter 1: Getting Started with Parallel Computing and Python -- Introduction -- The parallel computing memory architecture -- Memory organization -- Parallel programming models -- How to design a parallel program -- How to evaluate the performance of a parallel program -- Introducing Python -- Python in a parallel world -- Introducing processes and threads -- Start working with processes in Python -- Start working with threads in Python -- Chapter 2: Thread-based Parallelism -- Introduction -- Using the Python threading module -- How to define a thread -- How to determine the current thread -- How to use a thread in a subclass -- Thread synchronization with Lock and RLock -- Thread synchronization with RLock -- Thread synchronization with semaphores -- Thread synchronization with a condition -- Threads synchronization with an event -- Using the with statement -- Thread communication using a queue -- Evaluating the performance of multithread applications -- Chapter 3: Process-based Parallelism -- Introduction -- How to spawn a process -- How to name a process -- How to run a process in the background -- How to kill a process -- How to use process in a subclass -- How to exchange objects between processes -- How to synchronize processes -- How to manage a state between processes -- How to use a process pool -- Using the mpi4py Python module -- Point-to-point communication -- Avoiding deadlock problems -- Collective communication using broadcast -- Collective communication using scatter -- Collective communication using gather -- Collective communication using Alltoall -- The reduction operation -- How to optimize the communication -- Chapter 4: Asynchronous Programming -- Introduction.
Using the concurrent.futures Python modules -- Event loop management with Asyncio -- Handling coroutines with Asyncio -- Task manipulation with Asyncio -- Dealing with Asyncio and Futures -- Chapter 5: Distributed Python -- Introduction -- Using Celery to distribute tasks -- How to create a task with Celery -- Scientific computing with SCOOP -- Handling map functions with SCOOP -- Remote Method Invocation with Pyro4 -- Chaining objects with Pyro4 -- Developing a client-server application with Pyro4 -- Communicating sequential processes with PyCSP -- Using MapReduce with Disco -- A remote procedure call with RPyC -- Chapter 6: GPU Programming with Python -- Introduction -- Using the PyCUDA module -- How to build a PyCUDA application -- Understanding the PyCuda memory model with matrix manipulation -- Kernel invocations with GPUArray -- Evaluating element-wise expressions with PyCUDA -- The MapReduce operation with PyCuda -- GPU programming with NumbaPro -- Using GPU-accelerated libraries with NumbaPro -- Using the PyOpenCL module -- How to build a PyOpenCL application -- Evaluating element-wise expressions with PyOpenCl -- Testing your GPU application with PyOpenCL -- Index.
Description based on publisher supplied metadata and other sources.
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
There are no comments on this title.