• {正版现货新书} 大规模并行处理器程序设计(原书第4版) 9787111772767 [美]胡文美,[美]David B.Kirk,[黎巴嫩]伊扎特·埃尔·哈吉

{正版现货新书} 大规模并行处理器程序设计(原书第4版) 9787111772767 [美]胡文美,[美]David B.Kirk,[黎巴嫩]伊扎特·埃尔·哈吉

全新正版现货,以书名为准,放心购买,购书咨询18515909251朱老师

70.43 5.9折 119 全新

库存86件

北京丰台

作者[美]胡文美,[美]David B.Kirk,[黎巴嫩]伊扎特·埃尔·哈吉

出版社机械工业出版社

ISBN9787111772767

出版时间2025-03

装帧平装

开本16开

定价119元

货号18013930

上书时间2025-12-11

   商品详情   

品相描述:全新
商品描述
目录
目  录<br />Programming Massively Parallel Processors: A Hands-on Approach, Fourth Edition<br />译者序<br />推荐序<br />前言<br />致谢<br />第1章 引言 1<br />1.1 异构并行计算 2<br />1.2 为什么需要速度与并行性 5<br />1.3 加快实际应用的速度 6<br />1.4 并行编程中的挑战 7<br />1.5 相关的并行编程接口 8<br />1.6 本书的总体目标 9<br />1.7 本书的章节安排 10<br />参考文献 12<br />第一部分 基本概念<br />第2章 异构数据并行计算 14<br />2.1 数据并行性 14<br />2.2 CUDA C程序结构 16<br />2.3 向量加法核 17<br />2.4 设备全局存储和数据传输 19<br />2.5 核函数和线程 22<br />2.6 调用核函数 25<br />2.7 编译 27<br />2.8 总结 27<br />2.8.1 函数声明 27<br />2.8.2 内核调用和网格启动 27<br />2.8.3 内置(预定义)变量 28<br />2.8.4 运行时应用程序编程接口 28<br />练习 28<br />参考文献 30<br />第3章 多维网格和数据 31<br />3.1 多维网格组织 31<br />3.2 将线程映射到多维数据 33<br />3.3 图像模糊:更复杂的内核 38<br />3.4 矩阵乘法 41<br />3.5 总结 44<br />练习 44<br />第4章 计算架构和调度 46<br />4.1 现代GPU架构 46<br />4.2 块调度 47<br />4.3 同步和透明可扩展性 47<br />4.4 线程束和SIMD硬件 49<br />4.5 控制发散 53<br />4.6 线程束调度和延迟容忍 55<br />4.7 资源划分和占用率 56<br />4.8 查询设备属性 58<br />4.9 总结 60<br />练习 60<br />参考文献 61<br />第5章 内存架构和数据局部性 62<br />5.1 内存访问效率的重要性 62<br />5.2 CUDA内存类型 64<br />5.3 利用平铺减少内存流量 68<br />5.4 平铺的矩阵乘法内核 70<br />5.5 边界检查 74<br />5.6 内存使用对占用率的影响 76<br />5.7 总结 78<br />练习 78<br />第6章 性能方面的考虑 81<br />6.1 内存合并 81<br />6.2 隐藏内存延迟 87<br />6.3 线程粗化 91<br />6.4 优化清单 93<br />6.5 了解计算瓶颈 96<br />6.6 总结 96<br />练习 96<br />参考文献 97<br />第二部分 并行模式<br />第7章 卷积:常量内存和缓存 100<br />7.1 背景 100<br />7.2 并行卷积:一种基本算法 103<br />7.3 常量内存和缓存:概念与实例 105<br />7.4 边缘单元平铺卷积 108<br />7.5 使用边缘单元缓存的平铺卷积 111<br />7.6 总结 113<br />练习 113<br />第8章 模板 115<br />8.1 背景 115<br />8.2 并行模板:基本算法 118<br />8.3 用于模板扫描的共享内存平铺 119<br />8.4 线程粗化 121<br />8.5 寄存器平铺 123<br />8.6 总结 125<br />练习 125<br />第9章 并行直方图:原子操作和<br />私有化 126<br />9.1 背景 126<br />9.2 原子操作与基本直方图内核 128<br />9.3 原子操作的延迟和吞吐量 131<br />9.4 私有化 132<br />9.5 粗化 134<br />9.6 聚合 137<br />9.7 总结 138<br />练习 138<br />参考文献 139<br />第10章 归约和最小化发散 140<br />10.1 背景 140<br />10.2 归约树 141<br />10.3 一个简单的归约内核 143<br />10.4 最小化控制发散 145<br />10.5 最小化内存发散 148<br />10.6 最小化全局内存访问 149<br />10.7 对任意输入长度进行分层归约 150<br />10.8 利用线程粗化减少开销 152<br />10.9 总结 154<br />练习 154<br />第11章 前缀和(扫描):并行算法的工作效率 156<br />11.1 背景 156<br />11.2 基于Kogge-Stone算法的并行<br />扫描 158<br />11.3 关于速度与工作效率的考虑 162<br />11.4 基于Brent-Kung算法的并行<br />扫描 163<br />11.5 利用粗化提高工作效率 167<br />11.6 任意长度输入的分段并行扫描 168<br />11.7 利用单次扫描提高内存访问<br />效率 171<br />11.8 总结 172<br />练习 173<br />参考文献 173<br />第12章 归并:动态输入数据<br />识别 175<br />12.1 背景 175<br />12.2 串行归并算法 176<br />12.3 并行化方法 177<br />12.4 共秩函数的实现 178<br />12.5 基本并行归并内核 182<br />12.6 用于改进内存合并的平铺归并<br />内核 183<br />12.7 循环缓冲区归并内核 187<br />12.8 用于归并的线程粗化 192<br />12.9 总结 192<br />练习 193<br />参考文献 193<br />第三部分 高级模式及应用<br />第13章 排序 196<br />13.1 背景 196<br />13.2 基数排序 197<br />13.3 并行基数排序 198<br />13.4 内存合并优化 200<br />13.5 基值的选择 202<br />13.6 利用线程粗化改善合并 204<br />13.7 并行归并排序 205<br />13.8 其他并行排序方法 205<br />13.9 总结 206<br />练习 207<br />参考文献 207<br />第14章 稀疏矩阵计算 208<br />14.1 背景 208<br />14.2 具有COO格式的简单SpMV<br />内核 209<br />14.3 利用CSR格式分组非零行 211<br />14.4 利用ELL格式改善内存合并 213<br />14.5 利用混合ELL-COO格式调节<br />填充 216<br />14.6 利用JDS格式减少控制发散 217<br />14.7 总结 219<br />练习 219<br />参考文献 220<br />第15章 图遍历 221<br />15.1 背景 221<br />15.2 广度优先搜索 223<br />15.3 以顶点为中心的广度优先搜索<br />并行化 225<br />15.4 以边为中心的广度优先搜索<br />并行化 228<br />15.5 利用边界提高效率 230<br />15.6 利用私有化减少争用 232<br />15.7 其他优化 233<br />15.7.1 减少启动开销 233<br />15.7.2 优化负载均衡 234<br />15.7.3 进一步的挑战 234<br />15.8 总结 235<br />练习 235<br />参考文献 236<br />第16章 深度学习 237<br />16.1 背景 237<br />16.1.1 多层分类器 239<br />16.1.2 训练模型 241<br />16.2 卷积神经网络 244<br />16.2.1 卷积神经网络推理 245<br />16.2.2 卷积神经网络反向传播 248<br />16.3 卷积层:CUDA推理内核 252<br />16.4 卷积层的GEMM表示 254<br />16.5 CUDNN库 258<br />16.6 总结 259<br />练习 260<br />参考文献 260<br />第17章 迭代式磁共振成像重建 261<br />17.1 背景 261<br />17.2 迭代式重建 263<br />17.3 计算FHD 264<br />17.3.1 第1步:确定核函数的<br />并行结构 265<br />17.3.2 第2步:克服内存带宽<br />限制 269<br />17.3.3 第3步:使用硬件三角<br />函数 273<br />17.3.4 第4步:实验性能调优 275<br />17.4 总结 275<br />练习 275<br />参考文献 276<br />第18章 静电势能图 277<br />18.1 背景 277<br />18.2 核函数设计:分散法与聚集法 278<br />18.3 线程粗化 281<br />18.4 内存合并 283<br />18.5 用于数据尺寸可扩展性的截断<br />分箱 284<br />18.6 总结 288<br />练习 288<br />参考文献 288<br />第19章 并行编程与计算思维 289<br />19.1 并行计算的目标 289<br />19.2  算法选择 291<br />19.3 问题分解 293<br />19.4 计算思维 295<br />19.5 总结 296<br />参考文献 296<br />第四部分 高级实践<br />第20章 异构计算集群编程:<br />CUDA流 298<br />20.1 背景 298<br />20.2 一个运行示例 298<br />20.3 MPI基础 300<br />20.4 点对点通信的MPI 302<br />20.5 计算与通信的重叠 307<br />20.6 MPI集体通信接口 313<br />20.7 CUDA感知的MPI 313<br />20.8 总结 313<br />练习 314<br />参考文献 314<br />第21章 CUDA动态并行性 315<br />21.1 背景 315<br />21.2 动态并行性概述 316<br />21.3 示例:贝塞尔曲线 318<br />21.3.1 线性贝塞尔曲线 319<br />21.3.2 二次贝塞尔曲线 319<br />21.3.3 贝塞尔曲线计算(不使用<br />动态并行性) 319<br />21.3.4 贝塞尔曲线计算(使用动态<br />并行性) 320<br />21.4 递归示例:四叉树 321<br />21.5 重要注意事项 326<br />21.5.1 内存和数据可见性 326<br />21.5.2 待处理启动池配置 327<br />21.5.3 流 327<br />21.5.4 嵌套深度 328<br />21.6 总结 328<br />练习 328<br />参考文献 329<br />附录 四叉树示例的支持代码 329<br />第22章 高级实践与未来演变 332<br />22.1 主机/设备交互模型 332<br />22.1.1 零拷贝内存及统一虚拟<br />地址空间 333<br />22.1.2 大型虚拟和物理地址空间 334<br />22.1.3 统一内存 334<br />22.1.4 虚拟地址空间控制 336<br />22.2 内核执行控制 336<br />22.2.1 核函数中的函数调用 336<br />22.2.2 核函数中的异常处理 337<br />22.2.3 多个网格的同时执行 337<br />22.2.4 硬件队列和动态并行性 337<br />22.2.5 可中断的网格 337<br />22.2.6 合作内核 338<br />22.3 内存带宽和计算吞吐量 338<br />22.3.1 双精度速度 338<br />22.3.2 更好的控制流效率 338<br />22.3.3 可配置缓存和暂存内存 338<br />22.3.4 增强的原子操作 339<br />22.3.5 增强的全局内存访问 339<br />22.4 编程环境 339<br />22.4.1 统一设备内存空间 339<br />22.4.2 使用关键路径分析进行性能<br />分析 340<br />22.5 展望未来 341<br />参考文献 341<br />第23章 结论与展望 342<br />23.1 目标回顾 342<br />23.2 未来展望 343<br />附录 数值方面的考虑 345

内容摘要
本书内容简洁、直观、实用,强调计算思维能力和并行编程技巧。本书主要分为四个部分:第 一部分介绍异构并行计算编程的基础概念,包括数据并行化、GPU架构、CUDA编程及程序性能优化方法等内容;第二部分介绍并行模式,包括卷积、模板、并行直方图、归约、前缀和、归并等内容;第三部分介绍高级模式及应用,包括排序、稀疏矩阵计算、图遍历、深度学习、迭代式磁共振成像重建、静电势能图和计算思维等内容;第四部分介绍高级编程实践,包括异构计算集群编程、CUDA动态并行化等内容。本书不仅适合高等院校计算机相关专业的学生学习,也适合并行计算领域的技术人员参考。

主编推荐
第4版重要更新:
·增加关于CUDA的新内容,包括较新的库,如CUDNN。
·新增关于常用并行模式(模板、归约、排序)的章节,并对之前的章节(卷积、直方图、稀疏矩阵、图遍历、深度学习)进行了全面更新。
·新增一章专门讨论GPU架构,包含Ampere等新的架构示例。
·优化关于问题分解策略和性能方面的讨论,增加新的优化检查清单。

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

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