讲解: 在MPI采用标准通信模式时,是否对发送的数据进行缓存是由MPI自身决定的,而不是由并行程序员来控制。 如果MPI决定缓存将要发出的数据,发送操作不管接收操作是否执行,都可以进行,而且发送操作可以正确返回而不要求接收操作收到发送的数据。 由于缓存数据是需要付出代价的,它会延长数据通信的时间,而且缓冲区也并不是总可以得到的,这样MPI也可以不缓存将要发出的数据,这样只有当相应的接收调用被执行后,并且发送数据完全到达接收缓冲区后,发送操作才算完成。对于非阻塞通信,发送操作虽然没有完成,但是发送调用可以正确返回,程序可以接下来执行其它的操作。 |