技术教育社区
www.teccses.org

Python并行编程参考手册-(影印版)

封面

作者:吉安卡洛.扎克尼

页数:262

出版社:东南大学出版社

出版日期:2017

ISBN:9787564170738

电子书格式:pdf/epub/txt

内容简介

对于开发人员而言,如今要想充分利用所有可用的计算资源来构建出高效的软件系统,并行编程技术是必不可少的技能。从多核到GPU系统,再到分布式架构,计算量繁重的程序都离不开编程工具和软件库。本书首先简要介绍了并行编程,然后讲述了Python的基础知识。随后探究了基于线程的并行模型、采用同步线程的Python线程模块以及锁、互斥量、信号量队列、GIL和线程池的用法。

作者简介

Giancarlo Zaccone has more than 10 years of experience in managing research projects,both in scientific and industrial domains. He worked as a researcher at the National Research Council (CNR), where he was involved in a few parallel numerical computing and scientific visualization projects. He currently works as a software engineer at a consulting company, developing and maintaining software systems for space and defense applications. Giancarlo holds a master’s degree in physics from the University of Naples Federico Ⅱ and has completed a second-level postgraduate master’s program in scientific computing from the Sapienza University of Rome.

本书特色

对于开发人员而言,如今要想充分利用所有可用 的计算资源来构建出高效的软件系统,并行编程技术 是必不可少的技能。从多核到GPU系统,再到分布式 架构,计算量繁重的程序都离不开编程工具和软件库 。
吉安卡洛·扎克尼最的《Python并行编程参考手 册》首先简要介绍了并行编程,然后讲述了Python的 基础知识,接着探究了基于线程的并行模型、采用同 步线程的Python线程模块以及锁、互斥量、信号量队 列、GIL和线程池的用法。

目录

Preface
Chapter 1: Getting Started with Parallel Computing and PythonIntroductionThe parallel computing memory architectureMemory organizationParallel programming modelsHow to design a parallel programHow to evaluate the performance of a parallel programIntroducing PythonPython in a parallel worldIntroducing processes and threadsStart working with processes in PythonStart working with threads in Python
Chapter 2: Thread-based ParallelismIntroductionUsing the Python threading moduleHow to define a threadHow to determine the current threadHow to use a thread in a subclassThread synchronization with Lock and RLockThread synchronization with RLockThread synchronization with semaphoresThread synchronization with a conditionThread synchronization with an eventUsing the with statementThread communication using a queueEvaluating the performance of multithread applications
Chapter 3: Process-based ParallelismIntroductionHow to spawn a processHow to name a processHow to run a process in the backgroundHow to kill a processHow to use a process in a subclassHow to exchange objects between processesHow to synchronize processesHow to manage a state between processesHow to use a process poolUsing the mpi4py Python modulePoint-to-point communicationAvoiding deadlock problemsCollective communication using broadcastCollective communication using scatterCollective communication using gatherCollective communication using AIItoallThe reduction operationHow to optimize communication
Chapter 4: Asynchronous ProgrammingIntroductionUsing the concurrent.futures Python modulesEvent loop management with AsyncioHandling coroutines with AsyncioTask manipulation with AsyncioDealing with Asyncio and Futures
Chapter 5: Distributed PythonIntroductionUsing Celery to distribute tasksHow to create a task with CeleryScientific computing with SCOOPHandling map functions with SCOOPRemote Method Invocation with Pyro4Chaining objects with Pyro4Developing a client-server application with Pyro4Communicating sequential processes with PyCSPUsing MapReduce with DiscoA remote procedure call with RPyC
Chapter 6: GPU Programming with PythonIntroductionUsing the PyCUDA moduleHow to build a PyCUDA applicationUnderstanding the PyCUDA memory model with matrix manipulationKernel invocations with GPUArrayEvaluating element-wise expressions with PyCUDAThe MapReduce operation with PyCUDAGPU programming with NumbaProUsing GPU-accelerated libraries with NumbaProUsing the PyOpenCL moduleHow to build a PyOpenCL applicationEvaluating element-wise expressions with PyOpenCITesting your GPU application with PyOpenCL
Index

下载地址

立即下载

(解压密码:www.teccses.org)

Article Title:《Python并行编程参考手册-(影印版)》
Article link:https://www.teccses.org/742606.html