注重体验与质量的电子书资源下载网站
分类于: 人工智能 云计算&大数据
简介
Python 并行编程手册 豆 7.2分
资源最后更新于 2020-11-09 20:40:55
作者:【意大利】Giancarlo Zaccone
译者:张龙
出版社:电子工业出版社
出版日期:2018-01
ISBN:9787121337536
文件格式: pdf
标签: 并行计算 python Python 计算科学 计算机科学 编程 工作
简介· · · · · ·
若想充分利用所有的计算资源来构建高效的软件系统,并行编程技术是不可或缺的一项技能。《Python 并行编程手册》以Python为蓝本,对并行编程领域的各项技术与知识进行了广泛且深入的讲解。通过对本书的学习,读者将能够快速且准确地掌握并行编程方方面面的技能,从而应用在自己的项目开发中,提升系统运行效率。
《Python 并行编程手册》共分为6章,从原理到实践系统化地对并行编程技术进行了层层剖析,并通过大量可运行的实例演示了每一个知识点的具体运用方式,是提升并行编程技能的一本不可多得的好书。相信《Python 并行编程手册》的出版将会填补Python在并行编程领域应用的一大空白,能够帮助想要从事并行编程与并行计算的读者提升实践能力,并将这一能力应用到实际的项目开发中。
目录
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
介绍 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