MPI_FILE_OPEN(comm, filename, amode, info, fh)
INcomm组内通信域
INfilename将打开的文件名
INamode 打开方式
INinfo传递给运行时的信息
OUT fh返回的文件句柄
int MPI_File_open(MPI_Comm comm, char * filename, int amode, MPI_Info info,
MPI_File * fh)
MPI_FILE_OPEN(COMM,FILENAME, AMODE, INFO, FH,IERROR)
CHARACTER *(*) FILENAME
INTEGER COMM, AMODE, INFO, FH, IERROR

MPI_FILE_OPEN是一个组调用,即通信域comm中的所有进程都必须按给定的文件名filename来执行它,各进程使用的文件名filename要相同,给定的打开方式amode也要相同,但是各进程传递给运行时的信息info可以互不相同。该调用返回一个文件句柄fh,以后各进程对文件的具体操作都是通过文件句柄fh来实现的。
根据用途的不同,打开方式可以是如下所示的任何9种方式之一。

文件打开方式

打开方式含义
MPI_MODE_RDONLY只读
MPI_MODE_RDWR读写
MPI_MODE_WRONLY只写
MPI_MODE_CREATE若文件不存在则创建
MPI_MODE_EXCL创建不存在的新文件,若存在则错
MPI_MODE_DELETE_ON_CLOSE关闭时删除
MPI_MODE_UNIQUE_OPEN不能并发打开
MPI_MODE_SEQUENTIAL文件只能顺序存取
MPI_MODE_APPEND追加方式打开,初始文件指针指向文件尾

MPI_FILE_CLOSE(fh)
INOUTfh前面打开的文件句柄
int MPI_File_close(MPI_File * fh)
MPI_FILE_CLOSE(FH,IERROR)
INTEGER FH, IERROR

MPI_FILE_CLOSE关闭前面已经打开的与句柄fh相联系的文件,它也是一个组调用,即所有打开该文件的进程,也必须都执行关闭操作。这里虽然没有明确指出通信域或进程组,但是,文件句柄fh已包含了进程组的信息。

MPI_FILE_DELETE(filename, info)
INfilename将删除的文件名
INinfo传递给运行时的信息
int MPI_File_delete(char * filename, MPI_Info info)
MPI_FILE_DELETE(FILENAME, INFO, IERROR)
CHARACTER *(*) FILENAME
INTEGER INFO, IERROR

MPI_FILE_DELETE删除指定的文件filename。