如何使用 Intel Advisor 分析我的并行 MPI 应用程序?

How to use Intel Advisor to profile my parallel MPI application?

我正在远程 Linux 服务器上工作,我的应用程序 运行ning 与 MPI 并行运行。我想分析它并测试每个 MPI 进程中的负载平衡有多好,哪些是代码中最重的部分。

对于运行我的并行应用程序,我通常运行是这样的:

mpirun -n # ${location}/myApp arg1 arg2 etc.

在机器中有一个关于 Intel Advisor 的模块,我将要使用它。图形用户界面命令 advixe-gui 不起作用所以我必须使用 advixe-cl

以防万一,当我键入: advixe-cl 它 returns 我这个:

Intel(R) Advisor Command Line Tool Copyright (C) 2009-2019 Intel Corporation. All rights reserved. Usage: advixe-cl <--action> [--action-option] [--global-option] [[--] <target> [target options]] Use --help for details.

知道如何进一步进行分析吗?

您需要在命令行中提供一个操作 - 根据语法,它不是可选的:

$ advixe-cl <--action> [--action-options] [--global-options] [[--] 目标 [目标选项]]

行动是收集或报告。每个命令只有一个动作。例如,您不能在同一命令中同时使用收集和报告操作。

您可以查看 Advisor 用户指南 here.

您必须使用 Advisor 的命令行 (advixe-cl) 并且您必须“wrap”您的 advixe-cl 命令行通过 mpirun。然后您可以使用 GUI 复制和查看获得的配置文件 - 每个配置文件的级别都有个人 "result view"。

您可以通过几种方式"wrap"命令行,例如(特定于英特尔 MPI):

$ mpirun -n 1 -gtool "advixe-cl -collect survey -no-auto-finalize -project-dir /user/test/vec_project:0" /user/test/vec_samples/vec_samples

或(带有 SLURM 的通用 MPI):

$ srun –n 1 –c 32 advixe-cl --collect=survey --project-dir=./adv -- ./miniFE.x

此主题在以下英特尔 "Cookbooks" 和文章中有许多详细描述(包括选择性排名分析或例如 Cray 或英特尔 MPI 细节):

  1. 英特尔 MPI 特定:Analyzing Intel MPI applications with Intel Advisor
  2. 通用 MPI、SLURM,用于著名的 WRF 工作负载:Analyze Vectorization and Memory Aspects of an MPI Application "cookbook"
  3. Cray 系统上的 MPI 应用程序顾问:Analyze Performance on Cray Systems "cookbook"
  4. Advisor Documentation chapter
  5. Yet another article