主要内容

何时并行运行统计功能

为什么并行运行?

并行运行统计计算的主要原因是增益速度,意味着减少程序的执行时间或功能。影响速度的因素讨论影响​​程序或功能速度的主要项目。影响结果的因素讨论可能导致并行运行的详细信息,从串行运行提供不同的结果。

笔记

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

影响速度的因素

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

  • 并行环境设置。运行需要时间parpool.开始并行计算。如果您的计算快速,则设置时间可能超过并行计算保存的任何时间。

  • 平行开销。并行运行时,通信和协调有开销。如果功能评估快,则该开销可能是总计算时间的可观部分。因此,并行解决问题可能比串联解决问题慢。例如,看到使用并行计算提高优化性能在matlab.®摘要,2009年3月。

  • 没有嵌套议案循环。这描述于与律师合作议案从另一个人调用时不正常工作议案环形。如果您对自定义功能进行了编程以利用并行处理,则无嵌套的限制议案循环可能导致并行功能运行比预期慢。

  • 串行执行时,议案循环略微慢于为了循环。

  • 通过参数。在执行并行计算期间,参数将自动传递给工作会话。如果有许多参数,或者它们需要大量的内存,则传递参数可以减缓计算的执行。

  • 资源争用:网络和计算。如果工人池具有低带宽或高延迟,并行计算可能会慢。

影响结果的因素

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

  • 持久或全局变量。如果任何函数使用持久性或全局变量,则这些变量可以在不同的工作者处理器上采用不同的值。一个人的身体议案循环不能包含全局或持久变量声明。

  • 访问外部文件。在并行处理期间不保证计算顺序,因此可以以不可预测的顺序访问外部文件,从而导致不可预测的结果。此外,如果多个处理器尝试同时读取外部文件,则该文件可以锁定,导致读取错误,并暂停函数执行。

  • 非跟函数,如输入阴谋, 和键盘在您的自定义功能中使用时,可以表现得很糟糕。不要在a中使用这些函数议案循环,因为它们可能导致工人变得不响应,因为它正在等待输入。

  • 议案不允许休息要么返回陈述。

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

有关转换循环的建议议案, 看平行的循环(Parcol)(并行计算工具箱)