图书介绍
C++ AMP 用Visual C++加速大规模并行计算【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)格雷戈里,(美)米勒著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115345035
- 出版时间:2014
- 标注页数:300页
- 文件大小:41MB
- 文件页数:321页
- 主题词:C语言-程序设计
PDF下载
下载说明
C++ AMP 用Visual C++加速大规模并行计算PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 C+++ AMP概述1
1.1为什么选择GPGPU?什么是异构计算?1
1.1.1性能提升史1
1.1.2异构平台2
1.1.3 GPU架构3
1.1.4通过并行性提升性能的候选方案4
1.2 CPU并行&技术7
1.2.1向量化7
1.2.2 OpenMP9
1.2.3并发运行时库(ConcRT)和并行模式库10
1.2.4任务并行库11
1.2.5 WARP—— Windows高级栅格化平台11
1.2.6 GPU并行技术12
1.2.7成功并行化的要求13
1.3 C+++ AMP方法14
1.3.1 C+++ AMP将GPGPU(以及更多)带进主流14
1.3.2 C+++ AMP是C+++而不是C14
1.3.3 C+++AMP使用了我们熟识的工具15
1.3.4 C+++ AMP是一个近乎全面的代码库15
1.3.5 C+++ AMP可以生成可移植的、不会过时的执行代码17
1.4小结18
第2章 Nbody案例19
2.1运行示例前的准备1作19
2.2运行Nbody示例20
2.3示例的结构24
2.4 CPU计算25
2.4.1数据结构25
2.4.2 wWinMain函数26
2.4.3 OnFrameMove回调函数26
2.4.4 OnD3D11CreateDevice回调函数27
2.4.5 OnGUIEvent回调函数29
2.4.6 OnD3 D 11 FrameRender回调函数30
2.5 CPU NBody类30
2.5.1 NBodySimpleInteractionEngine30
2.5.2 NBodySimpleSingleCore31
2.5.3 NBodySimpleMultiCore31
2.5.4 NBodySimpleInteractionEngine::BodyBodyInteraction32
2.6 C+++ AMP计算33
2.6.1数据结构33
2.6.2 CreateTasks35
2.7 C+++ AMP NBody类37
2.7.1 NBodyAmpSimple::Integrate37
2.7.2 BodyBodyInteraction38
2.8小结40
第3章 C+++ AMP基础41
3.1 array〈T,N〉41
3.2 acceIerator与accelerator_ view43
3.3 index〈N〉45
3.4 extent〈N〉46
3.5 array_view〈T,N〉46
3.6 parallel_for_each50
3.7使用restrict(amp)标记的函数52
3.8在CPU和GPU之间复制数据54
3.9数学库函数56
3.10小结57
第4章 分组58
4.1使用分组的目的和好处58
4.2 tile_ static内存60
4.3 tiled extent60
4.4 tiled_ index〈N1,N2,N3〉62
4.5将简单算法改成分组算法63
4.5.1使用tile static内存64
4.5.2分组栅和同步68
4.5.3完成简单版本到分组版本的修改70
4.6分组大小的影响71
4.7选择分组大小74
4.8小结75
第5章 分组NBody案例76
5.1分组功能对NBody的提速有多大帮助76
5.2 N体问题的分组算法77
5.2.1 NBodyAmpTiled类78
5.2.2 NBodvAmpTiled::Integrate79
5.3使用Concurrency Visualizer83
5.4选择分组大小88
5.5小结92
第6章 调试93
6.1第一步93
6.1.1选择GPU调试还是CPU调试94
6.1.2参考加速器97
6.2 GPU 调试基础100
6.2.1熟悉的窗口和技巧100
6.2.2 Debug Location工具栏101
6.2.3检测竞态101
6.3检查线程运行状况103
6.3.1线程标记104
6.3.2 GPU Threads窗口105
6.3.3 Parallel Stacks窗口107
6.3.4 Parallel Watch窗口108
6.3.5对线程置标记、分组和过滤110
6.4施加更多的控制112
6.4.1冻结与解冻线程113
6.4.2 Run Tile to Cursor114
6.5小结116
第7章 优化117
7.1一种性能优化方法117
7.2分析性能118
7.2.1 测量内核性能118
7.2.2使用Concurrency Visualizer121
7.2.3使用Concurrency Visualizer SDK126
7.3优化内存访问模式127
7.3.1别名和paraIIel_for_ each调用127
7.3.2往返 GPU的高效数据复制131
7.3.3高效加速器全局内存访问136
7.3.4结构体数组与数组结构体139
7.3.5高效的分组静态内存访问141
7.3.6常量内存145
7.3.7纹理内存146
7.3.8占用比和寄存器146
7.4优化计算147
7.4.1避免分支代码147
7.4.2选择合适的精度151
7.4.3数学运算的成本估算153
7.4.4循环展开153
7.4.5障栅154
7.4.6排队模式157
7.5小结159
第8章 性能案例——归约160
8.1问题160
8.2示例的结构161
8.2.1初始化和负载164
8.2.2 Concurrency Visualizer标记164
8.2.3 TimeFunc()165
8.2.4开销167
8.3 CPU算法167
8.3.1串行算法167
8.3.2并行算法168
8.4 C+++AMP算法168
8.4.1简单版本169
8.4.2使用array_ view的简单版本171
8.4.3简单优化版本172
8.4.4原始分组版本174
8.4.5共享内存的分组版本176
8.4.6使分支数降至最低的版本182
8.4.7消除槽位冲突版本182
8.4.8减少停滞线程版本184
8.4.9循环展开版本185
8.4.10级联归约版本188
8.4.11带循环展开的级联归约版本190
8.5小结191
第9章 使用多个加速器工作192
9.1选择加速器192
9.2使用一个以上的GPU197
9.3在加速器之间交换数据201
9.4动态负载均衡206
9.5交织并行性209
9.6回退到CPU执行210
9.7小结211
第10章 Cartoonizer案例213
10.1前提条件213
10.2运行示例214
10.3示例的结构217
10.4流水线218
10.4.1数据结构218
10.4.2 CartoonizerDIg::OnBnClickedButtonStart()方法220
10.4.3ImagePipeline类221
10.5流水线卡通化阶段225
10.5.1ImageCartoonizerAgent类225
10.5.2IFrameProcessor实现228
10.6使用多个C+++ AMP加速器工作236
10.6.1 FrameProcessorAmpMulti类236
10.6.2复制流水线239
10.6.3ImageCartoonizerAgentParallel类239
10.7卡通器性能242
10.8小结244
第11章 图形互操作245
11.1基础知识245
11.1.1 norm与unorm245
11.1.2 短向量类型247
11.1.3 texture〈T,N〉251
11.1.4 writeonly_texture_view〈T,N〉257
11.1.5纹理与数组258
11.2使用纹理和短向量259
11.3 HLSL内建函数262
11.4 DirectX互操作264
11.4.1加速器视图与Direct3D设备互操作264
11.4.2数组与Direct3 D设备互操作265
11.4.3纹理与Direct3D纹理资源互操作266
11.4.4使用图形互操作库269
11.5小结271
第12章 提示、技巧与最佳实践273
12.1处理分组大小不匹配的问题273
12.1.1填充分组275
12.1.2截取分组276
12.1.3对比方法280
12.2初始化数组280
12.3函数对象与lambda函数281
12.4原子操作282
12.5 Windows 8上其他的C+++ AMP功能285
12.6超时检测与恢复286
12.6.1避免TDR287
12.6.2在Windows 8上取消TDR288
12.6.3检测 TDR和从TDR中恢复288
12.7 双精度支持290
12.7.1有限双精度支持290
12.7.2完整双精度支持290
12.8在Windows 7 上调试291
12.8.1配置远程计算机291
12.8.2配置项目291
12.8.3部署和调试项目292
12.9 其他调试函数293
12.10部署294
12.10.1部署应用程序294
12.10.2在服务器上运行C+++ AMP294
12.11 C+++ AMP 与 Windows 8的Windows应用商店296
12.12在托管代码中使用C+++ AMP296
12.12.1从.NET应用程序、Windows 7 Windows应用商店或库中调用297
12.12.2从C+++ CLR应用程序中调用297
12.12.3从C+++ CLR项目中调用297
12.13小结298
附录 其他资源299
热门推荐
- 3753950.html
- 1151284.html
- 1850200.html
- 3380179.html
- 1094122.html
- 3257494.html
- 870538.html
- 81977.html
- 1943932.html
- 1735643.html
- http://www.ickdjs.cc/book_1302009.html
- http://www.ickdjs.cc/book_564410.html
- http://www.ickdjs.cc/book_1686674.html
- http://www.ickdjs.cc/book_1741251.html
- http://www.ickdjs.cc/book_439181.html
- http://www.ickdjs.cc/book_2484439.html
- http://www.ickdjs.cc/book_2328479.html
- http://www.ickdjs.cc/book_3332184.html
- http://www.ickdjs.cc/book_3725393.html
- http://www.ickdjs.cc/book_2439984.html