您好,欢迎来到聚文网。 登录 免费注册
CUDA并行编程实战

CUDA并行编程实战

  • 字数: 601000
  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: (英)理查德·安索奇 著 顾海燕 译
  • 出版日期: 2024-11-01
  • 商品条码: 9787111764632
  • 版次: 1
  • 开本: 32开
  • 页数: 864
  • 出版年份: 2024
定价:¥139 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
CUDA是目前用于GPU编程的主流工具,而GPU是近几十年来最令人振奋的硬件发展成果之一。通过CUDA,你可以用台式计算机去完成原本需要大型计算机集群或高性能计算设施才能完成的工作。因此CUDA在整个科学、技术、工程和数学界的科学计算方面变得越来越重要,包括从医学物理学到金融建模,再到大数据应用等领域。 本书汇集了作者长期开发和使用计算机来获取和分析科学数据的丰富经验,内容翔实。同时,本书也是一本具有创新性的著作,相较于其他同类GPU计算相关的图书,本书提供了更为丰富的示例。作者非常注重紧凑、优雅和高效的C++编码风格,本书配套的示例代码库和支持材料都可以在线获取,读者可以基于这些去构建自己的项目。 通过阅读本书,你将能够: 迅速掌握GPU与CUDA的基础及编程模型。 学习并行编程及背后的思想。 掌握CUDA程序的调试与性能分析技巧。 了解如何将CUDA应用于实战项目中。 提升解决并行计算问题的能力。
内容简介
本书是一本深入浅出的CUDA编程实践指南。由CUDA编程领域的资深专家撰写,主要介绍使用C++对NVIDIA GPU进行编程,覆盖了GPU内核与硬件、并行思维与编程、warp和协作组、并行模板、纹理、蒙特卡罗应用等内容,旨在帮助读者快速掌握CUDA编程的核心技能。书中详细介绍了CUDA的基本概念、架构和编程模型,并通过丰富的实战案例和详细解析,指导读者如何编写、优化和调试CUDA程序。本书注重理论与实践相结合,旨在培养读者解决实际问题的能力。无论读者是初学者还是有一定经验的开发者,都能从本书中获益。掌握CUDA编程技能将为读者的职业发展增添重要竞争力,助力读者在科学研究、工程开发、数据分析等领域中脱颖而出。
目录
译者序
前言
第1章GPU内核与硬件介绍1
1.1背景1
1.2第一个CUDA示例2
1.3CPU架构9
1.4CPU的计算能力10
1.5CPU内存管理:利用缓存隐藏延迟11
1.6CPU:并行指令集13
1.7GPU架构13
1.7.1回顾历史13
1.7.2NVIDIA的GPU型号14
1.8Pascal架构14
1.9GPU内存类型16
1.10warp和wave17
1.11线程块与网格18
1.12占用率19
第1章尾注20
第2章并行思维与编程21
2.1Flynn分类法21
2.2内核函数调用语法28
2.3启动三维内核函数29
2.4延迟隐藏和占用率35
2.5并行模式36
2.6并行归约37
2.7共享内存48
2.8矩阵乘法51
2.9分块矩阵乘法58
2.10BLAS62
第2章尾注66
第3章warp和协作组68
3.1协作组中的CUDA对象71
3.2分块分区75
3.3向量加载81
3.4warp级内部函数和子warp84
3.5线程分歧和同步85
3.6避免死锁87
3.7协同组91
3.8HPC特性97
第3章尾注98
第4章并行模板100
4.1二维模板100
4.2二维模板的级联计算112
4.3三维模板116
4.4数字图像处理119
4.5Sobel滤波器127
4.6中值滤波器127
第4章尾注132
第5章纹理133
5.1图像插值134
5.2GPU纹理135
5.3图像旋转137
5.4lerp函数138
5.5纹理硬件141
5.6彩色图像146
5.7图像查看148
5.8立体图像的仿射变换151
5.9三维图像配准156
5.10图像配准结果164
第5章尾注166
第6章蒙特卡罗应用167
6.1简介167
6.2cuRAND库173
6.2.1cuRAND的主机API173
6.2.2cuRAND的设备API178
6.3生成其他分布184
6.4伊辛模型186
第6章尾注194
第7章使用CUDA流和事件的并发196
7.1并发内核函数执行196
7.2CUDA管道示例198
7.3thrust与cudaDeviceReset202
7.4管道示例的结果203
7.5CUDA事件205
7.6磁盘的开销212
7.7CUDA图219
第7章尾注224
第8章PET扫描仪的应用225
8.1PET简介225
8.2数据存储和扫描仪的几何结构的定义227
8.3模拟PET扫描仪233
8.4建立系统矩阵244
8.5PET重建246
8.6结果250
8.7OSEM的实现252
8.8交互作用的深度254
8.9使用交互作用的深度的PET结果257
8.10块探测器258
8.11Richardson-Lucy图像去模糊268
第8章尾注273
第9章扩展276
9.1GPU的选型278
9.2CUDA统一虚拟寻址281
9.3CUDA的P2P访问282
9.4CUDA零拷贝内存284
9.5统一内存285
9.6MPI的简要介绍295
第9章尾注305
第10章性能分析和调试工具306
10.1gpulog示例306
10.2使用nvprof进行分析311
10.3用NVIDIA Visual Profiler进行分析314
10.4Nsight Systems316
10.5Nsight Compute319
10.6Nsight Compute部分320
10.6.1GPU光速320
10.6.2计算工作负载分析321
10.6.3内存工作负载分析322
10.6.4调度器统计信息323
10.6.5warp状态统计323
10.6.6指令统计信息324
10.6.7启动统计信息324
10.6.8占用率326
10.6.9源计数器327
10.7使用printf进行调试328
10.8通过Microsoft Visual Studio进行调试330
10.9调试内核函数代码332
10.10内存检查334
10.10.1cuda-memcheck334
10.10.2Linux工具336
10.10.3CUDA计算过滤器336
第10章尾注337
第11章张量核心338
11.1张量核心与FP16338
11.2warp矩阵函数340
11.3支持的数据类型345
11.4张量核心的归约算法346
11.5结论351
第11章尾注351
附录352
附录ACUDA简史352
附录B原子操作361
附录CNVCC编译器366
附录DAVX与Intel编译器372
附录E数字格式380
附录FCUDA文档和库384
附录GCX头文件387
附录HAI和Python410
附录IC++的主题413

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网