⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 grouptest.c

📁 MPICH是MPI的重要研究,提供了一系列的接口函数,为并行计算的实现提供了编程环境.
💻 C
字号:
/* 	$Id: grouptest.c,v 1.2 1998/11/28 04:04:56 gropp Exp $	 */#include "mpi.h"#include <stdio.h>#include "test.h"int main( int argc, char **argv ){    int rank, size, i;    MPI_Group group1, group2, group3, groupall, groupunion, newgroup;    MPI_Comm newcomm;    int ranks1[100], ranks2[100], ranks3[100];    int nranks1=0, nranks2=0, nranks3=0;    MPI_Init( &argc, &argv );    MPI_Barrier( MPI_COMM_WORLD );    MPI_Comm_rank( MPI_COMM_WORLD, &rank );    MPI_Comm_size( MPI_COMM_WORLD, &size );    MPI_Comm_group( MPI_COMM_WORLD, &groupall );    /* Divide groups */    for (i=0; i<size; i++)       if ( (i%3)==0 )	ranks1[nranks1++] = i;      else if ( (i%3)==1 )	ranks2[nranks2++] = i;      else	ranks3[nranks3++] = i;    MPI_Group_incl ( groupall, nranks1, ranks1, &group1 );    MPI_Group_incl ( groupall, nranks2, ranks2, &group2 );    MPI_Group_incl ( groupall, nranks3, ranks3, &group3 );    MPI_Group_difference ( groupall, group2, &groupunion );    MPI_Comm_create ( MPI_COMM_WORLD, group3, &newcomm );    newgroup = MPI_GROUP_NULL;    if (newcomm != MPI_COMM_NULL)    {	/* If we don't belong to group3, this would fail */	MPI_Comm_group ( newcomm, &newgroup );    }    /* Free the groups */    MPI_Group_free( &groupall );    MPI_Group_free( &group1 );    MPI_Group_free( &group2 );    MPI_Group_free( &group3 );    MPI_Group_free( &groupunion );    if (newgroup != MPI_GROUP_NULL)    {	MPI_Group_free( &newgroup );    }    /* Free the communicator */    if (newcomm != MPI_COMM_NULL)	MPI_Comm_free( &newcomm );    Test_Waitforall( );    MPI_Finalize();    return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -