I have run into the argument that in a case where the number of array elements that will be accessed is == 0 it is "obviously" valid to pass NULL as the array address. I recognize the argument has merit but I am not clear that it really requires that an MPI implementation that tries to check for an invalid data structure address must first check whether more than 0 items from it are to be accessed.
Perhaps this is something the standard should clarify. For example, must this call to MPI_Waitall(0, NULL, NULL) return MPI_SUCCESS?
Since checking for valid send buffer or receive buffer addresses is hard, I suspect most MPI implementations would never check whether a call to
MPI_Send(NULL, 0, my_type, 1, 1, MPI_COMM_WORLD)
has an "invalid" buffer. In this case I think the intent is that NULL would be valid because the actual data footprint is dictated by the set of parameters (buf, count, type). I am less sure what the answer for the MPI_Waitall call should be.
Dick Treumann - MPI Team
IBM Systems & Technology Group
Dept X2ZA / MS P963 -- 2455 South Road -- Poughkeepsie, NY 12601
Tele (845) 433-7846 Fax (845) 433-8363
George Bosilca ---02/23/2009 03:30:06 PM---The only restriction the MPI standard impose on the sendcounts and recvcounts arrays is that the v
George Bosilca <email@example.com>
Open MPI Users <firstname.lastname@example.org>
02/23/2009 03:30 PM
Re: [OMPI users] MPI_Gatherv and 0 size?