交互式并行运行一个循环使用parfor
在本例中,您从一个缓慢的开始为
循环,加快计算使用parfor
循环。parfor
分裂的执行为
工人在一个平行的池循环迭代。
这个例子计算矩阵的谱半径和转换为
循环到一个parfor
循环。找出如何衡量产生的加速。
在MATLAB®编辑器,输入以下
为
循环。添加抽搐
和toc
测量时间。抽搐n = 200;一个= 500;一个= 0 (n);为i = 1: n (i) = max (abs (eig(兰德(a))));结束toc
运行脚本,注意时间。
运行时间是31.935373秒。
在脚本中,取代
为
循环用parfor
循环。抽搐n = 200;一个= 500;一个= 0 (n);parfori = 1: n (i) = max (abs (eig(兰德(a))));结束toc
运行新的脚本,并再次运行它。注意,第一个比第二个慢跑,因为平行池需要一些时间开始,使可用的代码工人。请注意第二运行花费的时间。
默认情况下,MATLAB自动打开一个平行的工人在本地机器上。
开始平行池(parpool)使用“本地”概要文件…连接到4工人……运行时间是10.760068秒。
parfor
运行在四名工人比相应的三倍为
循环运行。的加速小于理想的加速因子四个四个工人。这是由于并行开销,包括从客户端传输数据所需的时间和工人。这个例子显示了一个良好的加速并行开销相对较小,从转换成和福利parfor
循环。并不是所有的为
循环迭代可以变成更快parfor
循环。欲了解更多,请看决定何时使用parfor。
一个关键要求parfor
迭代循环,个人必须独立。适合独立问题parfor
处理包括蒙特卡罗模拟和参数扫描。下一步,请参阅for循环转换成parfor-Loops。
在本例中,您设法加快转换的计算为
循环到一个parfor
循环在四个工人。你可能会进一步降低运行时间增加工人的数量在你的平行池,明白了扩大parfor-Loops集群和云。
您可以修改您的集群配置文件来控制有多少工人运行循环,和工人们是否本地或集群。概要文件的更多信息,请参阅发现集群和集群配置文件使用。
修改您的平行的偏好来控制是否自动创建一个平行的池,和多长时间超时之前保持可用。偏好的更多信息,请参阅指定您的平行的偏好。
您可以运行仿真软件金宝app®与并行模型parsim
命令,而不是使用parfor
循环。的更多信息和示例使用并行仿真软件,明白了金宝app运行多个模拟(金宝app模型)。