Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Brian W. Barrett (brbarret_at_[hidden])
Date: 2007-10-31 12:29:01


This is correct -- the MPI_ERROR field should be filled in by the MTL upon
completion of the request (or when it knows what to stick in there). The
CM PML should generally not fill in that field.

Brian

On Wed, 31 Oct 2007, Jeff Squyres wrote:

> Again, I'm not a CM guy :-), but in general, I would think: yes, you
> set MPI_ERROR when it is appropriate. I.e., when you know that the
> request has been successful or it has failed.
>
>
> On Oct 31, 2007, at 9:18 AM, Sajjad Tabib wrote:
>
>>
>> Hi Jeff,
>>
>> Now that you mention it, I believe you are right. In fact, I did
>> not know that I needed to set the req_status.MPI_ERROR in my MTL. I
>> looked at the mx mtl and realized that req_status.MPI_ERROR is
>> getting set in their progress function. So, in general, when do you
>> set the req_status.MPI_ERROR? After a send/recv has completed
>> successfully?
>>
>> Thank You,
>>
>> Sajjad Tabib
>>
>>
>>
>> Jeff Squyres <jsquyres_at_[hidden]>
>> Sent by: devel-bounces_at_[hidden]
>> 10/31/07 07:29 AM
>> Please respond to
>> Open MPI Developers <devel_at_[hidden]>
>>
>>
>> To
>> Open MPI Developers <devel_at_[hidden]>
>> cc
>> Subject
>> Re: [OMPI devel] Question regarding
>> MCA_PML_CM_SEND_REQUEST_INIT_COMMON
>>
>>
>>
>>
>>
>> I haven't done any work in the cm pml so I can't definitively answer
>> your question, but wouldn't you set req_status.MPI_ERROR in your MTL
>> depending on the result of the request?
>>
>>
>> On Oct 29, 2007, at 9:20 AM, Sajjad Tabib wrote:
>>
>>>
>>> Hi,
>>>
>>> I was issuing an MPI_Bcast in a sample program and was hitting an
>>> unknown error; at least that was what MPI was telling me. I traced
>>> through the code to find my error and came upon
>>> MCA_PML_CM_REQUEST_INIT_COMMON macro function in pml_cm_sendreq.h.
>>> I looked at the function and noticed that in this function the
>>> elements of req_status were getting initialized; however,
>>> req_status.MPI_ERROR was not. I thought that maybe MPI_ERROR must
>>> also require initialization because if the value of MPI_ERROR was
>>> some arbitrary value not equal to MPI_SUCCESS then my program will
>>> definitely die. Unless, MPI_ERROR is propragating from upper layers
>>> to signify an error, but I wasn't sure. Anyway, I assumed that
>>> MPI_ERROR was not propagating from upper layers, so then I set
>>> req_status.MPI_ERROR to MPI_SUCCUSS and reran my test program. My
>>> program worked. Now, having gotten my program to work, I thought I
>>> should run this by you to make sure that MPI_ERROR was not
>>> propagating from upper layers. Is it ok that I did a:
>>> "(req_send)->req_base.req_ompi.req_status.MPI_ERROR = MPI_SUCCESS;"
>>> in MCA_PML_CM_REQUEST_INIT_COMMON?
>>>
>>> Thank You,
>>>
>>> Sajjad Tabib
>>> _______________________________________________
>>> devel mailing list
>>> devel_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>
>>
>> --
>> Jeff Squyres
>> Cisco Systems
>>
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
>
>