用MPI_Wtime()替换对clock()的调用后立即崩溃

时间:2010-06-10 14:41:12

标签: c++ mpi exit-code

我有一个MPI程序,我正在本地计算机上开发,但需要在远程计算机上运行。我使用clock()来测量时间,但在发现它在远程计算机上运行不正常(由于完全不同的架构)之后,我用{{1}替换了一些调用clock()产生了所需的结果。该程序仍在本地和远程计算机上运行。

但是,我刚刚用MPI_Wtime()替换了clock()的所有其他调用,现在在本地计算机上启动程序会立即导致进程停止,退出代码为-1073741819。即使我在MPI_Wtime()的第一行放了一个cout,也没有输出,所以我很确定这不是我的编程错误,但我不知道出了什么问题。< / p>

在执行更改的代码(或任何代码)之前,源代码中的更改如何导致程序失败?

2 个答案:

答案 0 :(得分:4)

您是否从静态对象的构造函数中调用MPI_Wtime()?它们在main()之前运行。

答案 1 :(得分:0)

那个cout被'endl'或'flush'操纵者冲了?如果没有,程序可能会在之后崩溃,但你永远不会知道,因为缓冲的输出会丢失。