MPI_FILE_WRITE_ALL_BEGIN(fh,
buf,count,datatype) INOUTfh 视口文件句柄 IN buf读取数据存放的缓冲区 IN count读取数据的个数 IN datatype 读取数据的数据类型 int MPI_File_write_all_begin(MPI_File fh, void * buf, int count, MPI_Datatype datatype) MPI_FILE_WRITE_ALL_BEGIN(FH, BUF, COUNT, DATATYPE, IERROR) <type> BUF(*) INTEGER FH, COUNT, DATATYPE, IERROR MPI_FILE_WRITE_ALL_BEGIN和MPI_FILE_READ_ALL_BEGIN类似,它启动一个非阻塞的组写入操作,视口文件句柄fh对应的进程组中的所有进程都需要执行该调用,它将数据缓冲区buf中的count个数据类型为datatype的数据,写入到句柄fh对应的视口文件中。该调用不必等到写入操作的完成就可以立即返回,写操作的完成是通过调用另一个组调用语句MPI_FILE_WRITE_ALL_END实现的。 MPI_FILE_WRITE_ALL_END(fh, buf,status) INOUTfh视口文件句柄 IN buf 写入数据存放的缓冲区 OUTstatus返回的状态信息 int MPI_File_write_all_end(MPI_File fh, void * buf, MPI_Status * status) MPI_FILE_WRITE_ALL_END(FH, BUF, STATUS, IERROR) <type> BUF(*) INTEGER FH, STATUS(MPI_STATUS_SIZE) , IERROR MPI_FILE_WRITE_ALL_END也是一个组调用,它和MPI_FILE_WRITE_ALL_BEGIN结合起来,实现非阻塞视口文件的组写入。当MPI_FILE_WRITE_ALL_END调用完成后,前面启动的非阻塞组文件写入操作才真正完成,数据缓冲区才可以被释放或更新。 |
||