×
暂无评论
图文详情
  • ISBN:9787302446422
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:32开
  • 页数:416
  • 出版时间:2016-09-01
  • 条形码:9787302446422 ; 978-7-302-44642-2

本书特色

本书**篇系统地介绍GPU编程的相关知识,帮助读者快速入门,并构建GPU知识体系;第二篇和第三篇给出大量实例,对每个实例进行循序渐进的并行和优化实践,为读者提供GPU编程和优化参考;第四篇总结影响GPU性能的关键要素(执行核心和存储体系),量化测评GPU的核心性能参数,给出CPU/GPU异构系统上覆盖完全的各种混合并行模式及其实践,帮助读者真正透彻理解GPU。 本书适合作为计算机及相关专业的教材,也可作为GPU程序开发人员和科研人员的参考书。本书封面贴有清华大学出版社防伪标签,无标签者不得销售。

内容简介

本书**篇系统地介绍GPU编程的相关知识,帮助读者快速入门,并构建GPU知识体系;第二篇和第三篇给出大量实例,对每个实例进行循序渐进的并行和优化实践,为读者提供GPU编程和优化参考;第四篇总结影响GPU性能的关键要素(执行核心和存储体系),量化测评GPU的核心性能参数,给出CPU/GPU异构系统上覆盖完全的各种混合并行模式及其实践,帮助读者真正透彻理解GPU。 本书适合作为计算机及相关专业的教材,也可作为GPU程序开发人员和科研人员的参考书。本书封面贴有清华大学出版社防伪标签,无标签者不得销售。

目录

目录 **篇理论篇 第1章高性能计算概述3 1.1高性能计算概念辨析3 1.1.1并行计算、高性能计算和超级计算3 1.1.2超级计算机与超级计算中心4 1.2计算科学5 1.3高性能计算发展史5 1.4高性能计算简介6 1.5向量机与阵列机8 1.6本章小结9 第2章GPU概述10 2.1GPU是什么10 2.2协处理器10 2.3GPU与显卡的关系11 2.4GPU/显卡购买注意事项11 2.5为什么要学GPU编程12 2.6GPU与CPU辨析13 2.7GPU发展简史14 2.8GPU编程方法14 2.9CPU/GPU异构系统16 第3章GPU硬件架构17 3.1GPU架构17 3.1.1Tesla架构18 3.1.2Fermi架构20 3.1.3Kepler架构21 3.1.4Maxwell架构23 3.1.5Pascal架构243.2Kernel的硬件映射28 3.3GPU存储体系29 3.4GPU计算能力30 GPU编程与优化——大众高性能计算目录第4章GPU软件体系33 4.1GPU软件生态系统33 4.2CUDA Toolkit34 4.2.1NVCC编译器34 4.2.2cuobjdump35 4.3CUDA环境安装36 4.3.1Windows 7安装CUDA 4.236 4.3.2Linux下安装CUDA38 第5章CUDA C编程41 5.1CUDA编程模型41 5.2CUDA编程七步曲42 5.3驱动API与运行时API42 5.4CUDA运行时函数43 5.4.1设备管理函数43 5.4.2存储管理函数45 5.4.3数据传输函数48 5.4.4线程管理函数51 5.4.5流管理函数52 5.4.6事件管理函数52 5.4.7纹理管理函数53 5.4.8执行控制函数55 5.4.9错误处理函数55 5.4.10图形学互操作函数57 5.4.11OpenGL互操作函数58 5.4.12Direct3D互操作函数59 5.5CUDA C语言扩展60 5.6gridblockthread三维模型61 第二篇入门篇 第6章向量加法67 6.1向量加法及其串行代码67 6.2单block单thread向量加68 6.3单block多thread向量加68 6.4多block多thread向量加69 6.5CUBLAS库向量加法70 6.6实验结果分析与结论71 6.6.1本书实验平台71 6.6.2实验结果71 6.6.3结论71 6.7知识点总结72 6.8扩展练习75 第7章归约: 向量内积76 7.1向量内积及其串行代码76 7.2单block分散归约向量内积77 7.3单block低线程归约向量内积78 7.4多block向量内积(CPU二次归约)79 7.5多block向量内积(GPU二次归约)81 7.6基于原子操作的多block向量内积81 7.7计数法实现多block向量内积84 7.8CUBLAS库向量内积85 7.9实验结果与结论86 7.9.1实验结果86 7.9.2结论86 7.10归约的深入优化探讨87 7.10.1block数量和thread数量对归约性能的影响87 7.10.2算术运算优化88 7.10.3减少同步开销89 7.10.4循环展开90 7.10.5总结91 7.11知识点总结91 7.12扩展练习94 第8章矩阵乘法95 8.1矩阵乘法及其3种串行代码95 8.1.1一般矩阵乘法95 8.1.2循环交换矩阵乘法97 8.1.3转置矩阵乘法98 8.1.4实验结果与*优串行矩阵乘99 8.2grid线程循环矩阵乘法100 8.3block线程循环矩阵乘法101 8.4行共享存储矩阵乘法101 8.5棋盘阵列矩阵乘法103 8.6判断移除105 8.7CUBLAS矩阵乘法106 8.8实验结果分析与结论108 8.8.1矩阵乘精度分析108 8.8.2实验结果分析110 8.8.3浮点运算能力分析111 8.9行共享存储矩阵乘法改进111 8.10知识点总结113 8.11扩展练习115 第9章矩阵转置116 9.1矩阵转置及其串行代码116 9.21D矩阵转置117 9.32D矩阵转置118 9.4共享存储2D矩阵转置119 9.5共享存储2D矩阵转置diagonal优化120 9.6实验结果分析与结论121 9.7共享存储2D矩阵转置的深入优化122 9.8知识点总结124 9.9扩展练习125 第三篇提高篇 第10章卷积129 10.1卷积及其串行实现129 10.1.1一维卷积129 10.1.2二维卷积131 10.2GPU上1D卷积134 10.3M常量1D卷积135 10.4M共享1D卷积136 10.5N共享1D卷积137 10.6实验结果分析139 10.6.1扩展法1D卷积实验结果分析139 10.6.2判断法与扩展法1D卷积对比140 10.6.3加速比分析141 10.6.4线程维度对性能的影响141 10.72D卷积的GPU移植与优化142 10.7.1GPU上2D卷积142 10.7.2M常量2D卷积143 10.7.3M常量N共享2D卷积143 10.7.42D卷积实验结果分析145 10.8知识点总结145 10.9扩展练习147 第11章曼德博罗特集148 11.1曼德博罗特集及其串行实现148 11.2曼德博罗特集的GPU映射150 11.3一些优化尝试及效果152 11.3.1访存连续152 11.3.2uchar4访存合并153 11.3.34种零拷贝153 11.3.4总结分析155 11.4计算通信重叠优化156 11.5突破kernel执行时间限制159 11.6知识点总结160 11.7扩展练习162 第12章扫描: 前缀求和163 12.1前缀求和及其串行代码163 12.2KoggeStone并行前缀和164 12.2.1直接KoggeStone分段前缀和164 12.2.2交错KoggeStone分段前缀和165 12.2.3完整KoggeStone前缀和166 12.3BrentKung并行前缀和168 12.3.1BrentKung分段前缀和169 12.3.2两倍数据的BrentKung分段前缀和170 12.3.3避免bank conflict的两倍数据BrentKung分段前缀和171 12.3.4完整BrentKung前缀和173 12.4warp分段的KoggeStone前缀求和174 12.5实验结果分析与结论177 12.6知识点总结179 12.7扩展练习180第13章排序181 13.1串行排序及其性能181 13.1.1选择排序181 13.1.2冒泡排序182 13.1.3快速排序182 13.1.4基数排序183 13.1.5双调排序网络185 13.1.6合并排序186 13.1.7串行排序性能对比187 13.2基数排序188 13.2.1基数排序概述188 13.2.2单block基数排序189 13.2.3基于thrust库的基数排序196 13.3双调排序网络197 13.3.1双调排序网络概述197 13.3.2单block双调排序网络199 13.3.3多block双调排序网络202 13.4快速排序206 13.5合并排序207 13.6实验结果分析与结论208 13.7知识点总结209 13.8扩展练习210 第14章几种简单图像处理211 14.1图像直方图统计211 14.1.1串行直方图统计211 14.1.2并行直方图统计211 14.1.3实验结果与分析212 14.2中值滤波213 14.2.1串行中值滤波214 14.2.21D并行中值滤波215 14.2.3共享1D中值滤波216 14.2.4双重共享1D中值滤波218 14.2.52D并行中值滤波221 14.2.6共享2D中值滤波222 14.2.7共享2D中值滤波的改进227 14.2.8实验结果与分析229 14.3均值滤波231 14.3.1串行均值滤波231 14.3.2并行均值滤波232 14.3.3实验结果与分析233 第四篇核心篇 第15章GPU执行核心237 15.1概述237 15.2算术运算支持238 15.2.1整数运算238 15.2.2浮点运算239 15.3算术运算性能240 15.4分支处理242 15.5同步与测时246 15.5.1同步246 15.5.2测时247 15.6数学函数247 15.7warp与block原语249 15.7.1warp原语249 15.7.2block原语250 15.8kernel启动、线程切换和循环处理251 第16章GPU存储体系254 16.1概述254 16.2寄存器259 16.3局部存储261 16.4共享存储器264 16.4.1共享存储使用264 16.4.2bank conflict265 16.4.3volatile关键字266 16.4.4共享存储原子操作267 16.5常量存储268 16.6全局存储269 16.6.1全局存储的使用269 16.6.2全局存储的合并访问271 16.6.3利用纹理缓存通道访问全局存储271 16.7纹理存储273 16.7.1CUDA数组273 16.7.2纹理存储的操作和限制274 16.7.3读取模式、纹理坐标、滤波模式和寻址模式276 16.7.4表面存储278 16.8主机端内存281 16.9零拷贝操作283 第17章GPU关键性能测评284 17.1GPU性能测评概述284 17.2GPU参数获取286 17.2.1GPU选择286 17.2.2详细设备参数获取287 17.3精确测时方法汇总288 17.3.1clock测时289 17.3.2gettimeofday测时289 17.3.3CUDA事件测时289 17.3.4cutil库函数测时290 17.4GPU预热与启动开销290 17.5GPU浮点运算能力291 17.6GPU访存带宽293 17.7GPU通信带宽295 17.8NVIDIA Visual Profiler296 17.9程序性能对比约定298 第18章CPUs和GPUs协同299 18.1协同优化基点299 18.1.1CPU并行矩阵乘基点299 18.1.2GPU并行矩阵乘基点300 18.2CPU/GPU协同300 18.3多GPU协同305 18.3.1CUDA版本306 18.3.2OpenMP+CUDA308 18.3.3MPI+CUDA311 18.4CPUs/GPUs协同314 18.4.1CUDA版本314 18.4.2OpenMP+CUDA319 18.4.3MPI+OpenMP+CUDA324 18.5本章小结329 附录 附录A判断法1D卷积代码333 附录A.1判断法1D卷积basic版333 附录A.2判断法1D卷积constant版334 附录A.3判断法1D卷积shared版336 附录A.4判断法1D卷积cache版337 附录B曼德博罗特集的系列优化代码340 附录B.1完整版串行C代码340 附录B.2cuda_1_0343 附录B.3cuda_0_2345 附录B.4cuda_zerocopy346 附录B.5cuda_1_0_zerocopy348 附录B.6cuda_0_0_zerocopy349 附录B.7cuda_0_2_zerocopy351 附录B.8cuda_2352 附录B.9cuda_1_2354 附录C几种图像处理完整源码357 附录C.1BMP图像读写头文件357 附录C.2图像直方图串行代码373 附录C.3串行中值滤波代码374 附录C.4并行均值滤波相关代码376 附录Dnvprof帮助菜单383 附录ENVCC帮助菜单388 附录F几种排序算法源代码399 附录F.1bitonic_sort_block函数399 附录F.2GPU快速排序完整代码400 附录F.3GPU合并排序完整代码408 参考文献417
展开全部

作者简介

方民权 国防科学技术大学计算机科学与技术专业博士,研究方向是高性能计算、异构计算,涉及领域包括遥感图像处理、计算微电子学、声呐信号处理和地震模拟等。张卫民 博士,研究员,博士生导师,任国防科学技术大学海洋科学与工程研究院总工程师、湖南省气象协会副理事长、湖南省计算数学协会理事,研究方向是数值天气预报、海洋环境数值模拟、卫星资料、并行算法,科研成果获部委级一等奖7项、二等奖8项、三等奖1项,出版著作5部,发表论文80余篇。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航