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

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

Full description

Saved in:
Bibliographic Details
Main Author: Zaccone, Giancarlo (Author)
Format: eBook
Language:English
Published: Birmingham, UK : Packt Publishing, 2015.
Series:Quick answers to common problems.
Subjects:
Online Access:Click for online access

MARC

LEADER 00000cam a2200000 i 4500
001 ocn922580733
003 OCoLC
005 20240809213013.0
006 m o d
007 cr unu||||||||
008 150930s2015 enka o 001 0 eng d
040 |a UMI  |b eng  |e rda  |e pn  |c UMI  |d OCLCF  |d DEBBG  |d DEBSZ  |d YDX  |d MERUC  |d COO  |d OCLCQ  |d VT2  |d CEF  |d OCLCQ  |d WYU  |d UAB  |d RDF  |d QGK  |d OCLCO  |d K6U  |d OCLCQ  |d OCLCO  |d SXB 
019 |a 1259235634 
020 |a 9781785286728 
020 |a 1785286722 
020 |a 1785289586 
020 |a 9781785289583 
020 |z 9781785289583 
035 |a (OCoLC)922580733  |z (OCoLC)1259235634 
037 |a CL0500000653  |b Safari Books Online 
050 4 |a QA76.73.P98 
049 |a HCDD 
100 1 |a Zaccone, Giancarlo,  |e author. 
245 1 0 |a Python parallel programming cookbook :  |b master efficient parallel programming to build powerful applications using Python /  |c Giancarlo Zaccone. 
246 3 0 |a Master efficient parallel programming to build powerful applications using Python 
264 1 |a Birmingham, UK :  |b Packt Publishing,  |c 2015. 
300 |a 1 online resource (1 volume) :  |b illustrations 
336 |a text  |b txt  |2 rdacontent 
337 |a computer  |b c  |2 rdamedia 
338 |a online resource  |b cr  |2 rdacarrier 
347 |a text file 
490 1 |a Quick answers to common problems 
588 0 |a Online resource; title from cover page (Safari, viewed September 29, 2015). 
500 |a Includes index. 
505 0 |a 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 
505 8 |a 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 
505 8 |a 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 
505 8 |a 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 
505 8 |a 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 
520 |a 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 go-to resource for different kinds of parallel computing tasks in Python, using examples and topics covered in great depth Who This Book Is For Python Parallel Programming Cookbook is intended for software developers who are well versed with Python and want to use parallel programming techniques to write powerful and efficient code. This book will help you master the basics and the advanced of parallel computing. What You Will Learn Synchronize multiple threads and processes to manage parallel tasks Implement message passing communication between processes to build parallel applications Program your own GPU cards to address complex problems Manage computing entities to execute distributed computational tasks Write efficient programs by adopting the event-driven programming model Explore the cloud technology with DJango and Google App Engine Apply parallel programming techniques that can lead to performance improvements In Detail Parallel programming techniques are required for a developer to get the best use of all the computational resources available today and to build efficient software systems. From multi-core to GPU systems up to the distributed architectures, the high computation of programs throughout requires the use of programming tools and software libraries. Because of this, it is becoming increasingly important to know what the parallel programming techniques are. Python is commonly used as even non-experts can easily deal with its concepts. This book will teach you parallel programming techniques using examples in Python and will help you explore the many ways in which you can write code that allows more than one process to happen at once. Starting with introducing you to the world of parallel computing, it moves on to cover the fundamentals in Python. This is followed by exploring the thread-based parallelism model using the Python threading module by synchronizing threads and using locks, mutex, semaphores queues, GIL, and the thread pool. Next you will be taught about process-based parallelism where you will synchronize processes using message passing along with learning about the performance of MPI Python Modules. You will then go o ... 
650 0 |a Python (Computer program language) 
650 0 |a Parallel programming (Computer science) 
650 0 |a Application software  |x Development. 
650 7 |a COMPUTERS  |x Programming Languages  |x General.  |2 bisacsh 
650 7 |a Application software  |x Development  |2 fast 
650 7 |a Parallel programming (Computer science)  |2 fast 
650 7 |a Python (Computer program language)  |2 fast 
776 0 8 |i Erscheint auch als:  |n Druck-Ausgabe  |t Zaccone, Giancarlo. Python Parallel Programming Cookbook 
830 0 |a Quick answers to common problems. 
856 4 0 |u https://ebookcentral.proquest.com/lib/holycrosscollege-ebooks/detail.action?docID=3564815  |y Click for online access 
903 |a EBC-AC 
994 |a 92  |b HCD