译者序
推荐序
前言
致谢
第1章 引言
1.1 异构并行计算
1.2 为什么需要速度与并行性
1.3 加快实际应用的速度
1.4 并行编程中的挑战
1.5 相关的并行编程接口
1.6 本书的总体目标
1.7 本书的章节安排
参考文献
第一部分 基本概念
第2章 异构数据并行计算
2.1 数据并行性
2.2 CUDA C程序结构
2.3 向量加法核
2.4 设备全局存储和数据传输
2.5 核函数和线程
2.6 调用核函数
2.7 编译
2.8 总结
2.8.1 函数声明
2.8.2 内核调用和网格启动
2.8.3 内置(预定义)变量
2.8.4 运行时应用程序编程接口
练习
参考文献
第3章 多维网格和数据
3.1 多维网格组织
3.2 将线程映射到多维数据
3.3 图像模糊:更复杂的内核
3.4 矩阵乘法
3.5 总结
练习
第4章 计算架构和调度
4.1 现代GPU架构
4.2 块调度
4.3 同步和透明可扩展性
4.4 线程束和SIMD硬件
4.5 控制发散
4.6 线程束调度和延迟容忍
4.7 资源划分和占用率
4.8 查询设备属性
4.9 总结
练习
参考文献
第5章 内存架构和数据局部性
5.1 内存访问效率的重要性
5.2 CUDA内存类型
5.3 利用平铺减少内存流量
5.4 平铺的矩阵乘法内核
5.5 边界检查
5.6 内存使用对占用率的影响
5.7 总结
练习
第6章 性能方面的考虑
6.1 内存合并
6.2 隐藏内存延迟
6.3 线程粗化
6.4 优化清单
6.5 了解计算瓶颈
……
第二部分 并行模式
第三部分 高级模式及应用
第四部分 高级实践
附录 数值方面的考虑
展开