Re: [OMPI devel] Question regarding MCA_PML_CM_SEND_REQUEST_INIT_COMMON
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 <jsquy...@cisco.com> Sent by: devel-boun...@open-mpi.org 10/31/07 07:29 AM Please respond to Open MPI Developers <de...@open-mpi.org> To Open MPI Developers <de...@open-mpi.org> 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 de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Jeff Squyres Cisco Systems ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel
Re: [OMPI devel] Question regarding MCA_PML_CM_SEND_REQUEST_INIT_COMMON
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 <jsquy...@cisco.com> Sent by: devel-boun...@open-mpi.org 10/31/07 07:29 AM Please respond to Open MPI Developers <de...@open-mpi.org> To Open MPI Developers <de...@open-mpi.org> 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 > de...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Jeff Squyres Cisco Systems ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel
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 de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Jeff Squyres Cisco Systems
[OMPI devel] Question regarding MCA_PML_CM_SEND_REQUEST_INIT_COMMON
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