MATLAB并行计算解决方案.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

??

?

??

MATLAB并行计算解决方案

?

??

?

?

?

?

?

?

?

???

?

?

?

?

?

姚尚锋+刘长江+唐正华

DOI:10.16644/33-1094/tp.2016.09.021

摘要:为了利用分布式和并行计算来解决高性能计算问题,本文介绍了利用MATHWORKS公司开发的并行计算工具箱在MATLAB中建模与开发分布式和并行应用的一些方法;包括并行for循环、批处理作业、分布式数组、单程序多数据(SPMD)结构等。用这些方法可将串行MATLAB应用程序转换为并行MATLAB应用程序,且几乎不需要修改代码和低级语言编写程序,从而提高了编程和程序运行的效率。用这些方法来执行模型,可以解决更大的问题,覆盖更多的仿真情景并减少桌面资源。

关键词:建模;仿真;并行计算;MATLAB

中图分类号:TP31文献标志码:A文章编号:1006-8228(2016)09-73-03

ParallelcomputingsolutionswithMATLAB

YaoShangfeng,LiuChangjiang,TangZhenghua,DaiDi

(SimulationTrainingCenter,ArmoredForceInstitute,Bengbu,Anhui233050,China)

Abstract:Fortheuseofdistributedandparallelcomputingtosolvetheproblemofhigh-performancecomputing,thisarticledescribestheuseofParallelComputingToolboxdevelopedbyMATHWORKSCompanyandsomemethodsofparallelapplications,includingparallelforloop,batchjobs,distributedarrays,SingleProgramMultipleData(SPMD)structure.bythemethods,theserialMATLABapplicationscanbeconvertedtoparallelMATLABapplications,andalmostnoneedtomodifythecodeandprograminlowlevellanguages,therebyincreasingtheefficiencyofprogrammingandoperation.Usethismethodtoperformmodelcansolvebiggerproblems,covermoresimulationscenariosandreducethedesktopresources.

Keywords:modeling;simulation;parallelcomputing;MATLAB

0引言

用户面临着用更少的时间建立复杂系统模型的需求,他们使用分布式和并行计算来解决高性能计算问题。MATHWORKS公司开发的并行计算工具箱(ParallelComputingToolbox)[1-5]可以在MATLAB中建模和开发分布式和并行应用,并在多核处理器和多核计算机中执行,解决计算、数据密集型问题[2],而且并不离开即使的开发环境;无需更改代码,即可在计算机集群上运行同一个应用程序(使用MATLABDistributedComputingServer)。并行的MATLAB应用程序也可以作为可执行程序或共享库(用MATLABCompiler构建)分发,这些可执行程序或共享库可以访问MATLAB。

1并行for循环

并行for循环提供了一种在多个MATLABworker(从客户会话中单独运行的MATLAB计算引擎)间分配任务的方式。使用该循环,可以将独立的循环迭代自动分配给多个MATLABworker。例如,100次迭代的循环可以同时在20个MATLABworker集群上运行,从而每个worker只执行五次迭代循环,整体上提高了循环的速度。并行for循环用关键字parfor代替关键字for。parfor结构管理着MATLAB客户端与worker之间的数据和代码传输。它会自动检测是否有worker,如果没有,则还原为串行方式。

下面给出如何将一个简单的for循环修改为一个并行的for循环[1,6]。这一循环没有很多的迭

文档评论(0)

134****9594 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档