GPU与MATLAB混合编程

副标题:无

作   者:郑郁旭等

分类号:

ISBN:9787111529040

微信扫一扫,移动浏览光盘

简介

本书介绍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  MATLABCUDA配置

2.1 
本章学习目标

2.2 
配置MATLAB进行c-mex编程

2.2.1 
备忘录

2.2.2 
编译器的选择

2.3 
使用c-mex实现“Hellomex!

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 
逻辑分组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-mexCUDA文件直接使用

6  运用CUDA加速函数库

6.1 
本章学习目标

6.2  CUBLAS

6.2.1  CUBLAS
函数

6.2.2  CUBLAS
矩阵乘法

6.2.3 
使用VisualProfiler进行CUBLAS分析

6.3  CUFFT

6.3.1 
通过CUFFT进行二维FFT运算

6.3.2 
VisualProfiler进行CUFFT时间分析

6.4  Thrust

6.4.1 
通过Thrust排序

6.4.2 
采用VisualProfiler分析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 
采用CUDAc-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 
结论

附录

附录下载和安装CUDA

A.1  CUDA
工具箱下载

A.2 
安装

A.3 
确认

附录安装NVIDIA NsightVisual Studio

 

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

GPU与MATLAB混合编程
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon