[mpich-discuss] problem with MPI_Get_count() for very long (but legal length) messages.
Dave Goodell
goodell at mcs.anl.gov
Fri Feb 5 14:39:14 CST 2010
Barry,
Thanks for letting us know. Skimming the code in the implementation,
nothing obviously wrong is jumping out at me. So I'll file a ticket
for this and add the test case as a regression test.
-Dave
On Feb 5, 2010, at 2:28 PM, Barry Smith wrote:
>
> #include "mpi.h"
> #include "stdlib.h"
>
> #undef __FUNCT__
> #define __FUNCT__ "main"
> int main(int argc,char **argv)
> {
> int ierr;
> int size,rank;
> int cnt = 433438806;
> MPI_Status status;
> long long int *cols;
>
> MPI_Init(&argc,&argv);
> ierr = MPI_Comm_size(MPI_COMM_WORLD,&size);
> ierr = MPI_Comm_rank(MPI_COMM_WORLD,&rank);
>
> cols = (long long int*) malloc(cnt*sizeof(long long));
> if (rank == 0) {
> ierr = MPI_Send(cols,cnt,MPI_LONG_LONG_INT,1,0,MPI_COMM_WORLD);
>
> } else {
> ierr = MPI_Recv(cols,cnt,MPI_LONG_LONG_INT,
> 0,0,MPI_COMM_WORLD,&status);
> ierr = MPI_Get_count(&status,MPI_LONG_LONG_INT,&cnt);
> printf("count %d\n",cnt);
> }
> ierr = MPI_Finalize();
> return 0;
> }
>
> crush is a 64 bit system with 64 bit pointers.
>
> crush:/usr> which mpicc
> /soft/apps/packages/mpich2-1.2.1-gcc/bin/mpicc
> crush:/usr> which mpiexec
> /soft/apps/packages/mpich2-1.2.1-gcc/bin/mpiexec
>
> crush:~> mpicc mpitest.c
> mpitest.c: In function ‘main’:
> mpitest.c:25: warning: incompatible implicit declaration of built-in
> function ‘printf’
> crush:~> mpiexec -n 2 a.out
> count -103432106
>
> I've had this problem reported to me by two completely different
> PETSc users so it is a real problem, not just academic. My guess is
> you don't use a long long int in the intermediate computations
> needed to get the final value for count.
>
> To cheer you up, when I run with openMPI it runs forever sucking
> down 100% CPU trying to send the messages :-)
>
> Barry
>
>
> _______________________________________________
> mpich-discuss mailing list
> mpich-discuss at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss
More information about the mpich-discuss
mailing list