Newsgroups: comp.parallel.pvm
From: saroff@ee.msc.edu (Stephen Saroff)
Subject: Bug in CM-5 version: Groups don't work.
Organization: 
Date: 15 Aug 1995 19:59:17 GMT
Message-ID: <40qual$3g3@uc.msc.edu>

Message-ID: <y9tag9bx9p0.fsf@ee.msc.edu>
Organization: Cray Research/Minnesota Supercomputer Center
Lines: 158
X-Newsreader: (ding) Gnus v0.99.7
Date: 15 Aug 1995 14:59:15 -0500


I believe I have found a problem in group function under PVM 3.3.8 running
on the CM-5.

I have been attempting to port gexample.c to the CM-5, but the code always
hangs on  pvm_joingroup.

I have turned on debugging with pvm_setopt, and gotten all nodes reporting

libpvm [t60017]: msendrecv() to t80000000 code -2147418096

and in pvml.$$ file I find

[t80040000] loclinpkt() from unknown task t60000

I have checked with a call to getenv) and pvmgs is in the calling path.

Below are the source and the output.  

Has anyone else seen this?  Or am I just doing something wrong?


My source
/* Example of some group function and reduction functions in PVM 
 *
 * 11 March 1994 - Creation by P. Papadopoulos (phil@msr.epm.ornl.gov)
 *
 *
*/
#include <cm/cmmd.h>
#include <stdio.h>
#ifdef HASSTDLIB
#include <stdlib.h>
#endif
#include "pvm3.h"
#define min(u,v) ( (u) < (v) ? (u) : (v) )
#define max(u,v) ( (u) > (v) ? (u) : (v) )
#define MATRIXGROUP "matrix"
#define DEFAULT_DIMENSION 100
#define DEFAULT_NPROC     10
#define INITTAG 1000
#define SUMTAG INITTAG + 1
#define PRODTAG SUMTAG + 1
extern void calcprod();
main()
{
int info, mytid, myinst, gsize, nproc = 0;
int maxmax;
int dimension = 0;
int ninst, error;
int tids[32]; int *subblock, *colsum;
double *colprod;
int blksize,nextra,mysrow,i,j,sumsqr,itemp;
    mytid = pvm_mytid(); /* enroll */
	if (CMMD_self_address()==0)
	fprintf (stderr,"PATH is %s\n",getenv("PATH"));
	(void)pvm_setopt( PvmDebugMask, 10 );
	printf("Node %d with pid %d Attempting to join group \n",CMMD_self_address(),mytid);

    if( (myinst = pvm_joingroup(MATRIXGROUP)) < 0 )
    {
         pvm_perror( "Could not join group \n" );
         pvm_exit();
         exit( -1 );
    }
	printf("Node %d succeed in joining the group\n",CMMD_self_address(),mytid);

     pvm_exit();
     exit();
}

/*** A User-defined Reduction Function ***/
void
calcprod(datatype,x,y,num,info)
int *datatype;
double  *x,*y;
int *num, *info;
{
int i;
     for (i = 0 ; i < *num; i++)
        x[i] *= y[i];
}        




PATH is /u/saroff/pvm3/lib:/u/saroff/pvm3/lib/CM5:/u/saroff/pvm3/bin/CM5:.:/u/saroff/bin:/u/saroff/bin/sun4:/usr/unsupported/bin:/usr/unsupported/gnu/bin:/usr/ucb:/usr/bin/X11:/usr/local/etc:/usr/local/bin:/usr/openwin/bin:/usr/local/bin:/usr/bin:/bin:/etc:/usr/etc:/usr/local/etc:/usr/games:/u/saroff/pvm3/lib:/u/saroff/pvm3/bin/CM5:/usr/local/eval/Forge
libpvm [t60014]: msendrecv() to t80000000 code -2147418096
libpvm [t6001c]: msendrecv() to t80000000 code -2147418096
libpvm [t60030]: msendrecv() to t80000000 code -2147418096
libpvm [t6003f]: msendrecv() to t80000000 code -2147418096
libpvm [t6000a]: msendrecv() to t80000000 code -2147418096
libpvm [t60005]: msendrecv() to t80000000 code -2147418096
libpvm [t60020]: msendrecv() to t80000000 code -2147418096
libpvm [t60029]: msendrecv() to t80000000 code -2147418096
libpvm [t6001f]: msendrecv() to t80000000 code -2147418096
libpvm [t60023]: msendrecv() to t80000000 code -2147418096
libpvm [t6001e]: msendrecv() to t80000000 code -2147418096
libpvm [t60006]: msendrecv() to t80000000 code -2147418096
libpvm [t60003]: msendrecv() to t80000000 code -2147418096
libpvm [t6002f]: msendrecv() to t80000000 code -2147418096
libpvm [t60011]: msendrecv() to t80000000 code -2147418096
libpvm [t60037]: msendrecv() to t80000000 code -2147418096
libpvm [t6000e]: msendrecv() to t80000000 code -2147418096
libpvm [t60001]: msendrecv() to t80000000 code -2147418096
libpvm [t60021]: msendrecv() to t80000000 code -2147418096
libpvm [t6003c]: msendrecv() to t80000000 code -2147418096
libpvm [t6002c]: msendrecv() to t80000000 code -2147418096
libpvm [t6003d]: msendrecv() to t80000000 code -2147418096
libpvm [t6000f]: msendrecv() to t80000000 code -2147418096
libpvm [t6002d]: msendrecv() to t80000000 code -2147418096
libpvm [t6001a]: msendrecv() to t80000000 code -2147418096
libpvm [t60016]: msendrecv() to t80000000 code -2147418096
libpvm [t6003e]: msendrecv() to t80000000 code -2147418096
libpvm [t60024]: msendrecv() to t80000000 code -2147418096
libpvm [t6000b]: msendrecv() to t80000000 code -2147418096
libpvm [t6002a]: msendrecv() to t80000000 code -2147418096
libpvm [t60018]: msendrecv() to t80000000 code -2147418096
libpvm [t60008]: msendrecv() to t80000000 code -2147418096
libpvm [t6003a]: msendrecv() to t80000000 code -2147418096
libpvm [t60009]: msendrecv() to t80000000 code -2147418096
libpvm [t6002b]: msendrecv() to t80000000 code -2147418096
libpvm [t60019]: msendrecv() to t80000000 code -2147418096
libpvm [t60026]: msendrecv() to t80000000 code -2147418096
libpvm [t6003b]: msendrecv() to t80000000 code -2147418096
libpvm [t60002]: msendrecv() to t80000000 code -2147418096
libpvm [t60038]: msendrecv() to t80000000 code -2147418096
libpvm [t6001d]: msendrecv() to t80000000 code -2147418096
libpvm [t6001b]: msendrecv() to t80000000 code -2147418096
libpvm [t60031]: msendrecv() to t80000000 code -2147418096
libpvm [t6002e]: msendrecv() to t80000000 code -2147418096
libpvm [t6000d]: msendrecv() to t80000000 code -2147418096
libpvm [t60007]: msendrecv() to t80000000 code -2147418096
libpvm [t60017]: msendrecv() to t80000000 code -2147418096
libpvm [t60004]: msendrecv() to t80000000 code -2147418096
libpvm [t60036]: msendrecv() to t80000000 code -2147418096
libpvm [t60015]: msendrecv() to t80000000 code -2147418096
libpvm [t60022]: msendrecv() to t80000000 code -2147418096
libpvm [t60010]: msendrecv() to t80000000 code -2147418096
libpvm [t60027]: msendrecv() to t80000000 code -2147418096
libpvm [t60033]: msendrecv() to t80000000 code -2147418096
libpvm [t6000c]: msendrecv() to t80000000 code -2147418096
libpvm [t60035]: msendrecv() to t80000000 code -2147418096
libpvm [t60012]: msendrecv() to t80000000 code -2147418096
libpvm [t60039]: msendrecv() to t80000000 code -2147418096
libpvm [t60025]: msendrecv() to t80000000 code -2147418096
libpvm [t60013]: msendrecv() to t80000000 code -2147418096
libpvm [t60032]: msendrecv() to t80000000 code -2147418096
libpvm [t60034]: msendrecv() to t80000000 code -2147418096
libpvm [t60028]: msendrecv() to t80000000 code -2147418096
libpvm [t60000]: msendrecv() to t80000000 code -2147418096







-- 
 Stephen Saroff				Computational Physicist
 Minnesota Supercomputer Ctr.		email: saroff@msc.edu
 1200 Washington Ave S.			voice: 612/337-3423
 Minneapolis, MN 55415			fax  : 612/337 3400

