Cargando…

Python parallel programming cookbook : master efficient parallel programming to build powerful applications using Python /

Master efficient parallel programming to build powerful applications using Python About This Book Design and implement efficient parallel software Master new programming techniques to address and solve complex programming problems Explore the world of parallel programming with this book, which is a...

Descripción completa

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Zaccone, Giancarlo (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham, UK : Packt Publishing, 2015.
Colección:Quick answers to common problems.
Temas:
Acceso en línea:Texto completo
Texto completo
Tabla de Contenidos:
  • 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 PythonChapter 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 ParallelismIntroduction
  • 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 gatherCollective 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 SCOOPRemote 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