0

我有一个在本地计算机上开发的 MPI 程序,但需要在远程计算机上运行。我曾经clock()测量时间,但在发现它在远程机器上运行得不够好(由于完全不同的架构)之后,我替换了一些对clock()with的调用MPI_Wtime(),这产生了所需的结果。该程序仍然在本地和远程机器上运行。

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

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

4

2 回答 2

4

你是MPI_Wtime()从静态对象的构造函数调用的吗?这些运行之前main()

于 2010-06-10T15:18:51.850 回答
0

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

于 2010-06-10T14:44:42.277 回答