龙泉居士基于文档原创,转载请注明
Parallel Computing Toolbox是一个matlab2011开始提供的组件,用于提供交互式的并行计算功能
一、运用的场合
很多应用程序中包含多个重复的代码部分,这些代码可能有多次循环迭代,也可能只有少量的循环迭代,但他们只是重复次数与输入参数的区别,对于处理这样的数据,并行计算是一个理想的方法,并行循环的唯一限制是每个循环间没有相互的依赖关系
当然,对于相互依赖的程序代码,也有可以实现并行计算的技巧
对于MATLAB,你可以选择运行一个庞大的批处理程序,也可以选择将他们拆分成多个任务由多个远程的计算机并行地执行,那将会极大的增加运行效率
同时,如果要处理的数据过于庞大,并行计算的性能也将明显优于异步的计算与处理
二、并行计算方案简介
交互运行一个循环程序
在这个例子中,我们只是要学习怎么将一个简单的for循环程序变成一个并行执行的程序,for循环中处理的数据量以及for循环的迭代次数都是很小的,因此,很难在这个例子中体现出并行计算的效率优势
1、假设你的代码中包含下面一个显示正弦波形的for循环:
for i=1:1024
A(i) = sin(i*2*pi/1024);
end
plot(A)
2、为了能够使用matlab提供的交互式工具,你需要首先打开matlabpool,这个组件可以运行在你的本地计算机上,也可以运行在多个远程计算机上
matlabpool open local 3
3、在matlabpool