如何:配置和启动 MPI 群集调试程序

来源:互联网 发布:2017程序员薪资报告 编辑:程序博客网 时间:2024/05/29 12:52

原文:http://technet.microsoft.com/zh-cn/subscriptions/dd560809(v=vs.100).aspx

http://blog.csdn.net/nightelve/article/details/8243917

使用 MPI 群集调试程序,您可以调试 Windows HPC Server 群集上运行的并行应用程序和通过消息传递界面 (MPI) 通讯的并行应用程序。在 Visual Studio 中,您可以选择群集头节点并指定要纳入调试会话的进程数、为群集调试会话配置高级属性,然后启动调试程序。

使用 MPI 群集调试程序的要求

  • 您的开发计算机上必须安装了 Visual Studio 2010 Professional Edition 或更高版本(包括远程调试程序)。

  • 您必须在群集上拥有管理权限。

  • Visual Studio 必须能够访问要运行调试会话的计算节点。以下方案提供了所需的访问权限:

    • 您在群集头节点或专用登录节点上开发应用程序。

    • 所使用群集的计算节点被连接到企业网络(拓扑 2、4 或 5),并且您的开发计算机连接到了相同的域或是与群集域有信任关系的域。

  • 要从客户端计算机将应用程序提交到 HPC 群集,您必须安装了 Microsoft HPC Pack 2008。

  • 要使用 Microsoft 消息传递界面构建 MPI 程序,需要在开发计算机上安装 Windows HPC Server 2008 SDK。

配置 MPI 群集调试程序的步骤
  1. 在 Visual Studio 中,打开含有并行应用程序的解决方案。

  2. 在“项目”菜单上,单击“<您的项目名称>属性”。此操作将打开“属性页”对话框。

  3. 展开“配置属性”节点,然后选择“调试”

  4. 在“要启动的调试程序”中,选择“MPI 群集调试程序”

  5. 选择要用于调试的节点和进程数。

    1. 在“运行环境”中,从下拉列表选择“编辑 Hpc 节点”。此操作将打开“节点选择器”对话框。

    2. 在“头节点”下拉列表中,选择要使用的头节点名称。如果看不到您的头节点,请键入头节点名称或 IPv4 地址。

    3. 在“进程数”中,选择要启动的进程数。

    4.  在“计划进程”中,选择如何分配您的进程。您可以选择每“核”、“套接字”或“节点”分配一个进程

    5. 在“选择节点”中,您可以指定要运行调试会话的节点组(可选)。选择的组中的节点将显示在节点列表中。

    6. 要请求特定节点,请选择“手动选择节点以添加到分配中”,然后选择列表中的单个节点(可选)。

    7. 单击“确定”保存更改并关闭“节点选择器”对话框。

  6. 配置以下属性:

    1. “部署目录”

      指定部署目录的名称。这是调试程序启动时项目输出文件将被复制到的位置。此位置应该是一个网络共享资源位置,例如:

      \\myTestCluster\CcpSpoolDir\$(UserName)\$(ProjectName) 

    2. “工作目录”

      在每个计算节点上指定一个本地工作目录。部署目录中的文件将被复制到计算节点上的工作目录中。

    3. “应用程序命令”

      指定 MPI 将在每个群集节点上运行的应用程序名称或应用程序路径(这里指您在 Visual Studio 中调试的应用程序)。此路径可以是群集中每个计算节点上的共享资源路径或本地路径。 如果是本地路径,则每个节点上的路径必须相同,例如:

      $(WorkDir)\$(TargetFileName) 

    4. “部署 CRT”

      选择“是”可使 Visual Studio 与应用程序一起部署 C 运行时 (CRT) 程序集。

      如果您的多线程调试动态链接库 (DLL) 是静态链接的,则无需部署 CRT 文件。如果您的多线程调试 DLL 是动态链接的,则需要部署 CRT 文件。

    5. “清理部署”

      选择“是”

      Dd560809.note(zh-cn,VS.100).gif注意:如果部署目录含有非 Visual Studio 放置的文件,则将不会删除目录。例如,如果应用程序有输出文件到部署目录,则应使用调试后脚本来删除目录。

  7. 单击“确定”保存更改并关闭“属性页”

Dd560809.note(zh-cn,VS.100).gif注意:当调试多个进程时,默认情况下断点将会影响所有正在调试的进程。为避免在不希望的位置中断各个进程,请取消选择“一个进程中断时中断所有进程”选项。有关如何更改中断行为的详细信息,请参阅如何:中断执行。

启动 MPI 群集调试程序的步骤
  1. 在您的代码中设置一个或多个断点。有关设置断点的信息,请参阅断点和跟踪点。

  2. 按 F5 启动调试程序。

    Dd560809.note(zh-cn,VS.100).gif注意:在 MPI 群集调试程序中,不可未经过调试即启动。按 Ctrl+F5(或在“调试”菜单上选择“启动时不要进行调试”)也可以启动调试。

  3. 由于您向群集提交了一份作业,因此系统会提示您输入连接到群集的密码。键入密码,然后按 Enter。

  4. 启动调试程序后,请检查进程窗口以验证各个进程的位置。对于每个进程,可通过“传输限定符”列查看进程运行的计算节点。

Dd560809.note(zh-cn,VS.100).gif注意:启动调试程序后,可通过双击“进程”窗口中的某个进程来设置用于调试的活动进程。要打开“进程”窗口,请在“调试”菜单中单击“窗口”,然后单击“进程”