主要内容

交互运行并行循环使用parfor

在本例中,您从一个缓慢的开始循环,加快计算使用parfor循环。parfor分裂的执行工人在一个平行的池循环迭代。

这个例子计算矩阵的谱半径和转换循环到一个parfor循环。找出如何衡量产生的加速。

  1. 在MATLAB®编辑器,输入以下循环。添加抽搐toc测量时间。

    抽搐n = 200;一个= 500;一个= 0 (n);i = 1: n (i) = max (abs (eig(兰德(a))));结束toc
  2. 运行脚本,注意时间。

    运行时间是31.935373秒。

  3. 在脚本中,取代循环用parfor循环。

    抽搐n = 200;一个= 500;一个= 0 (n);parfori = 1: n (i) = max (abs (eig(兰德(a))));结束toc

  4. 运行新的脚本,并再次运行它。注意,第一个比第二个慢跑,因为平行池需要一些时间开始,使可用的代码工人。请注意第二运行花费的时间。

    默认情况下,MATLAB自动打开一个平行的工人在本地机器上。

    开始平行池(parpool)使用过程的概要文件…连接到4工人……运行时间是10.760068秒。
    parfor运行在四名工人比相应的三倍循环运行。的加速小于理想的加速因子四个四个工人。这是由于并行开销,包括从客户端传输数据所需的时间和工人。这个例子显示了一个良好的加速并行开销相对较小,从转换成和福利parfor循环。并不是所有的循环迭代可以变成更快parfor循环。欲了解更多,请看决定何时使用parfor

一个关键要求parfor迭代循环,个人必须独立。适合独立问题parfor处理包括蒙特卡罗模拟和参数扫描。下一步,请参阅for循环转换成parfor-Loops

在本例中,您设法加快转换的计算循环到一个parfor循环在四个工人。你可能会进一步降低运行时间增加工人的数量在你的平行池,明白了扩大parfor-Loops集群和云

您可以修改您的集群配置文件来控制有多少工人运行循环,和工人们是否本地或集群。概要文件的更多信息,请参阅发现集群和集群配置文件使用

修改您的平行的偏好来控制是否自动创建一个平行的池,和多长时间超时之前保持可用。偏好的更多信息,请参阅指定您的平行的偏好

您可以运行仿真软件®与并行模型parsim命令,而不是使用parfor循环。的更多信息和示例使用并行仿真软件,明白了运行多个模拟(模型)

另请参阅

|||

相关的话题

Baidu
map