我对计算机科学(化学背景)相当陌生,但我正在编写一个在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错误提出概念性建议。
答案 0 :(得分:-1)
程序员可以以多种形式呈现错误信息。他们通常会将错误列表定义为一个数字(或者更常见的是枚举,它按照某种顺序将数字分配给标签)。
您需要了解的第一件事是“错误9”代表什么。
快速的谷歌搜索将引导您到几个列出错误代码的各种枚举的页面,但大多数只显示文本而不是数字。您可以假设枚举从零开始并计数直到达到9,但这可能不完全准确。此外,与您正在查看的列表相比,该软件的不同版本可能会在枚举中添加其他错误代码,因此您需要查看正在运行的特定软件和版本的代码。但.... 我找到了Microsoft's MPI errors的错误列表,列出了这个:
MPI_ERR_OP = 9
或无效操作。你的程序试图做一个未定义的指令。
此处定义了有效说明for Microsoft's version