图书介绍

大规模并行处理器编程实战 原书第2版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

大规模并行处理器编程实战 原书第2版
  • (美)柯克,(美)胡著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302342724
  • 出版时间:2013
  • 标注页数:412页
  • 文件大小:89MB
  • 文件页数:430页
  • 主题词:并行程序-程序设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

大规模并行处理器编程实战 原书第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 引言1

1.1异构并行计算2

1.2现代GPU的体系结构6

1.3为什么需要更高的速度和并行化8

1.4应用程序的加速9

1.5并行编程语言和模型11

1.6本书的总体目标12

1.7本书的组织结构13

参考文献16

第2章 GPU计算的发展历程19

2.1图形流水线的发展19

2.1.1固定功能的图形流水线时代20

2.1.2可编程实时图形流水线的发展23

2.1.3图形与计算结合的处理器25

2.2 GPGPU:一个中间步骤27

2.3 GPU计算28

2.3.1可扩展的GPU29

2.3.2发展近况29

2.3.3未来发展趋势30

参考文献与课外阅读30

第3章 CUDA简介35

3.1数据并行性36

3.2 CUDA的程序结构37

3.3向量加法kernel函数39

3.4设备全局存储器与数据传输41

3.5 kemel函数与线程46

3.6小结50

3.6.1函数声明50

3.6.2启动kemel函数50

3.6.3预定义变量51

3.6.4运行时API51

3.7习题51

参考文献53

第4章 数据并行执行模型55

4.1 CUDA的线程组织56

4.2线程与多维数据的映射59

4.3矩阵乘法——一个更加复杂的kemel函数65

4.4线程同步和透明的可扩展性70

4.5线程块的资源分配73

4.6查询设备属性74

4.7线程调度和容许时延75

4.8小结78

4.9习题79

第5章 CUDA存储器81

5.1存储器访问效率的重要性82

5.2 CUDA设备存储器的类型83

5.3减少全局存储器流量的一种策略89

5.4分块矩阵乘法的kemel函数93

5.5存储器——限制并行性的一个因素98

5.6小结100

5.7习题101

第6章 性能优化103

6.1 WARP和线程执行104

6.2全局存储器的带宽111

6.3执行资源的动态划分118

6.4指令混合和线程粒度120

6.5小结121

6.6习题121

参考文献124

第7章 浮点运算127

7.1浮点格式128

7.1.1 M的规范化表示128

7.1.2 E的余码表示129

7.2能表示的数130

7.3特殊的位模式与IEEE格式中的精度134

7.4算术运算的准确度和舍入135

7.5算法的优化136

7.6数值稳定性137

7.7小结141

7.8习题141

参考文献142

第8章 并行模式:卷积143

8.1背景144

8.2一个基本算法:一维并行卷积148

8.3常数存储器和高速缓存149

8.4使用光环元素的分块一维卷积153

8.5一个更简单的分块一维卷积——通用高速缓存158

8.6小结160

8.7习题161

第9章 并行模式:前缀和163

9.1背景164

9.2简单并行扫描165

9.3考虑工作效率169

9.4工作高效的并行扫描170

9.5任意输入长度的并行扫描174

9.6小结177

9.7习题177

参考文献178

第10章 并行模式:稀疏矩阵-向量乘法179

10.1背景180

10.2使用CSR格式的并行SpMV183

10.3填充与转置184

10.4用混合方法来控制填充186

10.5通过排序和划分来规则化189

10.6小结191

10.7习题191

参考文献192

第11章 应用案例研究:高级MRI重构193

11.1应用背景194

11.2迭代重构197

11.3计算FHD198

11.4最终评估214

11.5习题217

参考文献218

第12章 应用案例研究:分子可视化和分析219

12.1应用背景220

12.2 kernel函数简单的实现方案221

12.3线程粒度调节225

12.4存储器合并227

12.5小结230

12.6习题231

参考文献232

第13章 并行编程和计算思想233

13.1并行计算的目标234

13.2问题分解235

13.3算法选择238

13.4计算思想243

13.5小结244

13.6习题244

参考文献244

第14章 OpenCL简介245

14.1背景246

14.2数据并行性模型247

14.3设备的体系结构249

14.4 kemel函数250

14.5设备管理和启动kemel251

14.6 OpenCL中的静电势图谱254

14.7小结258

14.8习题258

参考文献259

第15章 OpenACC并行编程261

15.1 OpenACC与CUDA C的比较261

15.2执行模型263

15.3存储器模型265

15.4基本的OpenACC程序266

15.4.1并行构造266

15.4.2循环构造267

15.4.3 kernels构造272

15.4.4数据管理275

15.4.5数据构造276

15.4.6异步计算和数据传输278

15.5 OpenACC的发展方向279

15.6习题280

第16章 Thrust:一个面向效率的CUDA编程库281

16.1背景简介282

16.2动机284

16.3 Thrust的基本特性284

16.3.1迭代器和内存空间286

16.3.2互操作性286

16.4泛型编程288

16.5抽象的益处290

16.5.1编程效率290

16.5.2鲁棒性291

16.5.3真实性能291

16.6最佳范例293

16.6.1融合293

16.6.2数组结构体294

16.6.3隐式范围296

16.7习题297

参考文献298

第17章 CUDA FORTRAN299

17.1 CUDA FORTRAN和CUDA C的区别300

17.2第一个CUDA FORTRAN程序301

17.3 CUDA FORTRAN中的多维数组303

17.4用通用接口重载主机/设备端例程304

17.5通过iso_c_binding调用CUDA C307

17.6 kemel循环指令和归约操作309

17.7动态共享存储器310

17.8异步数据传输311

17.9编译和性能剖析316

17.10在CUDA FORTRAN中调用Thrust317

17.11习题321

第18章 C+ AMP简介323

18.1 C++ AMP核心特性324

18.2 C++ AMP执行模式详解329

18.2.1显式和隐式的数据复制330

18.2.2异步操作331

18.2.3本节小结333

18.3加速器管理333

18.4分块执行335

18.5 C++ AMP图形特性338

18.6小结340

18.7习题341

第19章 异构集群编程343

19.1背景简介344

19.2运行示例344

19.3 MPI基础346

19.4 MPI点对点通信模型348

19.5重叠计算和通信355

19.6 MPI集合通信模型362

19.7小结363

19.8习题363

参考文献364

第20章 CUDA动态并行365

20.1背景366

20.2动态并行简介367

20.3重要细节368

20.3.1启动环境变量设置369

20.3.2 API错误和启动失败369

20.3.3事件369

20.3.4流369

20.3.5同步范围370

20.4内存可见性371

20.4.1全局内存371

20.4.2零拷贝内存371

20.4.3常量内存371

20.4.4局部内存371

20.4.5共享内存372

20.4.6纹理内存372

20.5一个简单示例373

20.6运行时限制376

20.6.1内存占用376

20.6.2嵌套深度376

20.6.3内存分配和生存周期376

20.6.4 ECC错误377

20.6.5流377

20.6.6事件377

20.6.7启动池377

20.7一个更复杂的示例378

20.7.1线性贝塞尔曲线378

20.7.2二次贝塞尔曲线378

20.7.3贝塞尔曲线计算(非动态并行版本)378

20.7.4贝塞尔曲线计算(使用动态并行)381

20.8小结384

参考文献384

第21章 结论与展望385

21.1重点回顾385

21.2存储器模型的演变386

21.2.1大型虚拟和物理地址空间386

21.2.2统一的设备存储空间388

21.2.3可配置的缓存和暂时存储器388

21.2.4提高原子操作的速度389

21.2.5提高全局内存的访问速度389

21.3 kemel函数执行控制过程的演变389

21.3.1 kemel函数内部的函数调用389

21.3.2 kemel函数中的异常处理390

21.3.3多个kemel函数的同步执行390

21.3.4可中断的kemel函数391

21.4内核的性能391

21.4.1双精度的速度391

21.4.2更好的控制流效率392

21.5编程环境392

21.6美好前景392

参考文献393

附录A 矩阵乘法主机版的源代码395

附录B GPU的计算能力407

热门推荐