相信很多同学在刚学习MPI的时候发现虽然使用了MPI_Barrier(),打印的结果依然是原来的样子,其实,并不是MPI_Barrier()的原因,你只需要加上时间戳(MPI_Wtime())看一下,就会知道其实程序运行的结果还是正确的,只不过printf的顺序错了。
至于为什么这样,是MPI机制决定的,它是在每个线程结束后打印自己所有要打印的结果,而不是实时打印,相信你看到这已经心里有数了吧!
相信很多同学在刚学习MPI的时候发现虽然使用了MPI_Barrier(),打印的结果依然是原来的样子,其实,并不是MPI_Barrier()的原因,你只需要加上时间戳(MPI_Wtime())看一下,就会知道其实程序运行的结果还是正确的,只不过printf的顺序错了。
至于为什么这样,是MPI机制决定的,它是在每个线程结束后打印自己所有要打印的结果,而不是实时打印,相信你看到这已经心里有数了吧!