数据科学中的并行计算:以R.C++和CUDA为例
本书特色
[
本书是*本并行计算领域中,注意力完全集中在并行数据结构、算法、软件工具及数据科学中具体应用的书。书中的例子不仅有经典的“n 个样本,p 个变量”的矩阵形式,还有时间序列、网络图模型,以及各种其他的在数据科学中常见的结构。本书同时也讨论了适用于多种硬件、多种编程语言的的软件包。特点 关注数据科学中的应用,包括统计学、数据挖掘和机器学习。 讨论了数据科学中的常见数据结构,如网络图模型。 通篇强调了普遍的原理,如避免降低并行程序速度的因素。 覆盖了主流的计算平台:多核、集群以及图像处理单元(GPU)。 解释了 Thrust 包如何降低多核机器和GPU编程的难度,并使得同一份代码能够在不同的平台上工作。在作者网站上提供了样例代码。
]
作者简介
[
作者简介Matloff 博士出生于洛杉矶,在东洛杉矶和圣盖博谷两个地方长大。他在加州大学洛杉矶分校获得了纯粹数学的博士学位,学术研究方向为概率论和统计。他在计算机科学和统计学方向发表了大量论文,现在的研究方向是并行处理、统计计算和回归方法。他也是Journal of Statistical Software 的编委之一。Matloff 教授曾是国际信息处理联合会11.3 工作组的成员,该组织是联合国教科文组织(UNESCO)下设的一个数据库软件安全国际委员会。他也是加州大学戴维斯分校统计系的创始人之一,并参与了该校计算机科学系的建立。他在戴维斯分校被授予了杰出教学奖和杰出公众服务奖。
]
目录
第1章 R语言中的并行处理入门1
1.1 反复出现的主题:良好并行所具有的标准. . . . . . . . . . . . 1
1.2 关于机器. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 2
1.3 反复出现的主题:不要把鸡蛋放在一个篮子里. . . . . . . . . . 3
1.4 扩展示例:相互网页外链. . . . . . . . . . . . . . . . . . . . . 3
第2章 “我的程序为什么这么慢?”:速度的障碍15
2.1 速度的障碍. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.2 性能和硬件结构. . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.3 内存的基础知识. . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 网络基础. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 20
2.5 延迟和带宽. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.6 线程调度. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. 26
2.7 多少个进程/线程? . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8 示例:相互外链问题. . . . . . . . . . . . . . . . . . . . . . . . 27
2.9 “大O”标记法. . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.10 数据序列化. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
2.11 “易并行”的应用. . . . . . . . . . . . . . . . . . . . . . . . . 29
第3章 并行循环调度的准则31
3.1 循环调度的通用记法. . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 snow 中的分块. . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3 关于代码复杂度. . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.4 示例:所有可能回归. . . . . . . . . . . . . . . . . . . . . . . . 36
3.5 partools 包. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48
3.6 示例:所有可能回归,改进版本. . . . . . . . . . . . . . . . . . 48
3.7 引入另一个工具:multicore . . . . . . . . . . . . . . . . . . . . 54
3.8 块大小的问题. . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
3.9 示例:并行距离计算. . . . . . . . . . . . . . . . . . . . . . . . 62
3.10 foreach 包. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
3.11 跨度. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 71
3.12 另一种调度方案:随机任务置换. . . . . . . . . . . . . . . . . . 71
3.13 调试snow 和multicore 的代码. . . . . . . . . . . . . . . . . . 74
第4章 共享内存范式:基于R 的简单介绍76
第5章 共享内存范式:C 语言层面112
第6章 共享内存范式:GPU 157
第7章 Thrust 与Rth 176
第8章 消息传递范式186
第9章 MapReduce 计算204
第10章 并行排序和归并214
第11章 并行前缀扫描227
第12章 并行矩阵运算244
第13章 原生统计方法:子集方法266
附录A 回顾矩阵代数275
封面
书名:数据科学中的并行计算:以R.C++和CUDA为例
作者:诺曼.马特洛夫
页数:313
定价:¥72.0
出版社:西安交通大学出版社
出版日期:2017-12-01
ISBN:9787560599588
PDF电子书大小:71MB 高清扫描完整版
本文标题:《数据科学中的并行计算:以R.C++和CUDA为例》PDF下载
资源仅供学习参考,禁止用于商业用途,请在下载后24小时内删除!