GPU与MATLAB混合编程
本书特色
[
本书介绍cpu和matlab的联合编程方法,包括首先介绍了不使用gpu实现matlab加速的方法;然后介绍了matlab和计算统一设备架(cuda)配置通过分析进行zuiyou规划,以及利用c-mex进行cuda编程;接着介绍了matlab与并行计算工具箱和运用cuda加速函数库;zui后给出计算机图形实例和cuda转换实例。本书还通过大量的实例、图示和代码,深入浅出地引导读者进入gpu的殿堂,易于读者理解和掌握。通过阅读本书,读者无需付出很多的精力和时间,就可以学习使用gpu进行并行处理,实现matlab代码的加速,提高工作效率,从而将更多的时间和精力用于创造性工作和其他事情。
本书可作为相关专业高年级本科生和研究生的教材,也可作为工程技术人员的参考书。
]
内容简介
[
除了仿真和算法开发,当前越来越多的研发人员使用matlab进行复杂计算领域的产品部署。用户可以借助图像处理器分布式并行处理,提升matlab代码的性能。由于提供了很多高层函数,matlab成功成为用于快速原型设计的出色仿真工具。但面对纷繁复杂的gpu细节和背景知识,matlab用户在面对gpu强大计算能力时,总是犹豫不决。本书为用户提供了入门读物,架起了matlab和gpu之间的桥梁。本书从零基础开始,深入浅出,如介绍matlab使用cuda所需的设置(支持windows、linux和mac ox等多种操作系统),引导用户通过一个个的专题(如cdua库),逐步掌握gpu编程。作者还与读者分享了在大数据计算领域的matlab、c++和gpu的编程经验,展示了如何修改matlab代码以更好地利用gpu的计算能力,以及如何将代码整合到商用软件产品中。全书提供了大量的代码示例,能够作为用户c-mex和cuda代码的模板。
]
作者简介
[
Jung W. Suh 美国KLA-Tencor(科天)公司的高级算法工程师和研究科学家。2007年因其在3D医学图像处理领域的工作,从弗吉尼亚理工大学获得博士学位。他参与了三星电子在MPEG-4和数字移动广播(DMB)系统的研发工作。在任职KLA-Tencor公司前,他还担任HeartFlow公司高级科学家。研究领域包括生物图像处理、模式识别、机器学习和图像/视频压缩。发表30余篇期刊和会议论文,并拥有6项专利。
Youngmin Kim 美国Life
Technologies(生命科技)公司的高级软件工程师,从事实时图像获取和高吞吐量图像分析程序开发工作。他之前的工作还包括设计和开发自动显微镜和用于实时分析的集成成像算法软件。先后从伊利诺伊大学(厄巴纳-香槟校区)电子工程专业获得学士和硕士学位。在加入Life Technologies公司前,他还在三星公司开发了3D图像软件,并在一家创业公司领导软件团队。
]
目录
前言第1章 不使用gpu实现matlab加速1.1 本章学习目标1.2 向量化1.2.1 元素运算1.2.2 向量/矩阵运算1.2.3 实用技巧1.3 预分配1.4 for-loop1.5 考虑稀疏矩阵形式1.6 其他技巧1.6.1 尽量减少循环中的文件读/写1.6.2 尽量减少动态改变路径和改变变量类型1.6.3 在代码易读性和优化间保持平衡1.7 实例第2章 matlab和cuda配置2.1 本章学习目标2.2 配置matlab进行c-mex编程2.2.1 备忘录2.2.2 编译器的选择2.3 使用c-mex实现“hello,mex!”2.4 matlab中的cuda配置2.5 实例:使用cuda实现简单的向量加法2.6 图像卷积实例2.6.1 matlab中卷积运算2.6.2 用编写的c-mex计算卷积2.6.3 在编写的c-mex中利用cuda计算卷积2.6.4 简单的时间性能分析2.7 总结第3章 通过耗时分析进行*优规划3.1 本章学习目标3.2 分析matlab代码查找瓶颈3.2.1 分析器的使用方法3.2.2 针对多核cpu更精确的耗时分析3.3 cuda的c-mex代码分析3.3.1 利用visualstudio进行cuda分析3.3.2 利用nvidiavisual profiler进行cuda分析3.4 c-mex调试器的环境设置第4章 利用c-mex进行cuda编程4.1 本章学习目标4.2 c-mex中的存储布局4.2.1 按列存储4.2.2 按行存储4.2.3 c-mex中复数的存储布局4.3 逻辑编程模型4.3.1 逻辑分组14.3.2 逻辑分组24.3.3 逻辑分组34.4 gpu简单介绍4.4.1 数据并行4.4.2 流处理器4.4.3 流处理器簇4.4.4 线程束4.4.5 存储器4.5 **种初级方法的分析4.5.1 优化方案a:线程块4.5.2 优化方案b4.5.3 总结第5章 matlab与并行计算工具箱5.1 本章学习目标5.2 gpu处理matlab内置函数5.3 gpu处理非内置matlab函数5.4 并行任务处理5.4.1 matlab worker5.4.2 parfor5.5 并行数据处理5.5.1 spmd5.5.2 分布式数组与同分布数组5.5.3 多个gpu时的worker5.6 无需c-mex的cuda文件直接使用第6章 运用cuda加速函数库6.1 本章学习目标6.2 cublas6.2.1 cublas函数6.2.2 cublas矩阵乘法6.2.3 使用visualprofiler进行cublas分析6.3 cufft6.3.1 通过cufft进行二维fft运算6.3.2 用visualprofiler进行cufft时间分析6.4 thrust6.4.1 通过thrust排序6.4.2 采用visualprofiler分析thrust第7章 计算机图形学实例7.1 本章学习目标7.2 marching-cubes算法7.3 matlab实现7.3.1 步骤17.3.2 步骤27.3.3 步骤37.3.4 步骤47.3.5 步骤57.3.6 步骤67.3.7 步骤77.3.8 步骤87.3.9 步骤97.3.10 时间分析7.4 采用cuda和c-mex实现算法7.4.1 步骤17.4.2 步骤27.4.3 时间分析7.5 用c-mex函数和gpu实现7.5.1 步骤17.5.2 步骤27.5.3 步骤37.5.4 步骤47.5.5 步骤57.5.6 时间分析7.6 总结第8章 cuda 转换实例:3d图像处理8.1 本章学习目标8.2 基于atlas分割方法的matlab代码8.2.1 基于atlas分割背景知识8.2.2 用于分割的matlab代码8.3 通过分析进行cuda*优设计8.3.1 分析matlab代码8.3.2 概要结果分析和cuda*优设计8.4 cuda转换1——正则化8.5 cuda转换2——图像配准8.6 cuda转换结果8.7 结论附录附录a 下载和安装cuda库a.1 cuda工具箱下载a.2 安装a.3 确认附录b 安装nvidia nsight到visual studio
封面
书名:GPU与MATLAB混合编程
作者:郑郁旭
页数:208
定价:¥59.0
出版社:机械工业出版社
出版日期:2016-04-01
ISBN:9787111529040
PDF电子书大小:159MB 高清扫描完整版
资源仅供学习参考,禁止用于商业用途,请在下载后24小时内删除!