主要内容

当并行运行统计功能

为什么并行运行?

并行运行统计计算的主要原因是获得速度,意义减少程序或函数的执行时间。影响速度的因素讨论了主要项目影响程序或函数的速度。影响结果的因素讨论细节,可以导致并行运行给比串行运行不同的结果。

请注意

一些统计和机器学习的工具箱™函数具有内置的并行计算能力。看到快速启动并行计算的统计和机器学习工具。您还可以使用任何与并行计算统计和机器学习的工具箱函数工具箱™等功能parfor循环。决定何时调用并行函数,考虑影响因素的速度和结果。

影响速度的因素

一些因素可以影响并行处理的执行速度是:

  • 并行环境设置。这需要时间parpool开始并行计算。如果你的计算速度快,节省安装时间可以超过任何时间的并行计算。

  • 并行开销。在沟通和协调有开销并行运行时。如果快速功能评估,此开销可能是一个明显的总计算时间的一部分。因此,并行解决问题可以低于连续解决问题。例如,看到的与并行计算提高优化性能在MATLAB®消化,2009年3月。

  • 没有嵌套parfor循环。这是描述的使用parforparfor不能并行工作,从另一个parfor循环。如果你有编程利用并行处理您的自定义功能,没有嵌套的限制parfor循环可以导致并行函数运行慢于预期。

  • 当串行执行,parfor循环运行有点慢循环。

  • 传递参数。参数自动传递给工人会话期间执行的并行计算。如果有很多参数,或者他们需要大量的内存,传递参数能减缓你的执行计算。

  • 争用资源:网络和计算。如果工人的低带宽或延迟高、并行计算可以缓慢。

影响结果的因素

当使用并行处理一些因素会影响结果。你可能需要调整你的代码来并行运行,例如,你需要独立的循环和工人们必须能够访问变量。一些重要的因素是:

  • 持续或全局变量。如果函数使用持久或全局变量,这些变量可以取不同的值在不同的工人处理器。的身体parfor循环不能包含全球或持久变量声明。

  • 访问外部文件。计算的顺序是不能保证在并行处理,因此可以访问外部文件在不可预知的秩序,导致不可预知的结果。此外,如果多个处理器同时试图读取外部文件,该文件可以成为锁定,导致读取错误,停止函数执行。

  • Noncomputational功能,例如输入,情节,键盘表现很差,可以在您的自定义函数。不使用这些功能吗parfor循环,因为他们可以使工人成为停止响应,因为它是等待输入。

  • parfor不允许打破返回语句。

  • 你使用的随机数会影响计算的结果。看到统计计算并行再现性

建议将循环使用parfor,请参阅并行for循环(parfor)(并行计算工具箱)