MPI_FILE_WRITE_AT(fh, offset, buf, count, datatype,status)
INOUTfh文件句柄
IN offset写入文件数据的起始偏移地址
IN buf 将写入数据存放缓冲区的起始地址
IN count 写入数据的个数
IN datatype写入数据的数据类型
OUTstatus  写入操作完成后返回的状态信息
int MPI_File_write_at(MPI_File fh, MPI_Offset offset, void * buf, int count,
MPI_Datatype datatype, MPI_Status * status)
MPI_FILE_WRITE_AT(FH, OFFSET, BUF, COUNT, DATATYPE, STATUS,
IERROR)
<type> BUF(*)
INTEGER FH, COUNT, DATATYPE, STATUS(MPI_STATUS_SIZE), IERROR
INTEGER (KIND=MPI_OFFSET_KIND) OFFSET

MPI_FILE_WRITE_AT与MPI_FILE_READ_AT相对应,它向文件句柄fh对应中,从指定的位置offset开始,将数据缓冲区buf中count个类型为datatype的数据,写入到该文件中,其中status是返回的状态参数。
图17-2 MPI_FILE_WRITE_AT图示

MPI_FILE_READ_AT_ALL(fh, offset,but,count,datatype,status)
INfh读取文件的文件句柄
INoffset读取数据的起始偏移位置
OUT buf 存放读取数据的缓冲区
INcount 读取数据个数
INdatatype读取数据的数据类型
OUT status读取操作完成后的状态
int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count,
MPI_Datatype datatype, MPI_Status * status)
MPI_FILE_READ_AT_ALL(FH, OFFSET,BUF,COUNT,DATATYPE,STATUS, IERROR)
<type> BUF(*)
INTEGER FH, COUNT, DATATYPE, STATUS(MPI_STATUS_SIZE), IERROR
INTEGER (KIND=MPI_OFFSET_KIND) OFFSET

MPI_FILE_READ_AT_ALL是组调用,即与文件句柄fh相联系的进程组中的所有进程都要执行此读取调用,就如同每个进程都执行了一个相应的MPI_FILE_READ_AT操作。

MPI_FILE_WRITE_AT_ALL(fh, offset, buf, count, datatype, status)
INOUTfh写入文件的句柄
IN offset写入数据的开始位置
IN buf 存放将写入数据的缓冲区
IN count 写入数据的个数
IN datatype写入数据的数据类型
OUTstatus写入完成后返回的状态
int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, void * buf, int count,
MPI_Datatype datatype, MPI_Status * status)
MPI_FILE_WRITE_AT_ALL(FH, OFFSET, BUF, COUNT, DATATYPE,
STATUS, IERROR)
<type> BUF(*)
INTEGER FH, COUNT, DATATYPE, STATUS(MPI_STATUS_SIZE),
IERROR
INTEGER (KIND=MPI_OFFSET_KIND) OFFSET

MPI_FILE_WRITE_AT_ALL操作和MPI_FILE_READ_AT_ALL相对应,它也是一个组调用,即与文件句柄fh相联系的所有进程都必须执行此调用,它如同每一个进程都执行了一个相应的MPI_FILE_WRITE_AT操作一样。