0
我試圖使用MPI_Wtime()
來測試總運行時間,但是我得到不正確的輸出。MPI運行時給出不正確的輸出
#include "mpi.h"
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
int main(int argc, char *argv[])
{
int rank, size, len;
double start, end, runtime;
char name[MPI_MAX_PROCESSOR_NAME];
MPI_Init(&argc, &argv);
MPI_Barrier(MPI_COMM_WORLD);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Get_processor_name(name, &len);
start = MPI_Wtime();
printf("Hello World! I am %d of %d on %s\n", rank, size, name);
fflush(stdout);
Sleep(1000);
MPI_Barrier(MPI_COMM_WORLD);
end = MPI_Wtime();
MPI_Finalize();
if (rank == 0)
{
runtime = end - start;
printf("Start time = %d\n", start);
printf("End time = %d\n\n", end);
printf("Runtime = %d\n", runtime);
}
system("pause");
return 0;
}
我得到的輸出是這樣的:
的Hello World!我在測試
開始時間是1 0 = 505400631
結束時間= 521122106運行時間= -1878261760
按任意鍵繼續。 。 。
我期待得到秒,但我得到這些長輸出。任何想法爲什麼?
下次您提交問題時,請將實際文字替換爲您程序輸出的圖像。在很多情況下很難看到這個圖像,只有真正的輸出才更好。 – 2014-09-20 17:21:47