matlab 开启并行,Matlab并行(持续更新)

本文介绍了Matlab R2007a引入的并行计算工具箱中的parfor循环,用于提高计算效率。parfor循环将独立的循环体分配到不同的Matlab Worker中并行计算,要求循环体间相互独立。通过matlabpool可以开启多个工作进程,利用多核或分布式计算资源。示例代码展示了如何启用并行环境,比较了普通for循环与parfor循环的时间差异,强调在处理无关联的for循环时使用parfor的效率优势。
摘要由CSDN通过智能技术生成

Mathwoks在Matlab R2007a版本的Parallel Computing Toolbox(并行计算工具箱)中加入了并行循环parfor-loops,对于每一步可以独立于其他步的循环,计算效率可以有较大幅度的提高。以前简单的for循环for-loop是顺序的(sequentially)执行每一步循环体(statement),parfor-loop是通过将各个循环体分配到不同的节点上进行并行计算。所以parfor的要求是循环体之间相互独立,结果各不影响,Matlab的编辑器会自动帮你检查循环体的结果是否影响。当你初始化一个matlab进程时,这个进程被称为Matlab Client,它起着和用户交互和调度的作用。在并行计算工具箱中,通过matlabpool可以打开多个matlab进程,这些进程被称为Matlab Worker。并行循环parfor-loop的各个循环就是随机的分配到这些Matlab Worker上进行同时的计算。最后再返回给Matlab Client. 在一个多核桌面上可以本地同时运行四个 worker (至R2009a,4.1版可达8个),如果与 MATLAB Distributed Computing Server 集成,就可以使用集群中任意数量的机器作为worker了。(以上这部分是转载)

当启用parallel时,任务管理器显示对应的几个matlab 进程。(几个cpu就有几个matlab进程)

注意parafor一般只能在外循环(一般为for的第一层)

function test_No_Parallel

tic

maxNumber=10^5;

for i=1:maxNumber

f(i)=i^2+i^3;

end

toc

function testParallel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值