ORPP logo
Image from Google Jackets

Python Parallel Programming Cookbook : Master Efficient Parallel Programming to Build Powerful Applications Using Python.

By: Material type: TextTextPublisher: Birmingham : Packt Publishing, Limited, 2015Copyright date: ©2015Edition: 1st edDescription: 1 online resource (286 pages)Content type:
  • text
Media type:
  • computer
Carrier type:
  • online resource
ISBN:
  • 9781785286728
Subject(s): Genre/Form: Additional physical formats: Print version:: Python Parallel Programming CookbookDDC classification:
  • 005.13
LOC classification:
  • QA76.642 -- .Z333 2015eb
Online resources:
Contents:
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.
Tags from this library: No tags from this library for this title. Log in to add tags.
Star ratings
    Average rating: 0.0 (0 votes)
No physical items for this record

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.

to post a comment.

© 2024 Resource Centre. All rights reserved.