当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

华东师范大学:《高等数值分析(高性能计算/并行计算)》课程教学资源(讲义)07 消息传递编程接口MPI(四)进程与通信器操作

资源类别:文库,文档格式:PDF,文档页数:21,文件大小:633.26KB,团购合买
点击下载完整版文档(PDF)

華束师纥大学|数学科学学院 School of Mathematical Sciences.East China Normal University 消息传递编程接口MPI (四)进程与通信器操作 http://math.ecnu.edu.cn/~jypan

http://math.ecnu.edu.cn/~jypan 消息传递编程接口 MPI (四)进程与通信器操作

为什么要进程操作 MPI提供了一些进程和通信器/通信子操作函数,通过这些操 作函数,可以对进程进行分组并创建相应的通信器/通信子, 灵活使用这些函数对实际编程会带来很大的方便。 http://math.ecnu.edu.cn/~jypan

http://math.ecnu.edu.cn/~jypan 2 为什么要进程操作 MPI提供了一些进程和通信器/通信子操作函数,通过这些操 作函数,可以对进程进行分组并创建相应的通信器/通信子, 灵活使用这些函数对实际编程会带来很大的方便

华东师范大学数学科学学院 目录页 School of Mathematical Sciences,ECNU Contents 进程操作函数 http://math.ecnu.edu.cn/~jypan

http://math.ecnu.edu.cn/~jypan 目录页 Contents 华东师范大学 数学科学学院 School of Mathematical Sciences, ECNU http://math.ecnu.edu.cn/~jypan 进程操作函数

MPI COMM GROUP MPI COMM GROUP(comm,group) IN 参数 comm 通信器(通信子) OUT group 进程组 int MPI_Comm_group(MPI_Commcomm,MPI_Group*group) F77 MPI_COMM_GROUP(COMM,GROUP,IERR) INTEGER COMM,GROUP,IERR ●创建一个通信器对应的进程组,之后就可以对该进程组进行需要的操作 http://math.ecnu.edu.cn/~jypan 4

http://math.ecnu.edu.cn/~jypan 4 MPI_COMM_GROUP MPI_COMM_GROUP(comm, group) 参数 IN comm 通信器(通信子) OUT group 进程组 C int MPI_Comm_group(MPI_Comm comm, MPI_Group* group) F77 MPI_COMM_GROUP(COMM, GROUP, IERR) INTEGER COMM, GROUP, IERR  创建一个通信器对应的进程组,之后就可以对该进程组进行需要的操作

MPI GROUP FREE MPI GROUP FREE(group) 参数 INOUT group进程组 C int MPI_Group_free(MPI_Group*group) F77 MPI_GROUP_FREE(GROUP,IERR) INTEGER GROUP,IERR ●释放进程组,并返回MPI GROUP NULL ●当进程组被释放后,任何对该进程组的操作都是无效的 http://math.ecnu.edu.cn/~jypan

http://math.ecnu.edu.cn/~jypan 5 MPI_GROUP_FREE MPI_GROUP_FREE(group) 参数 INOUT group 进程组 C int MPI_Group_free(MPI_Group* group) F77 MPI_GROUP_FREE(GROUP, IERR) INTEGER GROUP, IERR  释放进程组,并返回 MPI_GROUP_NULL  当进程组被释放后,任何对该进程组的操作都是无效的

MPI GROUP SIZE MPI GROUP_SIZE(group) 参数 IN group 进程组 OUT size 进程组中进程的个数 int MPI_Group_size(MPI_Group group,int size) F77 MPI_GROUP_SIZE(GROUP,SIZE,IERR) INTEGER GROUP,SIZE,IERR ·返回进程组中进程的个数 ●如果进程组是MPI GROUP EMPTY,则返回O http://math.ecnu.edu.cn/~jypan 6

http://math.ecnu.edu.cn/~jypan 6 MPI_GROUP_SIZE MPI_GROUP_SIZE(group) 参数 IN group 进程组 OUT size 进程组中进程的个数 C int MPI_Group_size(MPI_Group group, int * size) F77 MPI_GROUP_SIZE(GROUP, SIZE, IERR) INTEGER GROUP, SIZE, IERR  返回进程组中进程的个数  如果进程组是 MPI_GROUP_EMPTY,则返回 0

MPI GROUP RANK MPI GROUP RANK(group) IN 进程组 参数 group OUT rank 当前进程在进程组中的编号 C int MPI_Group_rank(MPI_Group group,int rank) F77 MPI_GROUP RANK(GROUP,RANK,IERR) INTEGER GROUP,RANK,IERR ●返回当前进程在进程组中的编号 ●如果当前进程不在指定的进程组中,则返回MPI UNDEFINED http://math.ecnu.edu.cn/~jypan

http://math.ecnu.edu.cn/~jypan 7 MPI_GROUP_RANK MPI_GROUP_RANK(group) 参数 IN group 进程组 OUT rank 当前进程在进程组中的编号 C int MPI_Group_rank(MPI_Group group, int * rank) F77 MPI_GROUP_RANK(GROUP, RANK, IERR) INTEGER GROUP, RANK, IERR  返回当前进程在进程组中的编号  如果当前进程不在指定的进程组中,则返回 MPI_UNDEFINED

MPI GROUP TRANSLATE RANKS MPI GROUP TRANSLATE RANKS(...) IN group?1/group2进程组1和进程组2 IN rank1 group:1中有效进程编号组成的数组(全部或部分) 参数 IN n 数组ranks1和ranks.2中元素的个数 OUT rank2 ranks1中编号对应的进程在group.2中编号 int MPI_Group_translate_ranks(MPI_Group group1, int n,int ranks1, MPI_Group group2,int ranks2) MPI_GROUP_TRANSLATE_RANKS(GROUP1,N,RANKS1, F77 GROUP2,RANKS2,IERR) INTEGER GROUP1,N,RANKS1(*), GROUP2,RANKS2(*),IERR ●如果对应的进程不在group2中,则返回MPI_UNDEFINED http://math.ecnu.edu.cn/~jypan 8

http://math.ecnu.edu.cn/~jypan 8 MPI_GROUP_TRANSLATE_RANKS MPI_GROUP_TRANSLATE_RANKS(. . .) 参数 IN group1/group2 进程组1和进程组2 IN rank1 group1中有效进程编号组成的数组(全部或部分) IN n 数组ranks1和ranks2中元素的个数 OUT rank2 ranks1中编号对应的进程在group2中编号 C int MPI_Group_translate_ranks(MPI_Group group1, int n, int * ranks1, MPI_Group group2, int * ranks2) F77 MPI_GROUP_TRANSLATE_RANKS(GROUP1, N, RANKS1, GROUP2, RANKS2, IERR) INTEGER GROUP1, N, RANKS1(*), GROUP2, RANKS2(*), IERR  如果对应的进程不在 group2 中,则返回 MPI_UNDEFINED

MPI GROUP INCL MPI GROUP INCL(group,n,ranks,newgroup) IN group 进程组 IN ranks 需要提取的所有进程的编号 参数 IN n ranks中元素的个数和新进程组的大小 OUT newgroup按ranks中出现的顺序新定义的进程组 int MPI_Group_incl(MPI_Group group,int n, int ranks,MPI_Group newgroup) F77 MPI_GROUP_INCL(GROUP,N,RANKS,NEWGROUP,IERR) INTEGER GROUP,N,RANKS(*),NEWGROUP,IERR ●从原进程组中提取部分进程组成一个新的进程组 http://math.ecnu.edu.cn/~jypan

http://math.ecnu.edu.cn/~jypan 9 MPI_GROUP_INCL MPI_GROUP_INCL(group, n, ranks, newgroup) 参数 IN group 进程组 IN ranks 需要提取的所有进程的编号 IN n ranks中元素的个数和新进程组的大小 OUT newgroup 按ranks中出现的顺序新定义的进程组 C int MPI_Group_incl(MPI_Group group, int n, int * ranks, MPI_Group * newgroup) F77 MPI_GROUP_INCL(GROUP, N, RANKS, NEWGROUP, IERR) INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR  从原进程组中提取部分进程组成一个新的进程组

MPI GROUP EXCL MPI GROUP EXCL(group,n,ranks,newgroup) IN group 进程组 IN ranks 需要排除的所有进程的编号 参数 IN n ranks中元素的个数 OUT newgroup 去掉ranks中指定的进程后组成的新进程组 int MPI_Group_excl(MPI_Group group,int n, int ranks,MPI_Group newgroup) F77 MPI_GROUP_EXCL(GROUP,N,RANKS,NEWGROUP,IERR) INTEGER GROUP,N,RANKS(*),NEWGROUP,IERR ·将原进程组中去除指定的部分进程后组成一个新进程组,进程顺序不变 http://math.ecnu.edu.cn/~jypan 10

http://math.ecnu.edu.cn/~jypan 10 MPI_GROUP_EXCL MPI_GROUP_EXCL(group, n, ranks, newgroup) 参数 IN group 进程组 IN ranks 需要排除的所有进程的编号 IN n ranks中元素的个数 OUT newgroup 去掉ranks中指定的进程后组成的新进程组 C int MPI_Group_excl(MPI_Group group, int n, int * ranks, MPI_Group * newgroup) F77 MPI_GROUP_EXCL(GROUP, N, RANKS, NEWGROUP, IERR) INTEGER GROUP, N, RANKS(*), NEWGROUP, IERR  将原进程组中去除指定的部分进程后组成一个新进程组,进程顺序不变

点击下载完整版文档(PDF)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共21页,试读已结束,阅读完整版请下载
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有