Hi Bowen, Thanks very much. I had checked my writev system call, I thought it was him that caused all these bad things :)
Best Regards Xianjun Meng 2010/12/8 Bowen Zhou <bwz...@hotmail.com> > On 12/05/2010 10:13 PM, > >> hi, >> >> I met a question recently when I tested the MPI_send and MPI_Recv >> functions. When I run the following codes, the processes hanged and I >> found there was not data transmission in my network at all. >> >> BTW: I finished this test on two X86-64 computers with 16GB memory and >> installed Linux. >> >> 1 #include <stdio.h> >> 2 #include <mpi.h> >> 3 #include <stdlib.h> >> 4 #include <unistd.h> >> 5 >> 6 >> 7 int main(int argc, char** argv) >> 8 { >> 9 int localID; >> 10 int numOfPros; >> 11 size_t Gsize = (size_t)2 * 1024 * 1024 * 1024; >> 12 >> 13 char* g = (char*)malloc(Gsize); >> 14 >> 15 MPI_Init(&argc, &argv); >> 16 MPI_Comm_size(MPI_COMM_WORLD, &numOfPros); >> 17 MPI_Comm_rank(MPI_COMM_WORLD, &localID); >> 18 >> 19 MPI_Datatype MPI_Type_lkchar; >> 20 MPI_Type_contiguous(2048, MPI_BYTE, &MPI_Type_lkchar); >> 21 MPI_Type_commit(&MPI_Type_lkchar); >> 22 >> 23 if (localID == 0) >> 24 { >> 25 MPI_Send(g, 1024*1024, MPI_Type_lkchar, 1, 1, MPI_COMM_WORLD); >> 26 } >> 27 >> 28 if (localID != 0) >> 29 { >> 30 MPI_Status status; >> 31 MPI_Recv(g, 1024*1024, MPI_Type_lkchar, 0, 1, \ >> 32 MPI_COMM_WORLD, &status); >> 33 } >> 34 >> 35 MPI_Finalize(); >> 36 >> 37 return 0; >> 38 } >> >> Thanks >> Xianjun >> >> >> >> _______________________________________________ >> users mailing list >> us...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/users >> > Hi, > > It might be a problem with the Linux TCP stack. The similar issue happens > with MPICH2 too. Can you try with message size (2G-1) bytes? > http://trac.mcs.anl.gov/projects/mpich2/ticket/1080 > > Best, > Bowen Zhou > > _______________________________________________ > users mailing list > us...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/users >