您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
CUDA 编程 基础与实践
字数: 230000
装帧: 平装
出版社: 清华大学出版社
作者: 樊哲勇
出版日期: 2020-10-01
商品条码: 9787302564607
版次: 1
开本: 32开
页数: 392
出版年份: 2020
定价:
¥69
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
编辑推荐
本书是一本理想的学习 CUDA 编程的入门书籍,理论与实操结合,难易适中。
内容简介
CUDA是目前较为流行的GPU高性能计算的开发工具之一。本书通过大量实例系统地讲述CUDA编程的重要方面。前12章通过一些简短的例子循序渐进地介绍CUDA编程的基石知识,主要包括GPU硬件与CUDA程序开发工具(第1章)、CUDA中的线程组织(第2章:CUDA程序的基本框架与错误检测(第3、4章)、获得GPU加速的关键(第5章)、CUD中的内存组织与各种内存的合理使用(第6~8章)、原子函数的合理使用(第9章)、线程束内的基本函数(第10章)、CUDA流(第11章)、统一内存(第12章)等。后面两章是可选读的内容:第13章综合运用前述章节中的知识,用CUDA开发一个简单的分子动力学模拟程序;第14章介绍若干CUDA库(包括Thrust、cuBLAS、cuSolver和cuRAND)的使用。
本书适合高等院校理工科专业的本科生和研究生及其他任何对CUDA编程感兴趣的人士阅读。
作者简介
樊哲勇,1983 年生,2010 年在南京大学物理系获理学博士学位,2010-2012 年在厦门大学物理系做博士后,2012-2014年在芬兰 Aalto 大学做博士后,2014-2016 在渤海大学任副教授,2016 年至今在芬兰 Aalto 大学做博士后。拥有 8 年 CUDA 编程经验,用 CUDA 开发了高效的分子动力学模拟程序 GPUMD 和量子输运程序 GPUQT,在计算物理的一流期刊《Computer Physics Communications》发表9篇原创论文。
目录
第1章 GPU硬件与CUDA程序开发工具1
1.1 GPU 硬件简介1
1.2 CUDA 程序开发工具4
1.3 CUDA 开发环境搭建示例6
1.4 用nvidia-smi检查与设置设备7
1.5 其他学习资料8
第2章 CUDA中的线程组织10
2.1 C++语言中的HelloWorld程序10
2.2 CUDA中的HelloWorld程序11
2.2.1 只有主机函数的CUDA程序11
2.2.2 使用核函数的CUDA程序12
2.3 CUDA 中的线程组织14
2.3.1 使用多个线程的核函数14
2.3.2 使用线程索引15
2.3.3 推广至多维网格17
2.3.4 网格与线程块大小的21
2.4 CUDA 中的头文件21
2.5 用nvcc编译CUDA程序22
第3章 简单CUDA程序的基本框架25
3.1 例子:数组相加25
3.2 CUDA 程序的基本框架27
3.2.1 隐形的设备初始化29
3.2.2 设备内存的分配与释放29
3.2.3 主机与设备之间数据的传递31
3.2.4 核函数中数据与线程的对应32
3.2.5 核函数的要求33
3.2.6 核函数中if语句的必要性34
3.3 自定义设备函数35
3.3.1 函数执行空间标识符35
3.3.2 例子:为数组相加的核函数定义一个设备函数36
第4章 CUDA程序的错误检测38
4.1 一个检测CUDA运行时错误的宏函数38
4.1.1 检查运行时API函数40
4.1.2 检查核函数42
4.2 用CUDA-MEMCHECK检查内存错误44
第5章 获得GPU加速的关键46
5.1 用CUDA事件计时46
5.1.1 为C++程序计时47
5.1.2 为CUDA程序计时48
5.2 几个影响GPU加速的关键因素50
5.2.1 数据传输的比例50
5.2.2 算术强度51
5.2.3 并行规模54
5.2.4 总结55
5.3 CUDA 中的数学函数库55
第6章 CUDA的内存组织57
6.1 CUDA 的内存组织简介57
6.2 CUDA 中不同类型的内存58
6.2.1 全局内存58
6.2.2 常量内存61
6.2.3 纹理内存和表面内存62
6.2.4 寄存器62
6.2.5 局部内存63
6.2.6 共享内存63
6.2.7 L1和L2缓存64
6.3 SM 及其占有率65
6.3.1 SM 的构成65
6.3.2 SM 的占有率65
6.4 用CUDA运行时API函数查询设备67
第7 章 全局内存的合理使用70
7.1 全局内存的合并与非合并访问70
7.2 例子:矩阵转置73
7.2.1 矩阵复制73
7.2.2 使用全局内存进行矩阵转置75
第8 章 共享内存的合理使用78
8.1 例子:数组归约计算78
8.1.1 仅使用全局内存79
8.1.2 使用共享内存82
8.1.3 使用动态共享内存84
8.2 使用共享内存进行矩阵转置85
8.3 避免共享内存的bank冲突86
第9 章 原子函数的合理使用90
9.1 接近在GPU中进行归约90
9.2 原子函数93
9.3 例子:邻居列表的建立95
9.3.1 C++ 版本的开发96
9.3.2 利用原子操作的CUDA版本98
9.3.3 不用原子操作的CUDA版本101
第10章 线程束基本函数与协作组104
10.1 单指令-多线程执行模式104
10.2 线程束内的线程同步函数106
10.3 更多线程束内的基本函数109
10.3.1 介绍109
10.3.2 利用线程束洗牌函数进行归约计算114
10.4 协作组116
10.4.1 线程块级别的协作组116
10.4.2 利用协作组进行归约计算118
10.5 数组归约程序的进一步优化119
10.5.1 提高线程利用率119
10.5.2 避免反复分配与释放设备内存122
第11章 CUDA流124
11.1 CUDA 流概述124
11.2 在默认流中重叠主机和设备计算125
11.3 用非默认CUDA流重叠多个核函数的执行128
11.3.1 核函数执行配置中的流参数128
11.3.2 重叠多个核函数的例子129
11.4 用非默认CUDA流重叠核函数的执行与数据传递131
11.4.1 不可分页主机内存与异步的数据传输函数131
11.4.2 重叠核函数执行与数据传输的例子133
第12章 使用统一内存编程136
12.1 统一内存简介136
12.1.1 统一内存的基本概念136
12.1.2 使用统一内存对硬件的要求137
12.1.3 统一内存编程的优势137
12.2 统一内存的基本使用方法137
12.2.1 动态统一内存138
12.2.2 静态统一内存139
12.3 使用统一内存申请超量的内存140
12.3.1 第一个测试140
12.3.2 第二个测试142
12.3.3 第三个测试143
12.4 优化使用统一内存的程序144
第13章 分子动力学模拟的CUDA程序开发147
13.1 分子动力学模拟的基本算法和C++实现147
13.1.1 程序的整体结构147
13.1.2 分子动力学模拟的基本流程148
13.1.3 初始条件149
13.1.4 边界条件150
13.1.5 相互作用152
13.1.6 运动方程的数值积分156
13.1.7 程序中使用的单位制157
13.1.8 程序的编译与运行158
13.1.9 能量守恒的测试159
13.1.10 C++ 版本程序运行速度的测试160
13.2 CUDA 版本的分子动力学模拟程序开发161
13.2.1 仅加速求力和能量的部分161
13.2.2 加速全部计算165
第14章 CUDA标准库的使用167
14.1 CUDA 标准库简介167
14.2 Thrust 库168
14.2.1 简介168
14.2.2 数据结构168
14.2.3 算法168
14.2.4 例子:前缀和169
14.3 cuBLAS 库171
14.3.1 简介171
14.3.2 例子:矩阵乘法172
14.4 cuSolver 库176
14.4.1 简介176
14.4.2 例子:矩阵本征值177
14.5 cuRAND 库181
14.5.1 简介181
14.5.2 例子182
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网