中文
注册

从指定的位置开始读取文件

函数定义

  • 以阻塞非聚合模式从单个文件指针指定的位置开始读取文件。

    MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

    PMPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

  • 以阻塞聚合模式从单个文件指针指定的位置开始读取文件。

    MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

    PMPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)

  • 在一个分离的集合例程的开始部分,从各个文件指针指定的位置开始读取文件。

    MPI_File_read_all_begin(MPI_File fh, void* buf, int count, MPI_Datatype datatype)

    PMPI_File_read_all_begin(MPI_File fh, void* buf, int count, MPI_Datatype datatype)

  • 在一个分离的集合例程的结束部分,从各个文件指针指定的位置开始读取文件。

    MPI_File_read_all_end(MPI_File fh, void* buf, MPI_Status *status)

    PMPI_File_read_all_end(MPI_File fh, void* buf, MPI_Status *status)

参数

参数名

描述

取值范围

输入/输出

fh

文件(句柄)

非空

输入

*buf

缓冲区的初始地址

非空

输出

count

缓冲区中的元素数

非负整数

输入

datatype

每个缓冲元素的数据类型(句柄)

非空

输入

*status

Status对象(句柄)

非空

输出

返回值

  • 成功:返回MPI_SUCCESS。
  • 失败:返回错误码。

错误码

错误码

描述

MPI_ERR_NO_SUCH_FILE

文件不存在

MPI_ERR_BAD_FILE

无效的文件名

MPI_ERR_FILE

无效文件句柄

MPI_ERR_ARG

其他类型的无效参数

MPI_ERR_AMODE

不支持的访问模式

MPI_ERR_BUFFER

无效buffer参数

MPI_ERR_COUNT

无效count参数

MPI_ERR_TYPE

无效类型参数

MPI_ERR_DIMS

维度不合理

MPI_ERR_NO_SPACE

空间不足

MPI_ERR_NO_MEM

内存错误

MPI_ERR_IO

其他I/O错误

MPI_ERR_ACCESS

权限被拒绝

MPI_ERR_IN_STATUS

已存在分离式操作开始

MPI_ERR_OTHER

其他错误

注意

  • 中间件不存在collective与indepent的严格划分。
  • begin与end以file为核心进行对应,begin函数需要在调用end函数之后,才能再次调用。
  • 若文件设置了视图,则读写时需要视图保持一致,且设置视图后,读写的基本单位为MPI_File_set_view / PMPI_File_set_view接口中的etype。
搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词