没有合适的资源?快使用搜索试试~ 我知道了~
MPI参考手册 MPI函数的C接口
4星 · 超过85%的资源 需积分: 32 88 下载量 19 浏览量
2010-11-23
23:10:39
上传
评论
收藏 304KB DOC 举报
温馨提示
试读
24页
给出主要MPI函数的参考手册。为了节省篇幅,这里仅列出MPI函数的C接口,Fortran 接口子程序的参数与C 接口函数的参数完全类似。除MPI_Wtime和MPI_Wtick外,Fortran接口子程序比C接口函数在最后多出一个整型参数,用于返回错误码。
资源推荐
资源详情
资源评论
附录 3:MPI 参考手册
本附录给出主要 MPI 函数的参考手册。为了节省篇幅,这里仅列出 MPI 函数的 C 接口,
Fortran 接口子程序的参数与 C 接口函数的参数完全类似。除 MPI_Wtime 和 MPI_Wtick 外,
Fortran 接口子程序比 C 接口函数在最后多出一个整型参数,用于返回错误码。
所列出的 MPI 函数和变量是按照它们的类别组织的。为方便查找特定的函数,附 3.1
中给出了一个 MPI 的函数、变量名称按字母顺序排列的索引。
本附录的内容主要参考文献[8, 9] 以及 MPICH 的部分在线手册编写而成。
附 3.1 MPI 函数、变量速查表
本节中出现在变量或函数名后边的页码代表它们在参考手册中所在页号,主要为了方
便它们的查找,没有其他含义。
MPI_2INT.....................................................4
MPI_Abort....................................................7
MPI_Address..............................................14
MPI_Aint......................................................5
MPI_Allgather............................................15
MPI_Allgatherv..........................................15
MPI_Allreduce...........................................16
MPI_Alltoall...............................................16
MPI_Alltoallv.............................................16
MPI_ANY_SOURCE...................................6
MPI_ANY_TAG...........................................6
MPI_Attr_delete.........................................19
MPI_Attr_get..............................................19
MPI_Attr_put..............................................19
MPI_BAND..................................................5
MPI_Barrier................................................14
MPI_Bcast..................................................15
MPI_BOR.....................................................5
MPI_BOTTO................................................6
MPI_Bsend...................................................9
MPI_Bsend_init..........................................12
MPI_BSEND_OVERHEAD........................6
MPI_Buffer_attach.......................................9
MPI_Buffer_detach......................................9
MPI_BXOR..................................................5
MPI_BYTE...................................................4
MPI_Cancel................................................11
MPI_CART...................................................6
MPI_Cart_coords........................................20
MPI_Cart_create.........................................20
MPI_Cart_get.............................................20
MPI_Cart_map...........................................20
MPI_Cart_rank...........................................20
MPI_Cart_shift...........................................21
MPI_Cart_sub.............................................21
MPI_Cartdim_get.......................................20
MPI_CHAR..................................................4
MPI_Comm..................................................5
MPI_Comm_compare................................19
MPI_Comm_create.....................................19
MPI_Comm_dup........................................19
MPI_Comm_free........................................19
MPI_Comm_group.....................................18
MPI_COMM_NULL....................................5
MPI_Comm_rank.......................................18
MPI_Comm_remote_group........................22
MPI_Comm_remote_size...........................22
MPI_COMM_SELF.....................................4
MPI_Comm_size........................................18
MPI_Comm_split.......................................19
MPI_Comm_test_inter...............................22
MPI_COMM_WORLD................................4
MPI_CONGRUENT....................................4
MPI_Copy_function.....................................5
MPI_Datatype...............................................5
MPI_DATATYPE_NULL............................6
MPI_Delete_function...................................5
MPI_Dims_create.......................................20
MPI_DOUBLE.............................................4
MPI_DOUBLE_INT....................................4
MPI_DUP_FN..............................................5
MPI_ERR_ARG...........................................7
MPI_ERR_BUFFER....................................6
MPI_ERR_COMM.......................................7
MPI_ERR_COUNT......................................7
MPI_ERR_DIMS.........................................7
MPI_ERR_GROUP......................................7
MPI_ERR_IN_STATUS...............................7
MPI_ERR_INTERN.....................................7
MPI_ERR_LASTCODE..............................7
MPI_ERR_OP..............................................7
MPI_ERR_OTHER......................................7
MPI_ERR_PENDING..................................7
MPI_ERR_RANK........................................7
MPI_ERR_REQUEST.................................7
MPI_ERR_ROOT........................................7
MPI_ERR_TAG...........................................7
MPI_ERR_TOPOLOGY..............................7
MPI_ERR_TRUNCATE..............................7
MPI_ERR_TYPE.........................................7
MPI_ERR_UNKNOWN..............................7
MPI_Errhandler............................................5
MPI_Errhandler_create................................8
MPI_Errhandler_free....................................8
MPI_Errhandler_get.....................................8
MPI_ERRHANDLER_NULL.....................6
MPI_Errhandler_set......................................8
MPI_Error_class...........................................8
MPI_Error_string..........................................8
MPI_ERRORS_ARE_FATAL......................5
MPI_ERRORS_RETURN...........................5
MPI_Finalize................................................7
MPI_FLOAT.................................................4
MPI_FLOAT_INT........................................4
MPI_Gather................................................15
MPI_Gatherv..............................................15
MPI_Get_count...........................................14
MPI_Get_elements.....................................14
MPI_Get_processor_name...........................8
MPI_GRAPH................................................6
MPI_Graph_create......................................21
MPI_Graph_get..........................................21
MPI_Graph_map........................................22
MPI_Graph_neighbors...............................22
MPI_Graph_neighbors_count....................22
MPI_Graphdims_get..................................21
MPI_Group...................................................5
MPI_Group_compare.................................17
MPI_Group_difference...............................17
MPI_GROUP_EMPTY................................4
MPI_Group_excl........................................18
MPI_Group_free.........................................18
MPI_Group_incl.........................................18
MPI_Group_intersection............................17
MPI_GROUP_NULL...................................6
MPI_Group_range_excl.............................18
MPI_Group_range_incl..............................18
MPI_Group_rank........................................17
MPI_Group_size.........................................17
MPI_Group_translate_ranks.......................18
MPI_Group_union......................................18
MPI_Handler_function.................................5
MPI_HOST...................................................6
MPI_Ibsend.................................................10
MPI_IDENT.................................................4
MPI_Init........................................................7
MPI_Initialized.............................................7
MPI_INT.......................................................4
MPI_Intercomm_create..............................22
MPI_Intercomm_merge..............................22
MPI_IO.........................................................6
MPI_Iprobe.................................................11
MPI_Irecv.....................................................9
MPI_Irsend.................................................10
MPI_Isend.....................................................9
MPI_Issend.................................................10
MPI_Keyval_create....................................19
MPI_Keyval_free.......................................19
MPI_KEYVAL_INVALID...........................6
MPI_LAND..................................................5
MPI_LB........................................................4
MPI_LONG..................................................4
MPI_LONG_DOUBLE................................4
MPI_LONG_DOUBLE_INT.......................4
MPI_LONG_INT.........................................4
MPI_LONG_LONG_INT............................4
MPI_LOR.....................................................5
MPI_LXOR..................................................5
MPI_MAX....................................................5
MPI_MAX_ERROR_STRING....................6
MPI_MAX_PROCESSOR_NAME.............6
MPI_MAXLOC............................................5
MPI_MIN.....................................................5
MPI_MINLOC.............................................5
MPI_NULL_COPY_FN...............................5
MPI_NULL_DELETE_FN..........................5
MPI_Op........................................................5
MPI_Op_create...........................................17
MPI_Op_free..............................................17
MPI_OP_NULL...........................................6
MPI_Pack...................................................13
MPI_Pack_size...........................................14
MPI_PACKED..............................................4
MPI_Probe....................................................9
MPI_PROC_NULL......................................6
MPI_PROD...................................................5
MPI_Recv.....................................................8
MPI_Recv_init............................................11
MPI_Reduce...............................................16
MPI_Reduce_scatter...................................16
MPI_Request................................................5
MPI_Request_free......................................11
MPI_REQUEST_NULL..............................6
MPI_Rsend...................................................9
MPI_Rsend_init..........................................12
MPI_Scan...................................................17
MPI_Scatter................................................15
MPI_Scatterv..............................................15
MPI_Send.....................................................8
MPI_Send_init............................................11
MPI_Sendrecv..............................................9
MPI_Sendrecv_replace.................................9
MPI_SHORT................................................4
MPI_SHORT_INT........................................4
MPI_SIMILAR.............................................5
MPI_Ssend....................................................9
MPI_Ssend_init..........................................12
MPI_Start....................................................12
MPI_Startall................................................12
MPI_Status...................................................5
MPI_SUCCESS............................................6
MPI_SUM.....................................................5
MPI_TAG_UB..............................................6
MPI_Test.....................................................10
MPI_Test_cancelled...................................10
MPI_Testall.................................................10
MPI_Testany...............................................10
MPI_Testsome............................................10
MPI_Topo_test...........................................19
MPI_Type_commit.....................................13
MPI_Type_contiguous................................12
MPI_Type_dup...........................................14
MPI_Type_extent.......................................14
MPI_Type_free...........................................13
MPI_Type_hindexed..................................13
MPI_Type_hvector.....................................12
MPI_Type_indexed.....................................13
MPI_Type_lb..............................................14
MPI_Type_size...........................................14
MPI_Type_struct........................................13
MPI_Type_ub.............................................14
MPI_Type_vector.......................................12
MPI_UB........................................................4
MPI_UNDEFINED......................................6
MPI_UNDEFINED_RANK.........................6
MPI_UNEQUAL..........................................5
MPI_Unpack...............................................13
MPI_UNSIGNED.........................................4
MPI_UNSIGNED_CHAR...........................4
MPI_UNSIGNED_LONG...........................4
MPI_UNSIGNED_SHORT..........................4
MPI_User_function......................................5
MPI_Wait....................................................10
MPI_Waitall................................................11
MPI_Waitany..............................................11
MPI_Waitsome...........................................11
MPI_Wtick.................................................22
MPI_Wtime................................................22
MPI_WTIME_IS_GLOBAL........................6
附 3.2 MPI 预定义的变量及类型
附 3.2.1 C 语言 MPI 原始数据类型
C 语言中表示 MPI 数据类型的变量类型是 MPI_Datatype。
1. 基本数据类型
MPI_CHAR 对应于 char。
MPI_BYTE 对应于 unsigned char。
MPI_SHORT 对应于 short。
MPI_INT 对应于 int。
MPI_LONG 对应于 long。
MPI_FLOAT 对应于 float。
MPI_DOUBLE 对应于 double。
MPI_UNSIGNED_CHAR 对应于 unsigned char。
MPI_UNSIGNED_SHORT 对应于 unsigned short。
MPI_UNSIGNED 对应于 unsigned int。
MPI_UNSIGNED_LONG 对应于 unsigned long。
MPI_LONG_DOUBLE 对应于 long double (有的系统不支持)。
MPI_LONG_LONG_INT 对应于 long long (有的系统不支持)。
2. 特殊数据类型
MPI_PACKED MPI_Pack 和 MPI_Unpack 函数用的打包类型。
MPI_UB 用于在 MPI_Type_struct 函数中设定数据类型的上界。
MPI_LB 用于在 MPI_Type_struct 函数中设定数据类型的下界。
3. MPI MAXLOC 和 MPI MINLOC 中使用的数据类型
MPI_FLOAT_INT 对应于 struct {float,int}。
MPI_LONG_INT 对应于 struct {long,int}。
MPI_DOUBLE_INT 对应于 struct {double,int}。
MPI_SHORT_INT 对应于 struct {short,int}。
MPI_2INT 对应于 struct {int,int}。
MPI_LONG_DOUBLE_INT 对应于 struct {long double,int}。
附 3.2.2 预定义的通信器与进程组
MPI 的通信器和进程组在 C 语言中的变量类型分别为 MPI_Comm 和 MPI_Group,它们
在 Fortran 语言中都用 INTEGER 表示。
MPI_COMM_WORLD 包含所有进程的通信器。
MPI_COMM_SELF 只包含本进程的通信器。
MPI_GROUP_EMPTY 空进程组(不包含任何进程)。
通信器或进程组的比较结果
MPI_IDENT 表示两个通信器或进程组完全一样。
MPI_CONGRUENT 表示两个通信器包含的进程组一样(参看
MPI_Comm_compare)。
MPI_SIMILAR 表示两个通信器或进程组中的进程集合
一样,但进程排序不同。
MPI_UNEQUAL 表示两个通信器或进程组不相同。
附 3.2.3 用于归约函数的预定义的二目运算
MPI 用于进行归约运算的函数有 MPI_Reduce、MPI_Allreduce、MPI_Reduce_scatter 和
MPI_Scan ,它们所使用的二目 运 算 在 C 中的 类型为 MPI_Op, 在 Fortran 中的 类 型 为
INTEGER。
MPI_MAX 两个操作数中较大的一个。
MPI_MIN 两个操作数中较小的一个。
MPI_SUM 两个操作数之和。
MPI_PROD 两个操作数之积。
MPI_LAND 两个操作数的逻辑与(logical and)。
MPI_BAND 两个操作数的按位与(bitwise and)。
MPI_LOR 两个操作数的逻辑或(logical or)。
MPI_BOR 两个操作数的按位或(bitwise or)。
MPI_LXOR 两个操作数的逻辑异或(logical xor)。
MPI_BXOR 两个操作数的按位异或(bitwise xor)。
MPI_MINLOC 两对操作数中较小一个的值和位置。
MPI_MAXLOC 两对操作数中较大一个的值和位置。
附 3.2.4 C 变量类型及预定义函数
MPI_Status 存储通信状态的变量(参看 3.2.8)。
MPI_Aint 存放地址或位移的变量。
MPI_Datatype 数据类型变量。
MPI_Request 通信请求变量。
MPI_Comm 通信器变量。
MPI_Group 进程组变量。
MPI_Op 归约操作的二目运算操作句柄。
MPI_User_function 聚合通信中的自定义函数(参看 MPI_Op_create)。
MPI_Copy_function 通信器属性复制函数(参看 MPI_Keyval_create)。
MPI_Delete_function 通信器属性删除函数(参看 MPI_Keyval_create)。
MPI_NULL_COPY_FN 预定义的属性拷贝函数。
MPI_NULL_DELETE_FN 预定义的属性删除函数。
MPI_DUP_FN 预定义的属性复制函数。
MPI_Errhandler 错误处理函数句柄。
MPI_Handler_function 错误处理函数(参看 MPI_Errhandler_create)。
MPI_ERRORS_ARE_FATAL 预定义的错误处理函数:发生错误则立即退出(默
认行为)。
MPI_ERRORS_RETURN 预定义的错误处理函数:发生错误时返回错误码,
程序继续运行。
附 3.2.5 空对象
MPI_COMM_NULL 空通信器。
剩余23页未读,继续阅读
peipeihan
- 粉丝: 1
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页