当前位置:首页 > 工业技术
GPU与MATLAB混合编程
GPU与MATLAB混合编程

GPU与MATLAB混合编程PDF电子书下载

工业技术

  • 电子书积分:10 积分如何计算积分?
  • 作 者:(韩)郑郁旭,金英民编;熊磊,李丞译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2016
  • ISBN:7111529049
  • 页数:208 页
图书介绍:作为入门读物,本书从基础知识开始,介绍包括如何设置MATLAB进行CUDA(在windows和Mac OSX),创建c-mex和m文件分析,接着引导读者进入专业级别的主题,如第三方CDUA库。本书也将给读者提供许多实用的方法来修改用户的MATLAB代码,以更好地利用图形处理器强大的计算能力。
《GPU与MATLAB混合编程》目录
标签:混合 编程

第1章 不使用GPU实现MATLAB加速 1

1.1 本章学习目标 1

1.2 向量化 1

1.2.1 元素运算 2

1.2.2 向量/矩阵运算 3

1.2.3 实用技巧 4

1.3 预分配 5

1.4 for-loop 6

1.5 考虑稀疏矩阵形式 7

1.6 其他技巧 9

1.6.1 尽量减少循环中的文件读/写 9

1.6.2 尽量减少动态改变路径和改变变量类型 9

1.6.3 在代码易读性和优化间保持平衡 9

1.7 实例 9

第2章 MATLAB和CUDA配置 17

2.1 本章学习目标 17

2.2 配置MATLAB进行c-mex编程 17

2.2.1 备忘录 17

2.2.2 编译器的选择 18

2.3 使用c-mex实现“Hello, mex!” 21

2.4 MATLAB中的CUDA配置 23

2.5 实例:使用CUDA实现简单的向量加法 25

2.6 图像卷积实例 31

2.6.1 MATLAB中卷积运算 31

2.6.2 用编写的c-mex计算卷积 33

2.6.3 在编写的c-mex中利用CUDA计算卷积 35

2.6.4 简单的时间性能分析 39

2.7 总结 39

第3章 通过耗时分析进行最优规划 41

3.1 本章学习目标 41

3.2 分析MATLAB代码查找瓶颈 41

3.2.1 分析器的使用方法 41

3.2.2 针对多核CPU更精确的耗时分析 44

3.3 CUDA的c-mex代码分析 46

3.3.1 利用Visual Studio进行CUDA分析 46

3.3.2 利用NVIDIA Visual Profiler进行CUDA分析 52

3.4 c-mex调试器的环境设置 57

第4章 利用c-mex进行CUDA编程 64

4.1 本章学习目标 64

4.2 c-mex中的存储布局 64

4.2.1 按列存储 64

4.2.2 按行存储 67

4.2.3 c-mex中复数的存储布局 68

4.3 逻辑编程模型 70

4.3.1 逻辑分组1 72

4.3.2 逻辑分组2 73

4.3.3 逻辑分组3 73

4.4 GPU简单介绍 74

4.4.1 数据并行 74

4.4.2 流处理器 74

4.4.3 流处理器簇 74

4.4.4 线程束 75

4.4.5 存储器 77

4.5 第一种初级方法的分析 77

4.5.1 优化方案A:线程块 79

4.5.2 优化方案B 84

4.5.3 总结 86

第5章 MATLAB与并行计算工具箱 87

5.1 本章学习目标 87

5.2 GPU处理MATLAB内置函数 87

5.3 GPU处理非内置MATLAB函数 93

5.4 并行任务处理 95

5.4.1 MATLAB worker 95

5.4.2 parfor 97

5.5 并行数据处理 99

5.5.1 spmd 99

5.5.2 分布式数组与同分布数组 101

5.5.3 多个GPU时的worker 105

5.6 无需c-mex的CUDA文件直接使用 105

第6章 使用CUDA加速函数库 111

6.1 本章学习目标 111

6.2 CUBLAS 111

6.2.1 CUBLAS函数 112

6.2.2 CUBLAS矩阵乘法 113

6.2.3 使用Visual Profiler进行CUBLAS分析 120

6.3 CUFFT 122

6.3.1 通过CUFFT进行二维FFT运算 123

6.3.2 用Visual Profiler进行CUFFT时间分析 130

6.4 Thrust 132

6.4.1 通过Thrust排序 132

6.4.2 采用Visual Profiler分析Thrust 134

第7章 计算机图形学实例 136

7.1 本章学习目标 136

7.2 Marching-Cubes算法 136

7.3 MATLAB实现 139

7.3.1 步骤1 139

7.3.2 步骤2 140

7.3.3 步骤3 141

7.3.4 步骤4 141

7.3.5 步骤5 142

7.3.6 步骤6 142

7.3.7 步骤7 143

7.3.8 步骤8 144

7.3.9 步骤9 145

7.3.10 时间分析 151

7.4 采用CUDA和c-mex实现算法 152

7.4.1 步骤1 152

7.4.2 步骤2 155

7.4.3 时间分析 156

7.5 用c-mex函数和GPU实现 157

7.5.1 步骤1 157

7.5.2 步骤2 158

7.5.3 步骤3 159

7.5.4 步骤4 164

7.5.5 步骤5 165

7.5.6 时间分析 166

7.6 总结 166

第8章 CUDA转换实例:3D图像处理 168

8.1 本章学习目标 168

8.2 基于Atlas分割方法的MATLAB代码 168

8.2.1 基于Atlas分割背景知识 168

8.2.2 用于分割的MATLAB代码 169

8.3 通过分析进行CUDA最优设计 177

8.3.1 分析MATLAB代码 177

8.3.2 结果分析和CUDA最优设计 181

8.4 CUDA转换1——正则化 182

8.5 CUDA转换2——图像配准 187

8.6 CUDA转换结果 200

8.7 结论 202

附录 203

附录A下载和安装CUDA库 203

A.1 CUDA工具箱下载 203

A.2 安装 203

A.3 确认 206

附录B安装NVIDIA Nsight到Visual Studio 207

相关图书
作者其它书籍
返回顶部