基于Matlab的并行计算

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab并行算法实例
http://www.ilovematlab.cn/
在串行及并行两种模式下用同一算法实现算Pi,对比不同模式下所花时间。 计算Pi的算法如下: 根据下面的积分公式
令函数f(x)=4/(1+X2),则有
作f(x)图像,利用切割求面积的方法,最后得:
Matlab并行算法实例
http://www.ilovematlab.cn/
Company
LOGO
基于Matlab的并行计算(仝辉)
目录
http://www.Fra Baidu biblioteklovematlab.cn/
1
Matlab并行计算简介
2
Matlab并行平台搭建
3
Matlab并行算法实例
Matlab并行计算简介
http://www.ilovematlab.cn/
并行计算(Parallel Computing)是指同时使用多种计算资源解决计 算问题的过程。为了执行并行计算,计算资源应包括一台配有多处理 器(并行处理)的计算机、一个与网络相连的计算机专有编号,或者 两者结合使用。并行计算的主要目的是快速解决大型且复杂的计算问 题。 Matlab并行计算是指针对不同的计算平台(单机或集群),运用不同 的计算工具箱:
Matlab并行算法实例
http://www.ilovematlab.cn/
par_pi.m
clear;clc; display('没有使用并行工具箱') n=2; %把任务分为两份,n在实验中可更改 tic for i=1:n normal_pi(n,i); end toc %串行所用时间 jm=findResource('scheduler','type','jobmanager','name','zhu','lookupURL','tornador'); job1=createJob(jm); set(job1, 'FileDependencies', {'normal_pi.m'}) display('使用了并行工具箱计算') tic for j=1:n createTask(job1,@normal_pi,1,{n,j}); end submit(job1); waitForState(job1,'finished'); toc %并行所用时间 result=getAllOutputArguments(job1) sum(cell2mat(result)) %查看计算得到的Pi
Matlab并行平台搭建
http://www.ilovematlab.cn/
3.平台连接测试
方法一: 在cmd中执行nodestatus命令,可以查看节点状态(默认为本机的状态)。 配合使用参数 –remotehost node1(节点的机主名)可以查看各个节点的工作状 态。 如果在worker中显示的状态为connected,则表示连接完成。 方法二: 使用matlab自带的Admincenter来测试连接状态。 在worker机子上运行cmd执行Admincenter将会弹出Admincenter对话框(08、 09版本的界面不相同)。 根据提示要求查找jobmanager然后进行连接测试。
算法包含两个.m文件:normal_pi.m 及 par_pi.m normal_pi.m function [pi_result] = normal_pi(num,number) N= 90000; % number of trials format long; w=1.0/N; for i=number:num:N local(i)=(i-0.5)*w; temp(i)=4.0/(1+local(i)*local(i)); end pi_result = sum(temp)/N; end
1.安装启动MDCE
1) 用管理员权限启动cmd.exe(XP系统直接运行,Win7系统下右键点击选择管理员 权限); 2) 修改当前目录:cd %MATLABROOT%/toolbox/distcomp/bin(Matlab安装目 录的下级目录); 3) 输入命令 mdce install; 4) 输入命令行mdce start, 启动Matalb Distributed Computing Server 5) 查看MDCE是否启动:打开运行(快捷键WIN+R),输入services.msc,
6) 运行addMatlabToWindowsFirewall.bat, 配置防火墙,开放MDCE服务 (注:有时尽管如此,机群中节点仍无法连接,此时只有关闭防火墙)。
Matlab并行平台搭建
http://www.ilovematlab.cn/
2.创建角色
1)运行cmd。 2)命令行下输入: startjobmanager –name myjobmanager 关闭jobmanager : stopjobmanager –name myjobmanager 3) 创建worker进程 在命令行下输入: startworker –jobmanagerhost node1 –jobmanager myjobmanager –name worker1 –remotehost node2 node1:本地计算机名字 myjobmanager:jobmanager的名字 worker1:worker进程的名字 node2:远程计算机的名字 注意: ①可开启多个不同名字的worker进程; ②若在本地上创建worker则不需后面的-remotehost node2 关闭worker 进程: stopworker –name worker1 –remotehost node1
用于单机多核(最多4核)环境的并行计算工具箱(Parallel Computing Toolbox)
在集群环境中实现并行计算的分布式计算服务器(MATLAB Distributed Computing Server)来实现并行计算。
Matlab并行平台搭建
http://www.ilovematlab.cn/
Matlab并行算法实例
http://www.ilovematlab.cn/
在本测试中使用了两台计算机(均为联想Y460)来进行连接测试并行算法效率。 两台计算机的配置如下: 计算机1:处理器——Intel(R) Core (TM) i3 CPU M350 @ 2.27GHz 2.27GHz 安装内存(RAM)——2.00G (1.86G可用) 计算机2:处理器——Intel(R) Core (TM) i3 CPU M370 @ 2.40GHz 2.40GHz 安装内存(RAM)——2.00G (1.86G可用) 因为两台计算机的配置有所不同,所以在测试过程中分别以计算机1、计算机2作 为主机,另一台为子机。 主机 计算机1 计算机2 串行计算时间(s) 并行计算时间(s) 加速比 30.091555 23.529882 18.571519 18.038922 1.62 1.30 加速效率 81.01% 65.22%
Company
LOGO
相关文档
最新文档