• 并行程序设计:概念与实践
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

并行程序设计:概念与实践

27.88 2.3折 119 九品

仅1件

北京海淀
认证卖家担保交易快速发货售后保障

作者[德]贝蒂尔·施密特(Bertil Schmidt) 著;张常有 、吴长茂、解庆春 译

出版社机械工业出版社

出版时间2020-06

版次1

装帧其他

货号A8

上书时间2024-12-18

诚意正心书店

七年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 [德]贝蒂尔·施密特(Bertil Schmidt) 著;张常有 、吴长茂、解庆春 译
  • 出版社 机械工业出版社
  • 出版时间 2020-06
  • 版次 1
  • ISBN 9787111656661
  • 定价 119.00元
  • 装帧 其他
  • 开本 16开
  • 页数 357页
  • 字数 100千字
【内容简介】

本书由德国约翰内斯·古腾堡大学并行和分布式架构团队撰写,对并行编程的高级主题进行了深入讨论,除了涵盖基础概念外,还讲授了共享内存和分布式内存体系结构的实用编程技巧。作者提供了一套进行自动代码评估的开源系统,可方便地访问并行计算资源,这也使得本书特别适合于课堂教学。

【作者简介】
:
    解庆春Synopsys(中国)资深软件工程师,工学博士。主要研究领域包括高性能计算、异构计算、深度学习编译器和Al芯片的架构探索等。之前曾就职于中国科学院软件研究所和AMD(北京)有限公司,历任助理研究员、异构计算工程师、高级工程师。在软件研究所工作期间,主要从事高性能数学库、大型科学软件在高性能计算机上的研发工作;在AM[)工作期间,主要从事基于OpenCL的异构计算、性能优化和ROCm生态研发工作。
【目录】
译者序 

前言 

致谢 

第1章 绪论 1 

11 一个有趣的例子及其分析 2 

12 并行计算基础 10 

121 分布式内存系统 10 

122 共享内存系统 11 

123 并行程序设计需考虑的因素 13 

13 HPC动态和排名 15 

14 附加练习 17 

第2章 理论背景 19 

21 PRAM 20 

211 PRAM变体 21 

212 PRAM上的并行前缀计算 22 

213 PRAM上稀疏数组的压缩算法 24 

22 网络拓扑 25 

23 Amdahl定律和Gustafson定律 29 

24 Foster的并行算法设计方法学 34 

25 附加练习 37 

参考文献 40 

第3章 现代体系结构 41 

31 存储层次 42 

311 冯·诺依曼瓶颈 42 

312 高速缓冲存储器 43 

313 缓存算法 44 

314 优化缓存访问 45 

315 高速缓存一致性 48 

316 虚假共享 50 

317 并发多线程技术和预取技术 50 

318 展望 51 

32 并行性的层次 51 

321 Flynn分类法 51 

322 SIMD概念 53 

323 通用微处理器上的向量化 54 

324 结构体数组和数组结构体 57 

325 展望 63 

33 附加练习 63 

参考文献 67 

第4章 C++多线程编程 68 

41 多线程编程简介 69 

411 多线程编程和多进程编程的区别 69 

412 派生和并入线程 69 

413 我们的第一个多线程程序 71 

42 处理返回值 73 

421 传统方法 74 

422 使用promise和future的现代方法 75 

423 异步方式 80 

43 基于静态分发的调度机制 82 

431 串行程序 83 

432 线程的区块分发 87 

433 线程的循环分发 90 

434 虚假共享 91 

435 线程的块循环分发 93 

44 处理负载不平衡 95 

441 静态调度 99 

442 动态块循环分发 101 

45 用条件变量通知线程 104 

451 为一个睡觉的学生建模 105 

452 使用条件变量 107 

453 使用future和promise单发同步 108 

46 隐式可数集合上的并行化 110 

461 隐式可数集合 111 

462 线程池用例 112 

463 一个简单线程池的实现 114 

47 附加练习 119 

参考文献 121 

第5章 高级C++11多线程编程 122 

51 无锁编程 122 

511 原子计数 123 

512 非基本原子数据类型 124 

513 利用比较交换以原子方式并行化最大值归约 126 

514 任意原子操作 129 

515 ABA问题 132 

52 工作共享线程池 133 

521 工作共享线程池的用例 133 

522 工作共享的实现 135 

53 并行图搜索 137 

531 二元背包问题 138 

532 串行实现 139 

533 并行实现 144 

54 展望 146 

55 附加练习 148 

参考文献 149 

第6章 OpenMP 150 

61 OpenMP简介 151 

611 OpenMP简史 151 

612 基础 151 

62 parallel for制导语句 153 

621 向量加法 154 

622 变量共享和私有化 157 

623 矩阵向量乘法 160 

63 基本的并行归约 162 

631 最近邻分类 162 

632 手写数字数据集MNIST 163 

633 完全配对距离计算的理论视角 164 

634 完全配对计算的实现 165 

635 并行标签预测 168 

636 性能评测 169 

64 不平衡循环调度 171 

641 对称性引起的负载失衡 172 

642 内积计算实现 173 

643 性能评测 174 

65 高级归约 175 

651 MNIST数据集上的SOFTMAX回归分类器 175 

652 定制归约操作符 183 

653 OpenMP高级归约 187 

66 任务并行 189 

661 树遍历 190 

662 循环中生成任务 193 

67 SIMD向量化 193 

671 数据依赖 195 

672 向量化感知函数 196 

68 展望 196 

69 附加练习 197 

参考文献 202 

第7章 统一计算设备架构 203 

71 CUDA简介 204 

72 支持CUDA的GPU硬件架构 206 

721 主机与设备之间的互连 206 

722 显存和峰值宽度 207 

723 计算资源的组织 207 

73 内存访问模式 211 

731 均值名人脸的计算 212 

732 计算中心化的数据矩阵 218 

733 计算协方差矩阵 221 

734 计算特征脸 229 

74 内存层次结构 232 

741 问题简介 233 

742 串行DTW的线性内存算法 237 

743 线性内存DTW的一个初始CUDA移植 243 

744 共享内存中的波前松弛 248 

745 并发调度和bank冲突 253 

746 纹理内存和常量内存 254 

75 优化准则 257 

76 附加练习 258 

参考文献 259 

第8章 高级CUDA编程 261 

81 warp内联函数和原子操作 261 

811 分段并行归约 262 

812 全局并行归约 265 

813 任意原子操作 267 

814 展望 269 

82 利用多块GPU和流 269 

821 牛顿迭代 269 

822 利用多块GPU 272 

823 通信和计算交叉 274 

824 多块GPU上的流式计算 278 

83 展望 280 

831 统一内存 280 

832 动态并行性 281 

833 协作组 281 

834 张量核心 281 

835 GPU集群上的分布式计算 282 

84 附加练习 282 

参考文献 284 

第9章 MPI 286 

91 MPI简介 286 

92 基本概念 288 

93 点到点通信 289 

94 非阻塞通信 292 

9
点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP