-
内容大纲
本书是一本深入浅出的CUDA编程实践指南。由CUDA编程领域的资深专家撰写,主要介绍使用C++对NVIDIA GPU进行编程,覆盖了GPU内核与硬件、并行思维与编程、warp和协作组、并行模板、纹理、蒙特卡罗应用等内容,旨在帮助读者快速掌握CUDA编程的核心技能。书中详细介绍了CUDA的基本概念、架构和编程模型,并通过丰富的实战案例和详细解析,指导读者如何编写、优化和调试CUDA程序。本书注重理论与实践相结合,旨在培养读者解决实际问题的能力。无论读者是初学者还是有一定经验的开发者,都能从本书中获益。掌握CUDA编程技能将为读者的职业发展增添重要竞争力,助力读者在科学研究、工程开发、数据分析等领域中脱颖而出。 -
作者介绍
理查德·安索奇(Richard Ansorge)是剑桥大学卡文迪什实验室(Cavendish Laboratory)的荣誉大学高级讲师,也是剑桥大学菲茨威廉学院(Fitzwilliam College)的荣誉导师和研究员。他发表了170多篇经过同行评审的论文,并与他人合著了The Physics and Mathematics of MRI一书。 -
目录
译者序
前言
第1章 GPU内核与硬件介绍
1.1 背景
1.2 第一个CUDA示例
1.3 CPU架构
1.4 CPU的计算能力
1.5 CPU内存管理:利用缓存隐藏延迟
1.6 CPU:并行指令集
1.7 GPU架构
1.7.1 回顾历史
1.7.2 NVIDIA的GPU型号
1.8 Pascal架构
1.9 GPU内存类型
1.10 warp和wave
1.11 线程块与网格
1.12 占用率
第1章 尾注
第2章 并行思维与编程
2.1 Flynn分类法
2.2 内核函数调用语法
2.3 启动三维内核函数
2.4 延迟隐藏和占用率
2.5 并行模式
2.6 并行归约
2.7 共享内存
2.8 矩阵乘法
2.9 分块矩阵乘法
2.10 BLAS
第2章 尾注
第3章 warp和协作组
3.1 协作组中的CUDA对象
3.2 分块分区
3.3 向量加载
3.4 warp级内部函数和子warp
3.5 线程分歧和同步
3.6 避免死锁
3.7 协同组
3.8 HPC特性
第3章 尾注
第4章 并行模板
4.1 二维模板
4.2 二维模板的级联计算
4.3 三维模板
4.4 数字图像处理
4.5 Sobel滤波器
4.6 中值滤波器
第4章 尾注
第5章 纹理
5.1 图像插值
5.2 GPU纹理
5.3 图像旋转
5.4 lerp函数
5.5 纹理硬件
5.6 彩色图像
5.7 图像查看
5.8 立体图像的仿射变换
5.9 三维图像配准
5.10 图像配准结果
第5章 尾注
第6章 蒙特卡罗应用
6.1 简介
6.2 cuRAND库
6.2.1 cuRAND的主机API
6.2.2 cuRAND的设备API
6.3 生成其他分布
6.4 伊辛模型
第6章 尾注
第7章 使用CUDA流和事件的
并发
7.1 并发内核函数执行
7.2 CUDA管道示例
7.3 thrust与cudaDeviceReset
7.4 管道示例的结果
7.5 CUDA事件
7.6 磁盘的开销
7.7 CUDA图
第7章 尾注
第8章 PET扫描仪的应用
8.1 PET简介
8.2 数据存储和扫描仪的几何结构
的定义
8.3 模拟PET扫描仪
8.4 建立系统矩阵
8.5 PET重建
8.6 结果
8.7 OSEM的实现
8.8 交互作用的深度
8.9 使用交互作用的深度的PET
结果
8.10 块探测器
8.11 Richardson-Lucy图像去模糊
第8章 尾注
第9章 扩展
9.1 GPU的选型
9.2 CUDA统一虚拟寻址
9.3 CUDA的P2P访问
9.4 CUDA零拷贝内存
9.5 统一内存
9.6 MPI的简要介绍
第9章 尾注
第10章 性能分析和调试工具
10.1 gpulog示例
10.2 使用nvprof进行分析
10.3 用NVIDIA Visual Profiler进行
分析
10.4 Nsight Systems
10.5 Nsight Compute
10.6 Nsight Compute部分
10.6.1 GPU光速
10.6.2 计算工作负载分析
10.6.3 内存工作负载分析
10.6.4 调度器统计信息
10.6.5 warp状态统计
10.6.6 指令统计信息
10.6.7 启动统计信息
10.6.8 占用率
10.6.9 源计数器
10.7 使用printf进行调试
10.8 通过Microsoft Visual Studio
进行调试
10.9 调试内核函数代码
10.10 内存检查
10.10.1 cuda-memcheck
10.10.2 Linux工具
10.10.3 CUDA计算过滤器
第10章 尾注
第11章 张量核心
11.1 张量核心与FP
11.2 warp矩阵函数
11.3 支持的数据类型
11.4 张量核心的归约算法
11.5 结论
第11章 尾注
附录
附录 A CUDA简史
附录 B 原子操作
附录 C NVCC编译器
附录 D AVX与Intel编译器
附录 E 数字格式
附录 F CUDA文档和库
附录 G CX头文件
附录 H AI和Python
附录 I C++的主题
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...