搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
GPU与MATLAB混合编程
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111529040
  • 作      者:
    (韩)郑郁旭,(韩)金英民编著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2016
收藏
编辑推荐
  除了仿真和算法开发,当前越来越多的研发人员使用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图像软件,并在一家创业公司领导软件团队。
展开
内容介绍
  本书介绍CPU和MATLAB的联合编程方法,包括首先介绍了不使用GPU实现MATLAB加速的方法;然后介绍了MATLAB和计算统一设备架(CUDA)配置通过分析进行zuiyou规划,以及利用c-mex进行CUDA编程;接着介绍了MATLAB与并行计算工具箱和运用CUDA加速函数库;zui后给出计算机图形实例和CUDA转换实例。本书还通过大量的实例、图示和代码,深入浅出地引导读者进入GPU的殿堂,易于读者理解和掌握。通过阅读本书,读者无需付出很多的精力和时间,就可以学习使用GPU进行并行处理,实现MATLAB代码的加速,提高工作效率,从而将更多的时间和精力用于创造性工作和其他事情。
  本书可作为相关专业高年级本科生和研究生的教材,也可作为工程技术人员的参考书。
展开
目录
前言
第1章 不使用GPU实现MATLAB加速
1.1 本章学习目标
1.2 向量化
1.2.1 元素运算
1.2.2 向量/矩阵运算
1.2.3 实用技巧
1.3 预分配
1.4 for-loop
1.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 利用Visual Studio进行CUDA分析
3.3.2 利用NVIDIA Visual 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 逻辑分组1
4.3.2 逻辑分组2
4.3.3 逻辑分组3
4.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 优化方案B
4.5.3 总结
第5章 MATLAB与并行计算工具箱
5.1 本章学习目标
5.2 GPU处理MATLAB内置函数
5.3 GPU处理非内置MATLAB函数
5.4 并行任务处理
5.4.1 MATLAB worker
5.4.2 parfor
5.5 并行数据处理
5.5.1 spmd
5.5.2 分布式数组与同分布数组
5.5.3 多个GPU时的worker
5.6 无需c-mex的CUDA文件直接使用
第6章 运用CUDA加速函数库
6.1 本章学习目标
6.2 CUBLAS
6.2.1 CUBLAS函数
6.2.2 CUBLAS矩阵乘法
6.2.3 使用Visual Profiler进行CUBLAS分析
6.3 CUFFT
6.3.1 通过CUFFT进行二维FFT运算
6.3.2 用Visual Profiler进行CUFFT时间分析
6.4 Thrust
6.4.1 通过Thrust排序
6.4.2 采用Visual Profiler分析Thrust
第7章 计算机图形学实例
7.1 本章学习目标
7.2 Marching-Cubes算法
7.3 MATLAB实现
7.3.1 步骤1
7.3.2 步骤2
7.3.3 步骤3
7.3.4 步骤4
7.3.5 步骤5
7.3.6 步骤6
7.3.7 步骤7
7.3.8 步骤8
7.3.9 步骤9
7.3.10 时间分析
7.4 采用CUDA和c-mex实现算法
7.4.1 步骤1
7.4.2 步骤2
7.4.3 时间分析
7.5 用c-mex函数和GPU实现
7.5.1 步骤1
7.5.2 步骤2
7.5.3 步骤3
7.5.4 步骤4
7.5.5 步骤5
7.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
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证