相关截图:
资料简介:
本书对基于Matlab的并行程序设计的原理进行了深入的剖析,并结合各章给出的大量实例对基于Mat—lab的并行计算程序设计方法和技巧给出了详细的说明。通过阅读和学习本书的内容,读者可以掌握基于多种平台(多核、多处理器、集群和GPU等),利用多项技术(Matlab并行计算工具箱、多线程MEX文件、OpenMP和GPU等),学习理解Matlab并行程序设计的原理、方法和技巧。全书共分l0章:第1章为Matlab开发环境和程序设计基础;第2章为利用parfor对for循环进行并行;第3章为SPMD并行结构;第4章为其他Matlab并行结构;第5章为Matlab并行计算数据类型;第6章为Matlab通用并行程序设计;第7章为MDCE配置;第8章为创建多线程MEX文件;第9章为在Matlab中应用OpenMP进行并行计算;第10章为利用GPU并行执行Matlab程序。书中附录共包括三个部分,即MEX文件基础知识、用户配置项和Matlab并行计算常用概念说明。
书中所有的源代码均可在出版社网站的下载中心和Matlab中文论坛(www.iLoveMatlab.cn)中下载。除特别说明之外,其开发和编译环境均为Matlab 2010与Visual C++2010。本书的阅读对象包括大中专院校学生以及利用Matlab开发并行程序的人员。
资料目录:
第1章 Matlab开发环境和程序设计基础
1.1本章导读
1.2 Matlab环境
1.2.1命令行窗口
1.2.2代码编辑器
1.2.3工作空间窗口
1.2.4历史命令窗口
1.2.5利用Matlab环境的界面操作
1.2.6 Matlab帮助
1.2.7代码输入提示
1.3 Matlab语言基础
1.3.1 Matlab脚本文件
1.3.2 Matlab运算符与表达式
1.3.3 Matlab函数
1.3.4 Matlab的向量运算
1.3.5 Matlab的程序控制
1.3.6面向对象程序设计
1.4 Matlab常用的数据类型
1.4.1数值阵列
1.4.2字符阵列
1.4.3逻辑阵列
1.4.4元组阵列
1.4.5结构体阵列
1.4.6函数句柄阵列
1.5 Matlab常用数据显示函数
1.5.1 figure窗口
1.5.2绘制曲线
1.5.3显示图像数据
1.5.4显示三维曲面数据
第2章 利用parfor对for循环进行并行
2.1本章导读
2.2循环和并行
2.3 for循环的并行性
2.4 parfor关键字
2.5 Matlab client和worker
2.6利用parfor并行for循环的基本原理
2.7利用parfor并行for循环的基本步骤
2.8配置Matlab并行计算池
2.8.1 matlabpool命令
2.8.2 matlabpool配置
2.9第一个parfor程序及其与for循环的对比
2.10 parfor循环比for循环快多少?
2.10.1不启动matlabpool,直接执行parfor程序
2.10.2打开matlabpool
2.11 parfor和for的不同
2.12数据通信的影响
2.12.1数据通信较大的情况
2.12.2 parfor和for的执行时间曲线
2.12.3数据通信影响较小的情况
2.13函数句柄在parfor并行程序分析中的应用
2.14简约操作
2.14.1简约操作的基本概念及并行原理
2.14.2简约操作并行效率分析
2.14.3简约操作的执行顺序
2.14.4简约操作与简约变量的特征
2.15 parfor循环中的主要变量类型
2.15.1 parfor循环变量概述
2.15.2循环变量
2.15.3分段变量
2.15.4广播变量
2.15.5临时变量
2.16 parfor程序设计需要考虑的其他问题
2.16.1变量名称(函数优先)
2.16.2显式使用变量
2.16.3 parfor中使用函数句柄
2.16.4在parfor中调用递归函数
2.16.5 parfor性能考虑
2.16.6 Matlab并行计算池中worker的位置
第3章SPMD并行结构
3.1本章导读
3.2 SPMD
3.3 SPMD的使用方法
3.4 Matlab client与Matlab lab数据交互
3.5 distributed或codistributed数值阵列
3.5.1采用distributed对象创建分布式阵列
3.5.2采用codistributed对象创建分布式阵列
3.6在SPMD中获取job、task、lab、scheduler信息
3.7利用SPMD并行结构解决计算密集型问题
3.8利用SPMD并行结构解决数据密集型问题
第4章 其他Matlab并行结构
4.1本章导读
4.2 for?drange
4.2.1 for?drange应用于分布式阵列
4.2.2 for?drange应用于非分布式阵列
4.3利用pmode并行执行Matlab程序
4.3.1启动pmode窗口
4.3.2 pmode窗口界面
4.3.3显示pmode数据
4.3.4在集群中启动pmode窗口
4.3.5通过pmode命令在各个lab和Matlab client之间传输数据
4.4并行执行Matlab函数
4.4.1同步模式
4.4.2异步模式
第5章Matlab并行计算数据类型
5.1本章导读
5.2 Matlab并行计算数据类型
5.2.1同体变量
5.2.2异体变量
5.2.3独有变量
5.2.4分布式变量
5.3并行计算数据类型的转换方法
5.3.1将同体变量转换为其他变量
5.3.2将异体变量转换为其他变量
5.3.3将独有变量转换为其他变量
5.3.4将分布式变量转换为其他变量
5.4 Matlab并行计算数据类型的应用
5.4.1 parallel job中应用并行计算数据类型
5.4.2 SPMD并行结构中应用并行计算数据类型
5.5 Matlab分布式阵列
5.5.1分布式阵列的特点
5.5.2 Matlab如何分割分布式阵列?
5.5.3 Matlab如何显示分布式阵列?
5.5.4在Matlab客户端创建分布式阵列
5.5.5在parallel job或SPMD并行结构中创建分布式阵列
5.5.6 codistributed对象操作分布式阵列
5.5.7创建二维分割的Matlab分布式阵列
5.5.8利用codistributor函数构造codistributor对象
5.5.9支持分布式阵列的Matlab函数
第6章Matlab通用并行程序设计
6.1本章导读
6.2概述
6.3通用Matlab并行计算的基本概念
6.4 Matlab并行计算架构
6.5 job的状态及运行周期
6.6开发调试并行程序基本流程
6.7 distributed job的操作方法
6.7.1 distributed job
6.7.2创建distributed job的方法
6.8 parallel job的操作方法
6.8.1 parallel job
6.8.2 distributed job和parallel job 的区别
6.8.3创建parallel job的方法
6.8.4避免死锁问题
6.9 matlabpool job的操作方法
6.10 batch job的操作方法
6.11 job manager、worker、job和task对象的属性
6.11.1 job manager对象
6.11.2 job对象
6.11.3 worker对象
6.11.4 task对象
6.12 worker对象的操作方法
6.12.1启动worker
6.12.2 findResource方法
6.12.3操作worker对象的函数
6.13 task对象的操作方法
6.14 job对象的操作方法
6.14.1利用createTask函数创建task
6.14.2等待任务状态改变
6.15 scheduler对象的操作方法
6.15.1 findResource函数
6.15.2利用scheduler对象创建和管理job的方法
6.16 parallel job和SPMD结构中lab间数据通信问题
6.17关于路径问题
6.18利用Callback函数
6.19并行程序调试和分析
第7章MDCS配置
7.1本章导读
7.2 Matlab并行构架
7.2.1 Matlab并行计算平台及拓扑结构
7.2.2单集群节点
7.2.3多集群节点
7.3 MDCS的配置项
7.4 MDCS操作指令及操作方法
7.4.1 MDCS的命令及选项
7.4.2 mdce命令操作实例
7.4.3 nodestatus命令及选项
7.4.4 nodestatus命令操作实例
7.4.5 remotecopy命令及选项
7.4.6采用remotemdce远程执行mdce指令
7.4.7 startjobmanager
7.4.8停止jobmanager运行
7.4.9 startworker
7.4.10 stopworker
7.5管理job manager、集群节点和worker的方法
7.5.1利用命令行管理
7.5.2利用管理中心管理
第8章 创建多线程MEX文件
8.1本章导读
8.2利用MEX文件在Matlab中创建并行应用
8.3多线程MEX文件创建及调试过程
第9章在Matlab中应用OpenMP进行并行计算
9.1本章导读
9.2O penMP及其工作原理
9.3O penMP与Matlab
9.4第一个OpenMP实例
9.5利用OpenMP并行执行for循环
9.6 OpenMP并行编译指令
9.6.1引导parallel并行结构的指令和选项
9.6.2引导work?sharing并行结构的指令和选项
第10章 利用GPU并行执行Matlab程序
10.1本章导读
10.2操作GPU设备
10.3创建GPU数值阵列
10.4操作GPU数据的函数
10.5自定义支持GPU的函数
10.6扩展Matlab对GPU支持的方法
10.6.1直接编写GPU程序,通过Matlab调用
10.6.2 GPU与C语言混合并编译为MEX
附录A MEX文件基础知识
A.1设置Matlab C/C++编译器用于编译MEX文件
A.2 MEX文件的功能
A.3 MEX文件与M文件的关系
A.4 MEX文件实例
A.5 MEX文件结构说明
A.6编译MEX文件
A.7采用C++创建MEX文件
附录B Matlab并行计算配置项
B.1 配置项的管理和创建工具
B.2选择默认的配置项
B.3打开配置项管理工具
B.4创建新的配置项
B.5配置项编辑工具
B.6将配置项保存为文件
B.7验证配置选项
B.8操作配置项的命令
附录C Matlab并行计算常用概念说明