Visual Studio 2010中调试并行应用程序(下)

日期: 2009-10-27 来源:TechTarget中国 英文

  剖析 (Profiling)

  Windows Server HPC 1.0中没有集成针对MPI程序的剖析功能。在Windows HPC Server 2008中,XPerf等工具提供了MPI的剖析以及系统级别的剖析和故障排查的功能。但即使是XPerf也对MPI消息流量等细节所知甚少,目前为止也没有消息流量的浏览器。自那以后,消息流量浏览器Vampir被导入到Windows并完整地集成在事件跟踪日志(ETW)中。Vampir提供了对消息顺序和延迟进行故障排查的功能。还有更多的开源HPC工具,比如JumpShot是一个免费的基于Java的MPI消息浏览器。

  在很多时候,VS内置的剖析器就能提供性能问题的分析。在Visual Studio 2010中,这一功能与HPC工作调度器进行了完整的集成,用来分析一个特定的MPI排名或节点的性能。Visual Studio MPI 剖析功能提供了行级别的剖析信息,包括与源代码视图并排的执行过程中的温度视图:

图4 源代码视图并排的执行过程中的温度视图 

  剖析器还显示多个运行或版本的结果比较报告,这样您就可以轻松地了解您的修改所带来的效果。

多版本结果比较

图5 多版本结果比较

  MPI 运行时分析

  除了调试器和剖析器之外,有时您还需要专门的分析工具来帮助分析大规模并行程序的复杂度。位于斯图加特的HLRS/ZIH是德国的一个在该领域领先的机构,将他们自己的MPI分析工具Marmot导入到了Visual Studio 2008。Marmot可以用来检查MPI调用的输入参数的合法性、检测无法再生性、死锁和对资源的不正确管理。下面是运行中的Marmot:

 

Marmot运行中

  从Printf到集成的剖析和调试

  不久前我们还在printf风格的调试世界里,“艺术级”的调试和剖析工具将此往前推进了一大步。

  在Visual Studio里,您可以调试和剖析高性能MPI程序以及拥有成百到上千个核的集群SOA应用程序。您可以使用XPerf和事件跟踪日志来获取应用程序在整个系统环境中的全局视图。Visual Studio 2010里新增的多核剖析和调试工具也可以有效地用于集群的节点级别分析。

  Visual Studio正成为越来越丰富和有效的编写各种并行程序的开发环境。访问Windows HPC Server 开发人员资源中心您能找到更多关于Windows HPC的开发模型。在CodePlex的Parallel Dwarfs站点上您能找到许多使用各种Visual Studio 2010并行编程模型的示例。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐