并行程序设计原理

并行程序设计原理
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] , [美] ,
2009-07
版次: 1
ISBN: 9787111270751
定价: 45.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 235页
正文语种: 简体中文
原版书名: Principles of Parallel Programming
61人买过
  •   本书内容新颖,涉及现代并行硬件和软件技术,包括多核体系结构及其并行程序设计技术。本书侧重论述并行程序设计的原理,并论述了并行程序设计中一些深层次问题,如可扩展性、可移植性以及并行程序设计应遵循的方法学等。
      本书是高等院校计算机专业高年级本科生或低年级研究生的理想教科书,同时也是专业程序员从事并行程序设计的理想入门书。
      多核体系结构的出现使得并行程序设计技术对软件工程师和计算机系统设计师变得日益重要。本书着重论述并行计算的基本原理,解释各种现象,并分析为何这些现象是成功进行并行程序设计的机遇或阻碍。
      本书是高等院校计算机专业高年级本科生或低年级研究生的理想教科书,同时也是专业程序员从事并行程序设计的理想入门书。 出版者的话
    推荐序
    译者序
    前言
    第一部分基础
    第1章导论2
    1.1并行的威力和潜能2
    1.1.1并行,一个熟悉的概念2
    1.1.2计算机程序中的并行2
    1.1.3多核计算机,一个机遇3
    1.1.4使用并行硬件的更多机遇4
    1.1.5并行计算和分布式计算的比较4
    1.1.6系统级并行5
    1.1.7并行抽象的便利5
    1.2考察顺序程序和并行程序6
    1.2.1并行化编译器6
    1.2.2范例求解的变化7
    1.2.3并行前缀求和8
    1.3使用多指令流实现并行9
    1.3.1线程概念9
    1.3.2统计3的个数的多线程求解方法10
    1.4目标:可扩展性和性能可移植性17
    1.4.1可扩展性17
    1.4.2性能可移植性18
    1.4.3原理第一18
    1.5小结19
    历史回顾19
    习题19

    第2章认识并行计算机21
    2.1用可移植性衡量机器特征21
    2.26种并行机介绍21
    2.2.1芯片多处理器21
    2.2.2对称多处理器体系结构23
    2.2.3异构芯片设计26
    2.2.4机群27
    2.2.5超级计算机27
    2.2.6对6种并行计算机的评论30
    2.3顺序计算机的抽象30
    2.3.1应用RAM模型31
    2.3.2评估RAM模型31
    2.4PRAM:一种并行计算机模型32
    2.5CTA:一种实际的并行计算机模型32
    2.5.1CTA模型33
    2.5.2通信时延36
    2.5.3CTA的性质36
    2.6存储器访问机制37
    2.6.1共享存储器37
    2.6.2单边通信37
    2.6.3消息传递38
    2.6.4存储器一致性模型38
    2.6.5程序设计模型39
    2.7进一步研究通信40
    2.8CTA模型的应用40
    2.9小结41
    历史回顾41
    习题41

    第3章性能分析43
    3.1动机和基本概念43
    3.1.1并行和性能43
    3.1.2线程和进程43
    3.1.3时延和吞吐率44
    3.2性能损失的原因45
    3.2.1开销45
    3.2.2不可并行代码46
    3.2.3竞争47
    3.2.4空闲时间47
    3.3并行结构48
    3.3.1相关性48
    3.3.2相关性限制并行性49
    3.3.3粒度50
    3.3.4局部性51
    3.4性能协调51
    3.4.1通信和计算52
    3.4.2存储器和并行性52
    3.4.3开销与并行52
    3.5性能度量53
    3.5.1执行时间54
    3.5.2加速比54
    3.5.3超线性加速比55
    3.5.4效率55
    3.5.5加速比问题55
    3.5.6可扩展加速比和固定加速比56
    3.6可扩展性能56
    3.6.1难于达到的可扩展性能57
    3.6.2硬件问题57
    3.6.3软件问题58
    3.6.4问题规模的扩展58
    3.7小结59
    历史回顾59
    习题59

    第二部分并行抽象
    第4章并行程序设计起步62
    4.1数据和任务并行62
    4.1.1定义62
    4.1.2数据和任务并行的说明62
    4.2Peril-L记号63
    4.2.1扩展C语言63
    4.2.2并行线程63
    4.2.3同步和协同64
    4.2.4存储器模型64
    4.2.5同步存储器66
    4.2.6归约和扫描67
    4.2.7归约的抽象68
    4.3统计3的个数程序实例68
    4.4并行性的表示68
    4.4.1固定并行性68
    4.4.2无限并行性69
    4.4.3可扩展并行性70
    4.5按字母顺序排序实例71
    4.5.1无限并行性71
    4.5.2固定并行性72
    4.5.3可扩展并行性73
    4.6三种求解方法的比较77
    4.7小结78
    历史回顾78
    习题78

    第5章可扩展算法技术80
    5.1独立计算块80
    5.2Schwartz算法80
    5.3归约和扫描抽象82
    5.3.1通用归约和扫描举例83
    5.3.2基本结构84
    5.3.3通用归约结构86
    5.3.4通用扫描组件举例87
    5.3.5应用通用扫描88
    5.3.6通用向量操作89
    5.4静态为进程分配工作89
    5.4.1块分配90
    5.4.2重叠区域91
    5.4.3循环分配和块循环分配92
    5.4.4不规则分配94
    5.5动态为进程分配工作95
    5.5.1工作队列95
    5.5.2工作队列的变体97
    5.5.3案例研究:并发存储器分配97
    5.6树99
    5.6.1按子树分配99
    5.6.2动态分配100
    5.7小结100
    历史回顾100
    习题101

    第三部分并行程序设计语言
    第6章线程程序设计104
    6.1POSIXThreads104
    6.1.1线程的创建和销毁104
    6.1.2互斥108
    6.1.3同步110
    6.1.4安全性问题117
    6.1.5性能问题120
    6.1.6案例研究1:连续过度松弛124
    6.1.7案例研究2:重叠同步与计算129
    6.1.8案例研究3:多核芯片上的流计算134
    6.2JavaThreads134
    6.2.1同步方法135
    6.2.2同步语句136
    6.2.3统计3的个数程序实例136
    6.2.4易变存储器138
    6.2.5原子对象138
    6.2.6锁对象138
    6.2.7执行器138
    6.2.8并发集合138
    6.3OpenMP138
    6.3.1统计3的个数程序实例139
    6.3.2parallelfor的语义局限141
    6.3.3归约141
    6.3.4线程的行为和交互142
    6.3.5段142
    6.3.6OpenMP总结143
    6.4小结143
    历史回顾143
    习题143

    第7章MPI和其他局部视图语言145
    7.1MPI:消息传递接口145
    7.1.1统计3的个数程序实例145
    7.1.2组和通信子152
    7.1.3点对点通信152
    7.1.4集合通信154
    7.1.5举例:连续过度松弛157
    7.1.6性能问题159
    7.1.7安全性问题164
    7.2分区的全局地址空间语言164
    7.2.1Co-ArrayFortran165
    7.2.2UnifiedParallelC166
    7.2.3Titanium167
    7.3小结167
    历史回顾168
    习题168

    第8章ZPL和其他全局视图语言169
    8.1ZPL程序设计语言169
    8.2ZPL基本概念169
    8.2.1区域170
    8.2.2数组计算171
    8.3生命游戏实例173
    8.3.1问题173
    8.3.2解决方案173
    8.3.3如何实现174
    8.3.4生命游戏的哲学175
    8.4与众不同的ZPL特征175
    8.4.1区域175
    8.4.2语句级索引175
    8.4.3区域的限制176
    8.4.4性能模型176
    8.4.5用减法实现加法177
    8.5操作不同秩的数组177
    8.5.1部分归约177
    8.5.2扩充178
    8.5.3扩充的原理179
    8.5.4数据操作举例179
    8.5.5扩充区域180
    8.5.6矩阵乘181
    8.6用重映射操作重排数据182
    8.6.1索引数组183
    8.6.2重映射183
    8.6.3排序举例185
    8.7ZPL程序的并行执行186
    8.7.1编译器的职责186
    8.7.2指定进程数187
    8.7.3为进程分配区域187
    8.7.4数组分配188
    8.7.5标量分配188
    8.7.6工作分派188
    8.8性能模型189
    8.8.1应用实例1:生命游戏190
    8.8.2应用实例2:SUMMA算法190
    8.8.3性能模型总结191
    8.9NESL并行语言191
    8.9.1语言概念191
    8.9.2用嵌套并行实现矩阵乘192
    8.9.3NESL复杂性模型192
    8.10小结192
    历史回顾193
    习题193

    第9章对并行程序设计现状的评价194
    9.1并行语言的四个重要性质194
    9.1.1正确性194
    9.1.2性能195
    9.1.3可扩展性196
    9.1.4可移植性196
    9.2评估现有方法196
    9.2.1POSIXThreads196
    9.2.2JavaThreads197
    9.2.3OpenMP197
    9.2.4MPI197
    9.2.5PGAS语言198
    9.2.6ZPL198
    9.2.7NESL199
    9.3可供将来借鉴的经验199
    9.3.1隐藏并行199
    9.3.2透明化性能200
    9.3.3局部性200
    9.3.4约束并行200
    9.3.5隐式并行与显式并行201
    9.4小结201
    历史回顾201
    习题202

    第四部分展望
    第10章并行程序设计的未来方向204
    10.1附属处理器204
    10.1.1图形处理部件204
    10.1.2Cell处理器207
    10.1.3附属处理器的总结207
    10.2网格计算208
    10.3事务存储器209
    10.3.1与锁的比较210
    10.3.2实现方法210
    10.3.3未解决的问题211
    10.4MapReduce212
    10.5问题空间的提升214
    10.6新出现的语言214
    10.6.1Chapel215
    10.6.2Fortress215
    10.6.3X10216
    10.7小结218
    历史回顾218
    习题218

    第11章编写并行程序219
    11.1起步219
    11.1.1访问和软件219
    11.1.2Hello,World219
    11.2并行程序设计的建议220
    11.2.1增量式开发220
    11.2.2侧重并行结构220
    11.2.3并行结构的测试221
    11.2.4顺序程序设计221
    11.2.5乐意写附加代码222
    11.2.6测试时对参数的控制222
    11.2.7功能性调试223
    11.3对结课课程设计的设想223
    11.3.1实现现有的并行算法223
    11.3.2与标准的基准测试程序媲美224
    11.3.3开发新的并行计算224
    11.4性能度量225
    11.4.1与顺序求解方法比较226
    11.4.2维护一个公正的实验设置226
    11.5了解并行性能227
    11.6性能分析227
    11.7实验方法学228
    11.8可移植性和微调229
    11.9小结229
    历史回顾229
    习题229
    术语表230
    参考文献234
  • 内容简介:
      本书内容新颖,涉及现代并行硬件和软件技术,包括多核体系结构及其并行程序设计技术。本书侧重论述并行程序设计的原理,并论述了并行程序设计中一些深层次问题,如可扩展性、可移植性以及并行程序设计应遵循的方法学等。
      本书是高等院校计算机专业高年级本科生或低年级研究生的理想教科书,同时也是专业程序员从事并行程序设计的理想入门书。
      多核体系结构的出现使得并行程序设计技术对软件工程师和计算机系统设计师变得日益重要。本书着重论述并行计算的基本原理,解释各种现象,并分析为何这些现象是成功进行并行程序设计的机遇或阻碍。
      本书是高等院校计算机专业高年级本科生或低年级研究生的理想教科书,同时也是专业程序员从事并行程序设计的理想入门书。
  • 目录:
    出版者的话
    推荐序
    译者序
    前言
    第一部分基础
    第1章导论2
    1.1并行的威力和潜能2
    1.1.1并行,一个熟悉的概念2
    1.1.2计算机程序中的并行2
    1.1.3多核计算机,一个机遇3
    1.1.4使用并行硬件的更多机遇4
    1.1.5并行计算和分布式计算的比较4
    1.1.6系统级并行5
    1.1.7并行抽象的便利5
    1.2考察顺序程序和并行程序6
    1.2.1并行化编译器6
    1.2.2范例求解的变化7
    1.2.3并行前缀求和8
    1.3使用多指令流实现并行9
    1.3.1线程概念9
    1.3.2统计3的个数的多线程求解方法10
    1.4目标:可扩展性和性能可移植性17
    1.4.1可扩展性17
    1.4.2性能可移植性18
    1.4.3原理第一18
    1.5小结19
    历史回顾19
    习题19

    第2章认识并行计算机21
    2.1用可移植性衡量机器特征21
    2.26种并行机介绍21
    2.2.1芯片多处理器21
    2.2.2对称多处理器体系结构23
    2.2.3异构芯片设计26
    2.2.4机群27
    2.2.5超级计算机27
    2.2.6对6种并行计算机的评论30
    2.3顺序计算机的抽象30
    2.3.1应用RAM模型31
    2.3.2评估RAM模型31
    2.4PRAM:一种并行计算机模型32
    2.5CTA:一种实际的并行计算机模型32
    2.5.1CTA模型33
    2.5.2通信时延36
    2.5.3CTA的性质36
    2.6存储器访问机制37
    2.6.1共享存储器37
    2.6.2单边通信37
    2.6.3消息传递38
    2.6.4存储器一致性模型38
    2.6.5程序设计模型39
    2.7进一步研究通信40
    2.8CTA模型的应用40
    2.9小结41
    历史回顾41
    习题41

    第3章性能分析43
    3.1动机和基本概念43
    3.1.1并行和性能43
    3.1.2线程和进程43
    3.1.3时延和吞吐率44
    3.2性能损失的原因45
    3.2.1开销45
    3.2.2不可并行代码46
    3.2.3竞争47
    3.2.4空闲时间47
    3.3并行结构48
    3.3.1相关性48
    3.3.2相关性限制并行性49
    3.3.3粒度50
    3.3.4局部性51
    3.4性能协调51
    3.4.1通信和计算52
    3.4.2存储器和并行性52
    3.4.3开销与并行52
    3.5性能度量53
    3.5.1执行时间54
    3.5.2加速比54
    3.5.3超线性加速比55
    3.5.4效率55
    3.5.5加速比问题55
    3.5.6可扩展加速比和固定加速比56
    3.6可扩展性能56
    3.6.1难于达到的可扩展性能57
    3.6.2硬件问题57
    3.6.3软件问题58
    3.6.4问题规模的扩展58
    3.7小结59
    历史回顾59
    习题59

    第二部分并行抽象
    第4章并行程序设计起步62
    4.1数据和任务并行62
    4.1.1定义62
    4.1.2数据和任务并行的说明62
    4.2Peril-L记号63
    4.2.1扩展C语言63
    4.2.2并行线程63
    4.2.3同步和协同64
    4.2.4存储器模型64
    4.2.5同步存储器66
    4.2.6归约和扫描67
    4.2.7归约的抽象68
    4.3统计3的个数程序实例68
    4.4并行性的表示68
    4.4.1固定并行性68
    4.4.2无限并行性69
    4.4.3可扩展并行性70
    4.5按字母顺序排序实例71
    4.5.1无限并行性71
    4.5.2固定并行性72
    4.5.3可扩展并行性73
    4.6三种求解方法的比较77
    4.7小结78
    历史回顾78
    习题78

    第5章可扩展算法技术80
    5.1独立计算块80
    5.2Schwartz算法80
    5.3归约和扫描抽象82
    5.3.1通用归约和扫描举例83
    5.3.2基本结构84
    5.3.3通用归约结构86
    5.3.4通用扫描组件举例87
    5.3.5应用通用扫描88
    5.3.6通用向量操作89
    5.4静态为进程分配工作89
    5.4.1块分配90
    5.4.2重叠区域91
    5.4.3循环分配和块循环分配92
    5.4.4不规则分配94
    5.5动态为进程分配工作95
    5.5.1工作队列95
    5.5.2工作队列的变体97
    5.5.3案例研究:并发存储器分配97
    5.6树99
    5.6.1按子树分配99
    5.6.2动态分配100
    5.7小结100
    历史回顾100
    习题101

    第三部分并行程序设计语言
    第6章线程程序设计104
    6.1POSIXThreads104
    6.1.1线程的创建和销毁104
    6.1.2互斥108
    6.1.3同步110
    6.1.4安全性问题117
    6.1.5性能问题120
    6.1.6案例研究1:连续过度松弛124
    6.1.7案例研究2:重叠同步与计算129
    6.1.8案例研究3:多核芯片上的流计算134
    6.2JavaThreads134
    6.2.1同步方法135
    6.2.2同步语句136
    6.2.3统计3的个数程序实例136
    6.2.4易变存储器138
    6.2.5原子对象138
    6.2.6锁对象138
    6.2.7执行器138
    6.2.8并发集合138
    6.3OpenMP138
    6.3.1统计3的个数程序实例139
    6.3.2parallelfor的语义局限141
    6.3.3归约141
    6.3.4线程的行为和交互142
    6.3.5段142
    6.3.6OpenMP总结143
    6.4小结143
    历史回顾143
    习题143

    第7章MPI和其他局部视图语言145
    7.1MPI:消息传递接口145
    7.1.1统计3的个数程序实例145
    7.1.2组和通信子152
    7.1.3点对点通信152
    7.1.4集合通信154
    7.1.5举例:连续过度松弛157
    7.1.6性能问题159
    7.1.7安全性问题164
    7.2分区的全局地址空间语言164
    7.2.1Co-ArrayFortran165
    7.2.2UnifiedParallelC166
    7.2.3Titanium167
    7.3小结167
    历史回顾168
    习题168

    第8章ZPL和其他全局视图语言169
    8.1ZPL程序设计语言169
    8.2ZPL基本概念169
    8.2.1区域170
    8.2.2数组计算171
    8.3生命游戏实例173
    8.3.1问题173
    8.3.2解决方案173
    8.3.3如何实现174
    8.3.4生命游戏的哲学175
    8.4与众不同的ZPL特征175
    8.4.1区域175
    8.4.2语句级索引175
    8.4.3区域的限制176
    8.4.4性能模型176
    8.4.5用减法实现加法177
    8.5操作不同秩的数组177
    8.5.1部分归约177
    8.5.2扩充178
    8.5.3扩充的原理179
    8.5.4数据操作举例179
    8.5.5扩充区域180
    8.5.6矩阵乘181
    8.6用重映射操作重排数据182
    8.6.1索引数组183
    8.6.2重映射183
    8.6.3排序举例185
    8.7ZPL程序的并行执行186
    8.7.1编译器的职责186
    8.7.2指定进程数187
    8.7.3为进程分配区域187
    8.7.4数组分配188
    8.7.5标量分配188
    8.7.6工作分派188
    8.8性能模型189
    8.8.1应用实例1:生命游戏190
    8.8.2应用实例2:SUMMA算法190
    8.8.3性能模型总结191
    8.9NESL并行语言191
    8.9.1语言概念191
    8.9.2用嵌套并行实现矩阵乘192
    8.9.3NESL复杂性模型192
    8.10小结192
    历史回顾193
    习题193

    第9章对并行程序设计现状的评价194
    9.1并行语言的四个重要性质194
    9.1.1正确性194
    9.1.2性能195
    9.1.3可扩展性196
    9.1.4可移植性196
    9.2评估现有方法196
    9.2.1POSIXThreads196
    9.2.2JavaThreads197
    9.2.3OpenMP197
    9.2.4MPI197
    9.2.5PGAS语言198
    9.2.6ZPL198
    9.2.7NESL199
    9.3可供将来借鉴的经验199
    9.3.1隐藏并行199
    9.3.2透明化性能200
    9.3.3局部性200
    9.3.4约束并行200
    9.3.5隐式并行与显式并行201
    9.4小结201
    历史回顾201
    习题202

    第四部分展望
    第10章并行程序设计的未来方向204
    10.1附属处理器204
    10.1.1图形处理部件204
    10.1.2Cell处理器207
    10.1.3附属处理器的总结207
    10.2网格计算208
    10.3事务存储器209
    10.3.1与锁的比较210
    10.3.2实现方法210
    10.3.3未解决的问题211
    10.4MapReduce212
    10.5问题空间的提升214
    10.6新出现的语言214
    10.6.1Chapel215
    10.6.2Fortress215
    10.6.3X10216
    10.7小结218
    历史回顾218
    习题218

    第11章编写并行程序219
    11.1起步219
    11.1.1访问和软件219
    11.1.2Hello,World219
    11.2并行程序设计的建议220
    11.2.1增量式开发220
    11.2.2侧重并行结构220
    11.2.3并行结构的测试221
    11.2.4顺序程序设计221
    11.2.5乐意写附加代码222
    11.2.6测试时对参数的控制222
    11.2.7功能性调试223
    11.3对结课课程设计的设想223
    11.3.1实现现有的并行算法223
    11.3.2与标准的基准测试程序媲美224
    11.3.3开发新的并行计算224
    11.4性能度量225
    11.4.1与顺序求解方法比较226
    11.4.2维护一个公正的实验设置226
    11.5了解并行性能227
    11.6性能分析227
    11.7实验方法学228
    11.8可移植性和微调229
    11.9小结229
    历史回顾229
    习题229
    术语表230
    参考文献234
查看详情
系列丛书 / 更多
并行程序设计原理
Java编程思想(第4版)
[美]Bruce Eckel 著;陈昊鹏 译
并行程序设计原理
数据挖掘:概念与技术(原书第3版)
[美]Jiawei、[美]Micheling、[美]Jian Pei 著;范明、孟小峰 译
并行程序设计原理
算法导论(原书第3版)
[美]Thomas、[美]Charles、[美]Ronald、[美]Clifford Stein 著;殷建平、徐云、王刚 译
并行程序设计原理
数据结构与算法分析:Java语言描述
[美]马克·艾伦·维斯 著;陈越 译
并行程序设计原理
C程序设计语言(第二版)
[美]Brian(布莱恩·克尼汉)、[美]Dennis M.Ritchie(丹尼斯·里奇) 著;徐宝文、李志 译
并行程序设计原理
C程序设计语言(第2版·新版) 习题解答
吉米拜尔 著;杨涛 译;[美]汤朵
并行程序设计原理
计算机科学丛书·云计算:概念、技术与架构
[美]Thomas、[英]Zaigham、[巴西]Ricardo Puttini 著;龚奕利、贺莲、胡创 译
并行程序设计原理
数据库系统概念:(原书第6版)
[美]Abraham、Henry、S.Sudarshan 著;杨冬青、李红燕、唐世渭 译
并行程序设计原理
深入理解计算机系统(原书第3版)
[美]兰德尔 E.布莱恩特(Randal E.·Bryant) 著;龚奕利、贺莲 译
并行程序设计原理
编译原理:原理、技术与工具
[美]阿霍 著;赵建华 译
并行程序设计原理
计算机科学导论:原书第3版
[美]Behrouz Forouzan 著;刘艺 译
并行程序设计原理
软件工程:实践者的研究方法(原书第8版 本科教学版)
[美]罗杰 S. 普莱斯曼 著;郑人杰、马素霞 译
相关图书 / 更多
并行程序设计原理
并行程序设计:概念与实践
[德]贝蒂尔·施密特(Bertil Schmidt) 著;张常有 、吴长茂、解庆春 译
并行程序设计原理
并行编程
张杨
并行程序设计原理
并行计算导论/人工智能与大数据技术丛书
雷向东、雷振阳、龙军 著
并行程序设计原理
并行离群数据挖掘及应用
李俊丽 著
并行程序设计原理
并行数据挖掘及性能优化:关联规则与数据相关性分析
荀亚玲 著
并行程序设计原理
并行编程实战——基于C#8和.NETCore3
[印]沙克蒂·坦沃 著;马琳琳 译
并行程序设计原理
并行计算与高性能计算
尤莉安娜·萨莫拉(Yuliana Zamora)著 殷海英 译;[美]罗伯特·罗比(Robert Robey)
并行程序设计原理
并行化河流数学模型研发及应用
李健、霍军军 著
并行程序设计原理
并行多核体系结构基础
[美]汤孟岩(Yan Solihin)
并行程序设计原理
并行计算机体系结构(第2版)
陈国良
并行程序设计原理
并行计算与程序设计 第2版
刘其成
并行程序设计原理
并行编程原理与程序设计
何兵寿;宋鹏;刘颖
您可能感兴趣 / 更多
并行程序设计原理
数学旅行家 文教科普读物 (美)卡尔文・c.克劳森
[美]卡尔文・c.克劳森
并行程序设计原理
向世界好的医院力
[美]理查德·温特斯(RichardWinters)
并行程序设计原理
像作家一样阅读:提升读写能力的10堂课
[美]艾琳·M.普希曼
并行程序设计原理
黑的眼睛不看光明 心理学
[美]玛利亚娜·亚历山德里
并行程序设计原理
觉醒 外国现当代文学
[美]凯特·肖邦
并行程序设计原理
从众陷阱 成功学 (美)托德·罗斯(todd rose)
[美]托德·罗斯(toddrose)
并行程序设计原理
海洋全书:国家地理新探索
[美]西尔维娅·A.厄尔
并行程序设计原理
吃的勇气:365天告别饮食内耗,与食物和解
[美]伊芙琳·特里波尔(EvelynTribole)