数据科学中的并行计算:以R,C++和CUDA为例

数据科学中的并行计算:以R,C++和CUDA为例
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] , ,
2017-12
版次: 1
ISBN: 9787560599588
定价: 72.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 313页
字数: 362千字
正文语种: 简体中文
18人买过
  •   《数据科学中的并行计算:以R,C++和CUDA为例》是一本并行计算领域中,注意力完全集中在并行数据结构、算法、软件工具及数据科学中具体应用的书。
      《数据科学中的并行计算:以R,C++和CUDA为例》中的例子不仅有经典的“n个样本,p个变量”的矩阵形式,还有时间序列、网络图模型,以及各种其他的在数据科学中常见的结构。
      《数据科学中的并行计算:以R,C++和CUDA为例》同时也讨论7适用于多种硬件、多种编程语言的的软件包。
      《数据科学中的并行计算:以R,C++和CUDA为例》特点
      ·关注数据科学中的应用,包括统计学、数据挖掘和机器学习。
      ·讨论了数据科学中的常见数据结构,如网络图模型。
      ·通篇强调7普遍的原理,如避免降低并行程序速度的因素。
      ·覆盖了主流的计算平台:多核、集群以及图像处理单元(GPU)。
      ·解释了Thrust包如何降低多核机器和GPU编程的难度,并使得同一份代码能够在不同的平台上工作。
      ·在作者网站上提供了样例代码。   汪磊,中科院微系统所通信专业博士。曾活跃在Julia等多个开源项目。现就职于滴滴出行,负责订单派单策略方向。
      
      寇强,美国印第安纳大学信息学博士在读,Rcpp核心成员。 译者序
    前言
    作者简介

    第1章 R语言中的并行处理入门
    1.1 反复出现的主题:良好并行所具有的标准
    1.2 关于机器
    1.3 反复出现的主题:不要把鸡蛋放在一个篮子里
    1.4 扩展示例:相互网页外链

    第2章 “我的程序为什么这么慢?”:速度的障碍
    2.1 速度的障碍
    2.2 性能和硬件结构
    2.3 内存的基础知识
    2.4 网络基础
    2.5 延迟和带宽
    2.6 线程调度
    2.7 多少个进程/线程?
    2.8 示例:相互外链问题
    2.9 “大O”标记法
    2.10 数据序列化
    2.11 “易并行”的应用

    第3章 并行循环调度的准则
    3.1 循环调度的通用记法
    3.2 snow中的分块
    3.3 关于代码复杂度
    3.4 示例:所有可能回归
    3.5 partools包
    3.6 示例:所有可能回归,改进版本
    3.7 引入另一个工具:multicore
    3.8 块大小的问题
    3.9 示例:并行距离计算
    3.10 foreach包
    3.11 跨度
    3.12 另一种调度方案:随机任务置换
    3.13 调试snow和multicore的代码

    第4章 共享内存范式:基于R的简单介绍
    4.1 是什么被共享了?
    4.2 共享内存代码的简洁
    4.3 共享内存编程的高级介绍:Rdsm包
    4.4 示例:矩阵乘法
    4.5 共享内存能够带来性能优势
    4.6 锁和屏障
    4.7 示例:时间序列中的最大脉冲
    4.8 示例:变换邻接矩阵
    4.9 示例:k-means聚类

    第5章 共享内存范式:C语言层面
    5.1 OpenMP
    5.2 示例:找到时间序列中的最大脉冲
    5.3 OpenMP循环调度选项
    5.4 示例:邻接矩阵的变换
    5.5 示例:邻接矩阵,R可调用的代码
    5.6 C加速
    5.7 运行时间与开发时间
    5.8 高速缓存/虚拟内存的深入问题
    5.9 OpenMP中的归并操作
    5.10 调试
    5.11 Intel Thread Brulding Blocks(TBB)
    5.12 无锁同步

    第6章 共享内存范式:GPU
    6.1 概述
    6.2 关于代码复杂性的再讨论
    6.3 章节目标
    6.4 英伟达GPU和CUDA简介
    6.5 示例:相互反向链接问题
    6.6 GPU上的同步问题
    6.7 R和GPU
    6.8 英特尔XeonPhi芯片

    第7章 Thrust与Rth
    7.1 不要把鸡蛋放在一个篮子里
    7.2 Thrust简介
    7.3 Rth
    7.4 略过C++相关内容
    7.5 示例:计算分位数
    7.6 Rth简介

    第8章 消息传递范式
    8.1 消息传递概述
    8.2 集群模型
    8.3 性能问题
    8.4 Rmpi
    8.5 示例:计算素数的流水线法
    8.6 内存分配问题
    8.7 消息传递的性能细节

    第9章 MapReduce计算
    9.1 ApacheHadoop
    9.2 其他MapReduce系统
    9.3 MapReduce系统的R接口
    9.4 另一个选择:“Snowdoop”

    第10章 并行排序和归并
    10.1 难以实现的最优目标
    10.2 排序算法
    10.3 示例:R中的桶排序
    10.4 示例:使用OpenMP的快排
    10.5 Rth中的排序
    10.6 计时比较
    10.7 分布式数据上的排序

    第11章 并行前缀扫描
    11.1 一般公式
    11.2 应用
    11.3 一般策略
    11.4 并行前缀扫描的实现
    11.5 OpenMP实现的并行cumsum()
    11.6 示例:移动平均

    第12章 并行矩阵运算
    12.1 平铺矩阵
    12.2 示例:snowdoop方法
    12.3 并行矩阵相乘
    12.4 BLAS函数库
    12.5 示例:OpenBLAS的性能
    12.6 示例:图的连通性
    12.7 线性系统求解
    12.8 稀疏矩阵

    第13章 原生统计方法:子集方法
    13.1 分块均值
    13.2 Bag of Little Bootstraps方法
    13.3 变量子集

    附录A 回顾矩阵代数
    A.1 术语和符号
    A.2 矩阵转置
    A.3 线性独立
    A.4 行列式
    A.5 矩阵求逆
    A.6 特征值和特征向量
    A.7 R中的矩阵代数

    附录B R语言快速入门
    B.1 对照
    B.2 启动R
    B.3 编程示例
    B.4 编程示例二
    B.5 编程示例三
    B.6 R列表类型
    B,7R中的调试

    附录C 给R程序员的C简介
    C.1 示例程序
    C.2 分析
    C.3 C++
    索引
  • 内容简介:
      《数据科学中的并行计算:以R,C++和CUDA为例》是一本并行计算领域中,注意力完全集中在并行数据结构、算法、软件工具及数据科学中具体应用的书。
      《数据科学中的并行计算:以R,C++和CUDA为例》中的例子不仅有经典的“n个样本,p个变量”的矩阵形式,还有时间序列、网络图模型,以及各种其他的在数据科学中常见的结构。
      《数据科学中的并行计算:以R,C++和CUDA为例》同时也讨论7适用于多种硬件、多种编程语言的的软件包。
      《数据科学中的并行计算:以R,C++和CUDA为例》特点
      ·关注数据科学中的应用,包括统计学、数据挖掘和机器学习。
      ·讨论了数据科学中的常见数据结构,如网络图模型。
      ·通篇强调7普遍的原理,如避免降低并行程序速度的因素。
      ·覆盖了主流的计算平台:多核、集群以及图像处理单元(GPU)。
      ·解释了Thrust包如何降低多核机器和GPU编程的难度,并使得同一份代码能够在不同的平台上工作。
      ·在作者网站上提供了样例代码。
  • 作者简介:
      汪磊,中科院微系统所通信专业博士。曾活跃在Julia等多个开源项目。现就职于滴滴出行,负责订单派单策略方向。
      
      寇强,美国印第安纳大学信息学博士在读,Rcpp核心成员。
  • 目录:
    译者序
    前言
    作者简介

    第1章 R语言中的并行处理入门
    1.1 反复出现的主题:良好并行所具有的标准
    1.2 关于机器
    1.3 反复出现的主题:不要把鸡蛋放在一个篮子里
    1.4 扩展示例:相互网页外链

    第2章 “我的程序为什么这么慢?”:速度的障碍
    2.1 速度的障碍
    2.2 性能和硬件结构
    2.3 内存的基础知识
    2.4 网络基础
    2.5 延迟和带宽
    2.6 线程调度
    2.7 多少个进程/线程?
    2.8 示例:相互外链问题
    2.9 “大O”标记法
    2.10 数据序列化
    2.11 “易并行”的应用

    第3章 并行循环调度的准则
    3.1 循环调度的通用记法
    3.2 snow中的分块
    3.3 关于代码复杂度
    3.4 示例:所有可能回归
    3.5 partools包
    3.6 示例:所有可能回归,改进版本
    3.7 引入另一个工具:multicore
    3.8 块大小的问题
    3.9 示例:并行距离计算
    3.10 foreach包
    3.11 跨度
    3.12 另一种调度方案:随机任务置换
    3.13 调试snow和multicore的代码

    第4章 共享内存范式:基于R的简单介绍
    4.1 是什么被共享了?
    4.2 共享内存代码的简洁
    4.3 共享内存编程的高级介绍:Rdsm包
    4.4 示例:矩阵乘法
    4.5 共享内存能够带来性能优势
    4.6 锁和屏障
    4.7 示例:时间序列中的最大脉冲
    4.8 示例:变换邻接矩阵
    4.9 示例:k-means聚类

    第5章 共享内存范式:C语言层面
    5.1 OpenMP
    5.2 示例:找到时间序列中的最大脉冲
    5.3 OpenMP循环调度选项
    5.4 示例:邻接矩阵的变换
    5.5 示例:邻接矩阵,R可调用的代码
    5.6 C加速
    5.7 运行时间与开发时间
    5.8 高速缓存/虚拟内存的深入问题
    5.9 OpenMP中的归并操作
    5.10 调试
    5.11 Intel Thread Brulding Blocks(TBB)
    5.12 无锁同步

    第6章 共享内存范式:GPU
    6.1 概述
    6.2 关于代码复杂性的再讨论
    6.3 章节目标
    6.4 英伟达GPU和CUDA简介
    6.5 示例:相互反向链接问题
    6.6 GPU上的同步问题
    6.7 R和GPU
    6.8 英特尔XeonPhi芯片

    第7章 Thrust与Rth
    7.1 不要把鸡蛋放在一个篮子里
    7.2 Thrust简介
    7.3 Rth
    7.4 略过C++相关内容
    7.5 示例:计算分位数
    7.6 Rth简介

    第8章 消息传递范式
    8.1 消息传递概述
    8.2 集群模型
    8.3 性能问题
    8.4 Rmpi
    8.5 示例:计算素数的流水线法
    8.6 内存分配问题
    8.7 消息传递的性能细节

    第9章 MapReduce计算
    9.1 ApacheHadoop
    9.2 其他MapReduce系统
    9.3 MapReduce系统的R接口
    9.4 另一个选择:“Snowdoop”

    第10章 并行排序和归并
    10.1 难以实现的最优目标
    10.2 排序算法
    10.3 示例:R中的桶排序
    10.4 示例:使用OpenMP的快排
    10.5 Rth中的排序
    10.6 计时比较
    10.7 分布式数据上的排序

    第11章 并行前缀扫描
    11.1 一般公式
    11.2 应用
    11.3 一般策略
    11.4 并行前缀扫描的实现
    11.5 OpenMP实现的并行cumsum()
    11.6 示例:移动平均

    第12章 并行矩阵运算
    12.1 平铺矩阵
    12.2 示例:snowdoop方法
    12.3 并行矩阵相乘
    12.4 BLAS函数库
    12.5 示例:OpenBLAS的性能
    12.6 示例:图的连通性
    12.7 线性系统求解
    12.8 稀疏矩阵

    第13章 原生统计方法:子集方法
    13.1 分块均值
    13.2 Bag of Little Bootstraps方法
    13.3 变量子集

    附录A 回顾矩阵代数
    A.1 术语和符号
    A.2 矩阵转置
    A.3 线性独立
    A.4 行列式
    A.5 矩阵求逆
    A.6 特征值和特征向量
    A.7 R中的矩阵代数

    附录B R语言快速入门
    B.1 对照
    B.2 启动R
    B.3 编程示例
    B.4 编程示例二
    B.5 编程示例三
    B.6 R列表类型
    B,7R中的调试

    附录C 给R程序员的C简介
    C.1 示例程序
    C.2 分析
    C.3 C++
    索引
查看详情
12
系列丛书 / 更多
数据科学中的并行计算:以R,C++和CUDA为例
数据科学中的R语言
李舰、肖凯 著
数据科学中的并行计算:以R,C++和CUDA为例
Rcpp:R与C++的无缝整合
[法]德克.埃德比特尔 著;寇强、张晔 译
数据科学中的并行计算:以R,C++和CUDA为例
R语言应用系列:R语言在商务分析中的应用
[印]A.奥赫里(A.Ohri) 著;朱钰 译
数据科学中的并行计算:以R,C++和CUDA为例
网络数据的统计分析:R语言实践
[美]埃里克·D·克拉泽克(Eric D.Kolacayk) 著;李杨 译
数据科学中的并行计算:以R,C++和CUDA为例
R语言数据操作
[美]斯佩克特 著;朱钰 译
相关图书 / 更多
数据科学中的并行计算:以R,C++和CUDA为例
数据治理实践者手记
苏振中
数据科学中的并行计算:以R,C++和CUDA为例
数据中台:让数据用起来 第2版 付登坡 等
付登坡 江敏 赵东辉 等
数据科学中的并行计算:以R,C++和CUDA为例
数据对话:建立你的数据流利度
(瑞士)马丁·埃普勒 法比耶纳 宾兹利
数据科学中的并行计算:以R,C++和CUDA为例
数据结构高分(2025版 天勤3版) 大中专公共计算机 率辉 新华正版
率辉
数据科学中的并行计算:以R,C++和CUDA为例
数据资源管理 陈忆金 奉国和
陈忆金 奉国和
数据科学中的并行计算:以R,C++和CUDA为例
数据工程之道:设计和构建健壮的数据系统 [美]乔·里斯 [美]马特·豪斯利
[美]乔·里斯(Joe Reis),[美]马特·豪斯利(Matt Housley)
数据科学中的并行计算:以R,C++和CUDA为例
数据法学前沿
武长海
数据科学中的并行计算:以R,C++和CUDA为例
数据结构与算法入门到提高(Python语言实现)
谭琨、韦韬 编著
数据科学中的并行计算:以R,C++和CUDA为例
数据合规与网络安全风险防范
冯洋
数据科学中的并行计算:以R,C++和CUDA为例
数据加密与PKI应用(微课版)
王秀英
数据科学中的并行计算:以R,C++和CUDA为例
数据治理驱动的数字化转型 王建峰 辛华
王建峰 辛华
数据科学中的并行计算:以R,C++和CUDA为例
数据资产保护的合规要点与实务
辛小天,周杨,史蕾
您可能感兴趣 / 更多
数据科学中的并行计算:以R,C++和CUDA为例
争吵的恋人:我们为什么相爱,又为什么争吵
[美]约翰·金,[美]瓦妮莎·贝内特
数据科学中的并行计算:以R,C++和CUDA为例
蒙特卡洛的密码锁(数学大师的逻辑课) 文教科普读物 [美]雷蒙德·m.斯穆里安(raymondm.smullyan)
[美]雷蒙德·m.斯穆里安(raymondm.smullyan)
数据科学中的并行计算:以R,C++和CUDA为例
福尔摩斯的棋盘:关于国际象棋的推理题(数学大师的逻辑课)
[美]雷蒙德·m.斯穆里安
数据科学中的并行计算:以R,C++和CUDA为例
《生命大设计.重构》(关于“生命创造现实”这一惊人事实,独特且完整的科学探索与哲学诠释)
[美]鲍勃·伯曼 著;杨泓 译;[美]罗伯特·兰札;马泰·帕夫希奇(斯洛文尼亚)
数据科学中的并行计算:以R,C++和CUDA为例
杰出投资者的底层认知:成功投资与明智创富的10个茅塞顿开之问(《聪明的投资者》新时代精华版)
[美]J.戴维·斯坦恩(J.David Stein) 著;刘寅龙 译;庞鑫
数据科学中的并行计算:以R,C++和CUDA为例
浴缸里的海洋
[美]塞思·菲什曼
数据科学中的并行计算:以R,C++和CUDA为例
新视界文库-生命故事:生物学上的伟大发现
[美]肖恩·B.卡罗尔
数据科学中的并行计算:以R,C++和CUDA为例
洛丽塔原型:小说《洛丽塔》背后的萨莉?霍纳绑架案
[美]萨拉·魏恩曼 著;真故图书 出品
数据科学中的并行计算:以R,C++和CUDA为例
托尔斯泰
[美]莉莎·克纳普(Liza Knapp)
数据科学中的并行计算:以R,C++和CUDA为例
奇迹之门 《纽约时报》畅销书作家写给孩子的一封“成长家书”。让父母的爱与肯定,成为孩子探索世界的底气。拥抱成长的不确定性,打开通向无限可能的“奇迹之门”。
[美]艾莉森·麦基/文 (美) 柳泰恩 图
数据科学中的并行计算:以R,C++和CUDA为例
全球通史(全六册)(另一个角度的“全球通史”,不一样的视野与新知。以地理为骨,历史为肉,一部超级丰满的世界通史。)
[美]塞缪尔·古德里奇 译者:冷惠玲、冯佳娜、王小忠、孙丽霞、李江艳
数据科学中的并行计算:以R,C++和CUDA为例
《星际争霸》动画影像艺术
[美]罗伯特·布鲁克斯