您好,欢迎来到聚文网。 登录 免费注册
CUDA高性能并行计算

CUDA高性能并行计算

以清晰、简明的方式讲解CUDA编程*为核心的内容,包含大量实用代码示例,可帮助读者借助CUDA实现程序加速
  • 装帧: 平装
  • 出版社: 机械工业出版社
  • 作者: (美)杜安·斯托尔蒂(Duane Storti),(土)梅特·尤尔托卢(Mete Yurtoglu) 著;苏统华 等 译
  • 出版日期: 2017-02-01
  • 商品条码: 9787111557494
  • 版次: 1
  • 开本: 16开
  • 页数: 256
  • 出版年份: 2017
定价:¥79 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
本书以清晰简明的方式介绍了CUDAC编程的核心知识,始于运行CUDA样例程序,快速引导读者构建自己的代码。自始至终,你可以通过亲手创建、运行和修改书中的示例程序进行体验式教学。书中配备的实践项目用以加深和巩固你的理解。
作者简介
杜安·斯托尔蒂,1984年从康奈尔大学获得理论和应用机械学博士学位,现任教于华盛顿大学西雅图校区机械工程系,从事工程数学、动力学与振动、计算机辅助设计、3D打印以及GPU计算方面的教学和研究工作。
梅特·尤尔托卢,2008年获得土耳其伊斯坦布尔海峡大学物理学和机械工程学学士学位。他的研究方向为基于GPU的计算机视觉与机器学习算法。
苏统华,副教授,晗尔滨工业大学软件学院硕士生导师,GPU研究中心及GPU教育中心负责人,英伟达中国首批CUDA官方认证工程师。主要研究领域包括大规模并行计算、模式识别、物联网大数据智能信息处理、智能媒体交互与计算等。著有英文专著《Chinese Handwriting Recognition:An Algorithmic Perspective》(由德国施普林格出版社出版),并有CUDA相关译著3本(由机械工业出版社出版)。
目录
本书赞誉
致谢
第0章本书导读1
0.1什么是CUDA1
0.2学习CUDA的“须知”2
0.3本书的读者对象3
0.4学习CUDA的必备3
0.5本书的组织结构4
0.6本书体例5
0.7本书代码6
0.8用户指南7
0.9历史沿革8
参考文献9
第1章起步10
1.1运行CUDA样例程序10
1.1.1在Windows下运行CUDA样例程序11
1.1.2在Linux下运行CUDA样例程序13
1.1.3估计“加速效果”13
1.2运行我们自己的串行程序14
1.2.1dist_v1应用15
1.2.2dist_v2应用16
1.3本章小结18
1.4推荐项目18
第2章CUDA基础知识19
2.1CUDA并行模式19
2.2需要知道的CUDAAPI和C语言拓展21
2.3本章小结23
2.4推荐项目23
参考文献24
第3章从循环到网格25
3.1并行化dist_v125
3.2并行化dist_v229
3.3标准操作流程33
3.4简化操作流程33
3.4.1统一内存和托管数组34
3.4.2使用cudaMallocManaged()实现的距离应用34
3.5本章小结36
3.6推荐项目37
参考文献38
第4章二维网格与交互式图形39
4.1启动二维计算网格40
4.1.1二维内核启动的语法41
4.1.2定义二维内核41
4.1.3dist_2d43
4.2通过图形交互实时显示45
4.3stability应用程序54
4.4本章小结62
4.5推荐项目62
参考文献62
第5章模板与共享内存64
5.1线程间依赖64
5.2一维网格上的导数计算66
5.2.1实现dd_ld_global66
5.2.2实现dd_ld_shared69
5.2.3解决二维拉普拉斯方程:heat_2d72
5.2.4图像边缘锐化:sharpen83
5.3本章小结96
5.4推荐项目97
参考文献98
第6章归约与原子操作99
6.1全局交互的线程99
6.2实现parallel_dot100
6.3计算整体属性:centroid_2d106
6.4本章小结113
6.5推荐项目113
参考文献114
第7章三维数据交互115
7.1计算三维网格数据:dist_3d117
7.2查看三维数据并与之交互:vis_3d119
7.2.1切片法121
7.2.2体绘制法124
7.2.3光线投射法124
7.2.4创建vis_3d应用126
7.3本章小结139
7.4推荐项目139
参考文献140
第8章CUDA函数库实践141
8.1自定义的与现有的141
8.2Thrust库143
8.2.1使用inner_product()计算向量的模144
8.2.2使用transform()计算距离147
8.2.3使用generate()、transform()以及reduce()对的值进行估计151
8.3cuRAND库156
8.4NPP库158
8.4.1sharpen_npp159
8.4.2更多使用NPP进行的图像处理操作163
8.5线性代数中的cuSOLVER和cuBLAS实践166
8.6cuDNN库170
8.7ArrayFire库171
8.8本章小结171
8.9推荐项目171
参考文献172
第9章探索CUDA生态系统174
9.1主要资源的权威列表174
9.1.1CUDA空间174
9.1.2其他的主要网络资源175
9.1.3在线课程176
9.1.4CUDA书籍176
9.2更多资源179
9.2.1CUDA样例179
9.2.2CUDA语言和库179
9.2.3更多的CUDA书籍179
9.3本章小结180
9.4推荐项目180
附录A硬件设置182
附录B软件设置189
附录CC语言编程须知201
附录DCUDA实践技巧:计时、性能分析、错误处理与调试229
摘要
Praise  本书赞誉FORTRAN(盛行于20世纪60年代)是最早允许我们在大型机上编程的语言。之后是BASIC(流行于20世纪80年代)赋予我们为第一批微型计算机编写程序的能力。现在轮到CUDA,让我们可以为超级微型计算机编写程序。    本书介绍的技术能够帮助工程和数学等领域的研究者以超越微机100倍的速度执行计算任务。这使新的计算任务得以完成,也使本书得以成为颠覆传统规则的教程。    —Richard H. Rand,康奈尔大学机械与航空航天工程系教授、数学系教授本书结构合理,内容实用,能够帮助读者快速体验CUDA并行编程并即时得到结果。本书围绕不同科学和工程问题,展示了GPU编程的魅力。书中提供了优秀的示例程序和项目练习,让人读之愉悦。    —Mark Staveley博士,微软Azure高性能计算高级项目经理本书名副其实,手把手教授读者基本概念、核心策略、关键术语和典型示例。这些内容有机构成的教学体系以老道而深入的方式介绍高性能计算。本书同时适用于专家和普通读者。    —Joseph M. Iaquinto博士,VA Puget Sound公司研究专家本书体现的实用性与我为工程师讲授数值方法课程的教学方法具有惊人的一致性。本书将为工程专业的学生以及程序员补充新的数值计算工具箱,使他们能够基于CUDA进行高性能科学计算。对于有一定编程基础的CUDA初学者,本书堪称完美。建议读者遵从作者的建议,尽早好好练习实践项目。践行本书的理论,你将可以熟练应对GPU计算方面的项目,进入CUDA开发者行列。    —Lorena A. Barba,乔治华盛顿大学机械与航空航天工程系副教授致  谢  Acknowledgements我们需要向很多人致谢,没有他们也就没有这本书。    感谢我们的家人,在写作本书的过程中,我们对他们时有忽略。谢谢Laura Lewin和Pearson公司的所有人,他们为本书的编辑、出版和营销做了大量努力。多谢《CUDA专家手册:GPU编程权威指南》一书的作者Nicholas Wilt先生(曾任职于英伟达公司,现任职于亚马逊公司),是他建议我们与Laura联系,最终促成了本书的出版。同样需要感谢英伟达公司的Thomas Bradley、微软公司的Mark Staveley和康奈尔大学的Richard Rand,作为技术评审专家,他们提供了颇具建设性的评论、校正和见解。    谢谢华盛顿大学西雅图校区机械工程系的同事们。他们与我们上聊科技大势下聊底层技术细节,为本书贡献了素材。这些同事包括却不仅限于Mark Ganter、Di Zhang、Ben Weiss等人。他们帮本书绘制了多幅图片并提供了多个好用的软件帮我们制作标签和自动排版代码。我们也要感谢机械工程系系主任Per Reinhall,是他批准了我们的课程申请,正是这门课促使我们编写了本书的很多内容。另外要感谢同校放射科的David Haynor和西雅图VA医院的William Ledoux,他们的研究项目持续围绕着CUDA相关的技术探索。    特别感谢英伟达公司的员工们。包括首席执行官黄仁勋,他一直坚信并热情坚持基于GPU的并行计算;学术项目经理Chandra Cheij;高等教育与医疗行业主任Kimberly Powell;给我们帮助和启迪的CUDA大师Jon Saposhnik和Bob Crovella。最后同样的感谢送给战略营销主任Jay White,他长期支持西雅图地区的GPU计算交流会并是我们聚会的召集人。    我们还要感谢所有的学生。他们敢于参加华盛顿大学早期的CUDA课程,颇有冒险精神。特别是已毕业的硕士生Grant Marchelli(现在他已拿到了博士学位并受聘在Envitrum公司任职CTO),他参与了课程的很多关键环节,包括建立实验环境、提供示例代码并受邀讲课。特别感谢Gerald Barnett,当本书进入第一稿编辑环节时,他立即放下自己的事情,全情参与。    最后,真心感谢本书的读者。分享对象的价值取决于有没有合适的人去共享。谢谢你们对本书感兴趣。我们真诚地希望本书能为你们带来有用的经验和丰厚的回报。

蜀ICP备2024047804号

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