当我在不存在的文件上调用MPI_File_open()
时,MPI显示异常行为。在以下示例代码之后,它将完全停止整个应用程序
MPI_File testfile;
char testfilename[FNAME_CHAR];
sprintf(testfilename, "test.txt"); //non-existing file
ierr = MPI_File_open(MPI_COMM_WORLD, testfilename, MPI_MODE_RDONLY, MPI_INFO_NULL, &testfile);
if (ierr != MPI_SUCCESS) {
printf("ierr: %d\n", ierr);
}
else {
printf("opened %s\n", testfilename);
MPI_File_close(&testfile);
}
通常应该可以正常工作,因为即使文件不存在,应用程序也应该继续执行,而只是完全挂起。