译者序
关于作者
关于审校者
前言
1 并行计算与Python起步
介绍
并行计算内存架构
内存组织
并行编程模型
如何设计并行程序
如何评估并行程序的性能
Python简介
并行世界中的Python
进程与线程介绍
开始在Python中使用进程
开始在Python中使用线程
2 基于线程的并行
介绍
使用Python的线程模块
如何定义线程
如何确定当前的线程
如何在子类中使用线程
使用Lock与RLock实现线程同步
使用RLock实现线程同步
使用信号量实现线程同步
使用条件实现线程同步
使用事件实现线程同步
使用with语句
使用队列实现线程通信
评估多线程应用的性能
3 基于进程的并行
介绍
如何生成进程
如何对进程命名
如何在后台运行进程
如何杀死进程
如何在子类中使用进程
如何在进程间交换对象
如何同步进程
如何管理进程间状态
如何使用进程池
使用mpi4py模块
点对点通信
避免死锁问题
使用广播实现聚合通信
使用scatter实现聚合通信
使用gather实现聚合通信
使用Alltoall实现聚合通信
汇聚操作
如何优化通信
4 异步编程
介绍
使用Python的concurrent.futures模块
使用Asyncio实现事件循环管理
使用Asyncio处理协程
使用Asyncio管理任务
使用Asyncio和Futures
5 分布式Python
介绍
使用Celery分发任务
如何使用Celery创建任务
使用SCOOP进行科学计算
使用SCOOP处理映射函数
使用Pyro4远程调用方法
使用Pyro4链接对象
使用Pyro4开发一个客户端-服务器应用
使用PyCSP实现顺序进程通信
在Disco中使用MapReduce
使用RPyC调用远程过程
6 使用Python进行GUl编程
介绍
使用PyCUDA模块
如何构建一个PyCUDA应用
通过矩阵操作理解PyCUDA内存模型
使用GPUArray调用内核
使用PyCUDA对逐元素表达式求值
使用PyCUDA进行MapReduce操作
使用NumbaPro进行GPU编程
通过NumbaPro使用GPU加速的库
使用PyOpenCL模块
如何构建一个PyOpenCL应用
使用PyOpenCL对逐元素表达式求值
使用PyOpenCL测试GPU应用