Newsgroups: comp.parallel.mpi
From: impellus@ames.ucsd.edu (Tom Impelluso)
Subject: Re: New communicator question -OOPS!
Organization: UC San Diego, AMES Department
Date: 23 Oct 1995 23:36:43 GMT
Message-ID: <46h8ub$kk0@soenews.ucsd.edu>

The previous code has an type.  Here is the correct version
which gives the same error message:


        include "mpif.h"
        integer stat(MPI_STATUS_SIZE), irank(3)
        master = 0
        idata = 1
c       initialize, get size,rank
        call MPI_INIT(ierr)
        call MPI_COMM_SIZE(MPI_COMM_WORLD, numprocs, ierr)
        call MPI_COMM_RANK(MPI_COMM_WORLD, mygid, ierr)
c       create a global group = iwgrp
        call MPI_COMM_GROUP(MPI_COMM_WORLD, iwgrp,ierr)

c       exclude: 0,1,2; include: 3,4,5 and so on
        irank(1) = 0
        irank(2) = 1
        irank(3) = 2
        call MPI_GROUP_EXCL(iwgrp, 3, irank, isgrp, ierr)
        call MPI_COMM_CREATE(MPI_COMM_WORLD, isgrp, isend, ierr)

        if(mygid.ge.3) call MPI_COMM_RANK(isend,mysid,ierr)

        if(mygid.eq.master) call MPI_SEND(idata,1,MPI_INTEGER,0,0,isend,ierr)

        if(mygid.ge.3.and.mysid.eq.0) call MPI_RECV(i, 1, MPI_INTEGER, master,
     &                                 MPI_ANY_TAG, MPI_COMM_WORLD,stat, ierr)

        call MPI_FINALIZE(ierr)
        END

