- ISBN:9787519850203
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:300
- 出版时间:2020-12-01
- 条形码:9787519850203 ; 978-7-5198-5020-3
本书特色
本书介绍了Python 3.7中构建有效并发应用的前沿技术,还介绍了并行编程体系结构,提供了基于线程和基于进程的并行性的基本技巧。你会学习利用threading和multiprocessing模块了解互斥锁、信号量、锁以及队列,所有这些都是构建并行应用的基本工具。MPI编程技巧会帮助你使用mpi4py的基本消息传递技术实现进程同步。另外,你会了解异步编程以及如何使用PyCUDA和PyOpenCL框架发挥GPU的强大功能。*后,你会了解如何用Celery设计分布式计算系统以及如何用PythonAnywhere、Docker和无服务器应用在云上部署Python应用。 读完这本书,你将能够自信地用Python构建并发高性能应用。 本书从原理到实践系统的对并行编程技术进行分析,利用大量实例演示每一个知识点的运用方式。
内容简介
本书涵盖内容:
? 同步多个线程和进程来管理并行任务。
? 使用消息传递技术建立进程间通信来构建并行应用。
? 为自己的GPU卡编程来解决复杂的问题。
? 管理计算实体来执行分布式计算任务。
? 采用事件驱动编程模型编写高效的程序。
? 使用Django和Google App Engine研究云技术。
? 应用能改善性能的并行编程技术。
目录
目录
前言
第1章 并行计算和Python入门 1
1.1 为什么需要并行计算? 1
1.2 费林分类法 2
1.2.1 单指令流单数据流 (SISD) 2
1.2.2 多指令流单数据流 (MISD) 3
1.2.3 单指令流多数据流 (SIMD) 4
1.2.4 多指令流多数据流 (MIMD) 4
1.3 内存组织 5
1.3.1 共享内存 6
1.3.2 分布式内存 7
1.3.3 大规模并行处理 (MPP) 8
1.3.4 工作站集群 8
1.3.5 异构体系结构 9
1.4 并行编程模型 9
1.4.1 共享内存模型 10
1.4.2 多线程模型 10
1.4.3 消息传递模型 10
1.4.4 数据并行模型 11
1.5 并行程序性能评价 13
1.5.1 加速比 14
1.5.2 效率 14
1.5.3 扩缩性 15
1.5.4 阿姆达尔定律 15
1.5.5 古斯塔夫森定律 15
1.6 Python介绍 16
1.6.1 帮助函数 16
1.6.2 语法 18
1.6.3 注释 19
1.6.4 赋值 19
1.6.5 数据类型 19
1.6.6 字符串 21
1.6.7 流控制 21
1.6.8 函数 23
1.6.9 类 24
1.6.10 异常 25
1.6.11 导入库 26
1.6.12 管理文件 26
1.6.13 列表推导 27
1.6.14 运行Python脚本 28
1.6.15 使用pip安装Python包 28
1.7 Python并行编程介绍 29
第2章 基于线程的并行 33
2.1 什么是线程? 34
2.2 Pythonthreading模块 35
2.3 定义一个线程 35
2.3.1 准备工作 35
2.3.2 实现过程 36
2.3.3 工作原理 36
2.3.4 相关内容 37
2.4 确定当前线程 37
2.4.1 准备工作 37
2.4.2 实现过程 37
2.4.3 工作原理 38
2.5 定义一个线程子类 39
2.5.1 准备工作 39
2.5.2 实现过程 39
2.5.3 工作原理 41
2.5.4 相关内容 42
2.6 使用锁的线程同步 42
2.6.1 准备工作 43
2.6.2 实现过程 43
2.6.3 工作原理 45
2.6.4 相关内容 46
2.7 使用RLock的线程同步 47
2.7.1 准备工作 47
2.7.2 实现过程 48
2.7.3 工作原理 49
2.7.4 相关内容 50
2.8 使用信号量的线程同步 51
2.8.1 准备工作 51
2.8.2 实现过程 51
2.8.3 工作原理 53
2.8.4 相关内容 54
2.9 使用条件的线程同步 54
2.9.1 准备工作 54
2.9.2 实现过程 54
2.9.3 工作原理 56
2.9.4 相关内容 58
2.10 使用事件的线程同步 58
2.10.1 准备工作 59
2.10.2 实现过程 59
2.10.3 工作原理 61
2.11 使用屏障的线程同步 62
2.11.1 准备工作 62
2.11.2 实现过程 62
2.11.3 工作原理 63
2.12 使用队列的线程通信 63
2.12.1 准备工作 64
2.12.2 实现过程 64
2.12.3 工作原理 65
2.12.4 相关内容 66
第3章 基于进程的并行 68
3.1 理解Python的multiprocessing模块 68
3.2 创建进程 69
3.2.1 准备工作 69
3.2.2 实现过程 69
3.2.3 工作原理 70
3.2.4 相关内容 71
3.2.5 参考资料 71
3.3 命名进程 72
3.3.1 准备工作 72
3.3.2 实现过程 72
3.3.3 工作原理 73
3.3.4 相关内容 73
3.3.5 参考资料 73
3.4 在后台运行进程 73
3.4.1 准备工作 74
3.4.2 实现过程 74
3.4.3 工作原理 75
3.4.4 参考资料 76
3.5 杀死进程 76
3.5.1 准备工作 76
3.5.2 实现过程 76
3.5.3 工作原理 77
3.5.4 参考资料 78
3.6 子类中定义进程 78
3.6.1 准备工作 78
3.6.2 实现过程 78
3.6.3 工作原理 79
3.6.4 相关内容 80
3.6.5 参考资料 80
3.7 使用队列交换数据 80
3.7.1 准备工作 80
3.7.2 实现过程 80
3.7.3 工作原理 82
3.7.4 相关内容 83
3.7.5 参考资料 84
3.8 使用管道交换对象 84
3.8.1 准备工作 84
3.8.2 实现过程 84
3.8.3 工作原理 86
3.8.4 相关内容 87
3.8.5 参考资料 87
3.9 同步进程 87
3.9.1 准备工作 87
3.9.2 实现过程 87
3.9.3 工作原理 89
3.9.4 相关内容 89
3.9.5 参考资料 89
3.10 使用进程池 90
作者简介
Giancarlo Zaccone在科学和工业领域的研究项目管理方面已经有超过15年的经验。他是欧洲航空局(ESTEC)的一位软件和系统工程师,主要处理卫星导航系统的网络安全。Giancarlo拥有物理学硕士学位和科学计算高级硕士学位。Giancarlo有以下著作:《Python Parallel Programming Cookbook(第1版)》 《Getting Started with Tensor Flow 》《Deep Learning with Tensor Flow (第1版)》和《Deep Learning with Tensor Flow (第2版) 》。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0