【问题标题】:Understanding an MPI error了解 MPI 错误
【发布时间】:2016-04-19 23:57:46
【问题描述】:

我对计算机科学(化学背景)相当陌生,但我正在编写一个在 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 错误的速成课程,并可能对链接的讨论有更多的了解(对于外行)?

我不是在问“你会为我写代码吗”的问题,我是在寻求关于如何理解 MPI 错误的概念性建议。

【问题讨论】:

  • 这是关于编程的。与计算机科学无关。
  • 请提供有关您正在使用的系统的信息,尤其是哪个 MPI 实现、应用程序、批处理系统等以及更多错误消息。这样我们就可以提供具体的帮助。注意:signal 9SIGKILL,可能只是潜在原因的影响。

标签: c mpi


【解决方案1】:

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

您需要了解的第一件事是“错误 9”代表什么。

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

MPI_ERR_OP = 9

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

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

【讨论】:

  • 信号 9 很可能与 MPI 错误代码无关。很可能只是SIGKILL
  • 你对形势的分析是完全错误的。错误消息清楚地写着“signal 9killed”。这不是 MPI 错误代码;这是一个外部传递或内部引发的 Unix KILL 信号(强制进程终止),很可能是前者,而且很可能是由于进程超出了其资源限制。
猜你喜欢
  • 2013-03-07
  • 2021-09-18
  • 2015-10-06
  • 2013-01-10
  • 2017-06-25
  • 2014-11-16
  • 2014-05-07
  • 2014-05-07
  • 1970-01-01
相关资源
最近更新 更多