• 多核与GPU编程:工具、方法及实践
  • 多核与GPU编程:工具、方法及实践
  • 多核与GPU编程:工具、方法及实践
21年品牌 40万+商家 超1.5亿件商品

多核与GPU编程:工具、方法及实践

未拆封

50 3.9折 129 全新

库存2件

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

作者张云泉、贾海鹏、李士刚、袁良 译

出版社机械工业出版社

出版时间2017-02

版次1

装帧平装

货号1-100

上书时间2024-08-04

盛源书店

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

   商品详情   

品相描述:全新
图书标准信息
  • 作者 张云泉、贾海鹏、李士刚、袁良 译
  • 出版社 机械工业出版社
  • 出版时间 2017-02
  • 版次 1
  • ISBN 9787111557685
  • 定价 129.00元
  • 装帧 平装
  • 开本 16开
  • 纸张 胶版纸
  • 页数 536页
  • 丛书 高性能计算技术丛书
【内容简介】
  《多核与GPU编程:工具、方法及实践》从并行软件的实现、调试、优化和剖析四个方面,详细讨论了当前主要的并行计算关键技术,主要内容包括:多核和并行程序设计、共享内存编程中的线程与OpenMP、分布式内存编程、GPU编程、Thrust模板库、负载均衡等。本书结合具体的代码和案例分析,揭示了如何使用库或者指令创建多核应用,如何使用MPI开发分布式应用程序,如何使用CUDA开发高性能GPU程序,如何实现负载均衡,以及如何针对目标多核平台进行程序剖析和调试等。本书可供从事高性能计算技术研究的专业人员参考,也可作为高校相关专业的教学用书。
【作者简介】
  Gerassimos Barlas 沙迦美国大学计算机科学与工程系教授。他的研究兴趣包括并行算法、开发、分析,以及负载平衡的建模框架,分布式视频点播。Barlas教授讲授并行编程课程已有12年时间,早在20世纪90年代,他就开始研究并行计算,并积极参与并行和分布式系统可分负载理论这一新领域的研究工作。
【目录】
译者序
前 言
第1章 概述  1
1.1 多核计算机时代  1
1.2 并行计算机的分类  3
1.3 现代计算机概览  4
1.3.1 Cell BE处理器  5
1.3.2 NVIDIA Kepler  6
1.3.3 AMD APU  9
1.3.4 从多核到众核:Tilera TILE-Gx8072和Intel Xeon Phi  10
1.4 性能指标  12
1.5 并行程序性能的预测与测量  16
1.5.1 Amdahl定律  18
1.5.2 Gustafson-Barsis定律  20
第2章 多核和并行程序设计  23
2.1 引言  23
2.2 PCAM方法学  24
2.3 分解模式  26
2.3.1 任务并行  27
2.3.2 分而治之分解  28
2.3.3 几何分解  30
2.3.4 递归数据分解  32
2.3.5 流水线分解  35
2.3.6 基于事件的合作分解  39
2.4 程序结构模式  39
2.4.1 单程序多数据  40
2.4.2 多程序多数据  40
2.4.3 主/从  41
2.4.4 map-reduce  41
2.4.5 fork/join  42
2.4.6 循环并行  44
2.5 匹配分解模式和程序结构模式  44
第3章 共享内存编程:线程  46
3.1 引言  46
3.2 线程  48
3.2.1 线程的定义  48
3.2.2 线程的作用  49
3.2.3 线程的生成和初始化  49
3.2.4 在线程间共享数据  55
3.3 设计考虑  57
3.4 信号量  58
3.5 经典问题中的信号量  62
3.5.1 生产者–消费者  63
3.5.2 终止处理  66
3.5.3 理发师问题:引入公平性  75
3.5.4 读者–写者问题  80
3.6 monitor  84
3.6.1 设计方法1:monitor内部的关键区  87
3.6.2 设计方法2:monitor控制关键区的入口  87
3.7 经典问题中的monitor  91
3.7.1 重新考虑生产者–消费者问题  91
3.7.2 重新考虑读者–写者问题  95
3.8 动态线程管理与静态线程管理  102
3.8.1 Qt线程池  102
3.8.2 线程池的创建和管理  103
3.9 调试多线程应用  111
3.10 高层次结构:无须显式利用线程的多线程编程  115
3.10.1 并发map  116
3.10.2 map-reduce  118
3.10.3 并发过滤  120
3.10.4 filter-reduce  121
3.10.5 案例研究:多线程存储  122
3.10.6 案例研究:多线程图像匹配  131
第4章 共享内存编程:OpenMP  140
4.1 引言  140
4.2 第一个OpenMP程序  141
4.3 变量作用域  144
4.3.1 定积分OpenMP版本V.0:人工划分  146
4.3.2 定积分OpenMP版本 V.1:无竞争条件的人工划分  147
4.3.3 定积分OpenMP V.2:基于锁的隐式划分  148
4.3.4 定积分OpenMP V.3:基于归约的隐式划分  150
4.3.5 变量作用域总结  151
4.4 循环级并行  152
4.4.1 数据依赖  154
4.4.2 嵌套循环  162
4.4.3 调度  162
4.5 任务并行  166
4.5.1 sections指令  166
4.5.2 task指令  171
4.6 同步结构  177
4.7 正确性与优化问题  183
4.7.1 线程安全  183
4.7.2 假共享  187
4.8 案例研究:OpenMP中的排序算法  192
4.8.1 自下而上归并排序算法的OpenMP实现  192
4.8.2 自上而下归并排序算法的OpenMP实现  195
4.8.3 性能评估  200
第5章 分布式内存编程  203
5.1 通信进程  203
5.2 MPI  204
5.3 核心概念  205
5.4 你的第一个MPI程序  206
5.5 程序体系结构  208
5.5.1 SPMD  208
5.5.2 MPMD  209
5.6 点对点通信  210
5.7 可选的点对点通信模式  214
5.8 非阻塞通信  216
5.9 点对点通信小结  220
5.10 错误报告与处理  220
5.11 集合通信简介  222
5.11.1 分发  226
5.11.2 收集  231
5.11.3 归约  233
5.11.4 多对多收集  237
5.11.5 多对多分发  240
5.11.6 多对多归约  245
5.11.7 全局同步  245
5.12 通信对象  245
5.12.1 派生数据类型  246
5.12.2 打包/解包  253
5.13 节点管理:通信器和组  254
5.13.1 创建组  255
5.13.2 建立内部通信器  257
5.14 单边通信  259
5.14.1 RMA通信函数  261
5.14.2 RMA同步函数  262
5.15 I/O注意事项  270
5.16 MPI多进程和多线程混合编程  276
5.17 时序和性能测量  279
5.18 调试和分析MPI程序  279
5.19 Boost.MPI库  283
5.19.1 阻塞和非阻塞通信  285
5.19.2?数据序列化  289
5.19.3?集合通信  292
5.20 案例研究:有限扩散聚合模型  295
5.21 案例研究:暴力加密破解  300
5.21.1 版本1:“基本型”MPI  300
5.21.2 版本2:MPI与OpenMP的结合  305
5.22 案例研究:主/从式并行模型的MPI实现  308
5.22.1 简单主/从式设置  309
5.22.2 多线程主/从式设置  316
第6章 GPU编程  333
6.1 GPU编程简介  333
6.2 CUDA编程模型:线程、线程块、线程网格  335
6.3 CUDA执行模型:流多处理器和warp  340
6.4 CUDA程序编译过程  344
6.5 构建CUDA项目  347
6.6 内存层次结构  349
6.6.1 本地内存/寄存器  355
6.6.2 共享内存  356
6.6.3 常量内存  363
6.6.4 texture和surface内存  368
6.7 优化技术  369
6.7.1 线程组织设计  369
6.7.2 kernel结构  378
6.7.3 共享内存访问  382
6.7.4 全局内存访问  388
6.7.5 page-locked与zero-copy内存  392
6.7.6 统一内存  394
点击展开 点击收起

—  没有更多了  —

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

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