Dear all, I am going to start again the discussion about MPI_MAXLOC. We had one a couple of week before with George, Ray, Nathan, Jeff S, Jeff S., Gus.
This because I have a problem. I have two groups and two communicators. The first one takes care of compute the maximum vale and to which processor it belongs: nPart = 100 IF(MPI_COMM_NULL .NE. MPI_MASTER_COMM)THEN CALL MPI_ALLREDUCE( EFFMAX, EFFMAXW, 2, MPI_2DOUBLE_PRECISION, MPI_MAXLOC, MPI_MASTER_COMM,MPImaster%iErr ) whosend = INT(EFFMAXW(2)) gpeff = EFFMAXW(1) CALL MPI_BCAST(whosend,1,MPI_INTEGER,whosend,MPI_MASTER_COMM,MPImaster%iErr) ENDIF If I perform this, the program set to zero one variable, specifically nPart. if I print: IF(MPI_COMM_NULL .NE. MPI_MASTER_COMM)THEN WRITE(*,*) MPImaster%rank,nPart ELSE WRITE(*,*) MPIlocal%rank,nPart ENDIF I get; 1 2 1 2 3 2 3 2 2 2 2 2 1 2 1 2 3 2 3 2 2 2 2 2 1 0 1 0 0 0 0 0 This seems some typical memory allocation problem. What do you think? Thanks for any kind of help. Diego
_______________________________________________ users mailing list users@lists.open-mpi.org https://lists.open-mpi.org/mailman/listinfo/users