Python 并行编程手册
作者:(意大利)詹卡洛 扎克尼 著,张龙 译
出版社:电子工业出版社
出版时间:2018-04-01
ISBN:9787121337536
定价:¥59.00
1 并行计算与Python起步...............................................1
介绍 ..................................1
并行计算内存架构 ..........2
内存组织 ..........................5
并行编程模型 ................10
如何设计并行程序 ........12
如何评估并行程序的性能 ....................................................14
Python简介 ....................16
并行世界中的Python ....20
进程与线程介绍 ............21
开始在Python中使用进程 ....................................................21
开始在Python中使用线程 ....................................................23
2 基于线程的并行. .27
介绍 ................................27
使用Python的线程模块 28
如何定义线程 ................28
如何确定当前的线程 ....30
如何在子类中使用线程 32
使用Lock与RLock实现线程同步 ........................................34
使用RLock实现线程同步 .....................................................38
使用信号量实现线程同步 ....................................................40
使用条件实现线程同步 44
使用事件实现线程同步 47
使用with语句 ................51
使用队列实现线程通信 53
评估多线程应用的性能 57
3 基于进程的并行63
介绍 ................................64
如何生成进程 ................64
如何对进程命名 ............66
如何在后台运行进程 ....68
如何杀死进程 ................69
如何在子类中使用进程 70
如何在进程间交换对象 72
如何同步进程 ................78
如何管理进程间状态 ....81
如何使用进程池 ............82
使用mpi4py模块 ...........84
点对点通信 ....................87
避免死锁问题 ................91
使用广播实现聚合通信 94
使用scatter实现聚合通信 .....................................................96
使用gather实现聚合通信 ......................................................99
使用Alltoall实现聚合通信 .................................................101
汇聚操作 ......................103
如何优化通信 ..............105
4 异步编程. ........111
介绍 .............................. 111
使用 Python的 concurrent.futures 模块 .............................. 112
使用Asyncio实现事件循环管理 ........................................ 116
使用Asyncio处理协程 120
使用Asyncio管理任务 125
使用Asyncio和Futures 128
5 分布式Python133
介绍 ..............................133
使用 Celery 分发任务 .134
如何使用 Celery 创建任务 .................................................136
使用 SCOOP进行科学计算 ...............................................139
使用 SCOOP处理映射函数 ...............................................143
使用 Pyro4 远程调用方法 ..................................................147
使用 Pyro4 链接对象 ..150
使用 Pyro4 开发一个客户端-服务器应用.........................156
使用 PyCSP实现顺序进程通信 ........................................162
在Disco中使用 MapReduce ................................................167
使用 RPyC 调用远程过程 ..................................................172
6 使用Python进行GPU编程. ......................................175
介绍 ..............................175
使用 PyCUDA模块 ....177
如何构建一个 PyCUDA应用 ............................................181
通过矩阵操作理解 PyCUDA内存模型 ............................186
使用 GPUArray 调用内核 ..................................................192
使用 PyCUDA对逐元素表达式求值 ................................194
使用 PyCUDA进行 MapReduce 操作 ...............................198
使用 NumbaPro 进行GPU编程 ..........................................201
通过 NumbaPro 使用 GPU 加速的库 ................................206
使用 PyOpenCL模块 .. 211
如何构建一个 PyOpenCL应用 ..........................................214
使用PyOpenCL对逐元素表达式求值 ................................218
使用 PyOpenCL测试 GPU 应用 ........................................221