|
在程序编写中,在合适的地方(如在每一时间推进处)加上一判断语句,用来判断是否存在STOPFILE. 如果存在,则转入正常终止部分;否则,继续执行. 还可以根据STOPFILE中的内容来干预程序的执行. 例子如下: // Only root process checks single-byte record in "stopfile": 'g' or 's' if (myid == 0) { MPI_File_open(MPI_COMM_SELF, "stopfile", MPI_MODE_CREATE | MPI_MODE_RDWR, MPI_INFO_NULL, &fh); MPI_File_set_view(fh, 0, MPI_CHAR, MPI_CHAR, "native", MPI_INFO_NULL); MPI_File_read(fh, &a, 1, MPI_CHAR, &status); MPI_File_close(&fh); // if (a == 's') { a = 'g'; continFlag = 0; MPI_File_open(MPI_COMM_SELF, "stopfile", MPI_MODE_CREATE | MPI_MODE_RDWR, MPI_INFO_NULL, &fh); MPI_File_set_view(fh, 0, MPI_CHAR, MPI_CHAR, "native", MPI_INFO_NULL); MPI_File_write(fh, &a, 1, MPI_CHAR, &status); MPI_File_close(&fh); } } |
|