了解 MPI 错误

Understanding an MPI error

我对计算机科学(化学背景)相当陌生,但正在编写使用 C 中的 MPI 的代码。每次编译我的代码时都会遇到各种错误,例如,

rank 0 in job 1  cems_54844   caused collective abort of all ranks
  exit status of rank 0: killed by signal 9

在过去的一周里出现了各种与此类似的错误,我真的需要一些帮助来实施一些方法来找出更多关于这个问题的信息。

下面page是关于MPI中的错误处理。不幸的是,我对计算机科学的了解还不够,无法理解这个讨论。

有了这个,我希望有人愿意给我一个关于处理 MPI 错误的速成课程,并且也许(对于外行)对链接的讨论有更多的了解?

我不是在问有关 "will you write a code for me" 的问题,我是在寻求有关如何理解 MPI 错误的概念性建议。

程序员可以以多种形式呈现错误信息。他们通常会将错误列表定义为数字(或更常见的是将数字按某种顺序分配给标签的枚举)。

您首先需要了解的是 "Error 9" 代表什么。

在谷歌上快速搜索一下,您会看到几个页面,其中列出了错误代码的各种枚举,但大多数只显示文本而不是数字。您可以假设枚举从 0 开始,一直计数到 9,但这可能并不完全准确。此外,与您正在查看的列表相比,不同版本的软件可能会向枚举添加额外的错误代码,因此您需要查看您所使用的特定软件和版本的代码 运行。但.... 我找到了 Microsoft's MPI errors 的错误列表,其中列出了这个:

MPI_ERR_OP = 9

或无效操作。您的程序试图执行未定义的指令。

这里定义了有效的指令for Microsoft's version