Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Question about ompi_proc_t
From: Pavel Shamis (Pasha) (pashash_at_[hidden])
Date: 2009-12-08 12:34:55


> Both of these types (mca_pml_endpoint_t and mca_pml_base_endpoint_t) are meaningless, they can safely be replaced by void*. We have them clearly typed (but with just for the sake of understanding, so one can easily figure out what is supposed to be stored in this specific field. As such, we can remove one of them (mca_pml_base_endpoint_t) and use the other one (mca_pml_endpoint_t) everywhere.
>
George, thank you for clarification! For me it sound like a good idea to
leave only one of them.
> I wonder what is exactly the reason that drives your questions?
>
The question was raised during internal top-down code review.

Regards,
Pasha

>
>> George,
>> Actually My original question was correct.
>>
>> In the ompi code base I found ONLY two places where we "use" the structure.
>> Actually we only assign values for the pointer in DR and CM PML:
>>
>> ompi/mca/pml/cm/pml_cm.c:145: procs[i]->proc_pml = (struct mca_pml_base_endpoint_t*) endpoints[i];
>> ompi/mca/pml/dr/pml_dr.c:264: procs[i]->proc_pml = (struct mca_pml_base_endpoint_t*) endpoint;
>>
>> I do not see any struct definiton/declaration mca_pml_base_endpoint_t in the OMPI code at all.
>>
>> But I do see the "struct mca_pml_endpoint_t;" declaration in pml.h. As well, I comment that says: "A pointer to an mca_pml_endpoint_t is maintained on each ompi_proc_t". So it looks that the idea was to use use mca_pml_endpoint_t on the ompi_proc_t and not mca_pml_base_endpoint_t, is not it ?
>>
>> Thanks !
>>
>> Pasha
>>
>> George Bosilca wrote:
>>
>>> Actually your answer is correct. The endpoint is defined down below in the PML. In addition, I think only the MTL and the DR PML use it, all OB1 derivative completely ignore it.
>>>
>>> george.
>>>
>>> On Dec 7, 2009, at 08:30 , Timothy Hayes wrote:
>>>
>>>
>>>
>>>> Sorry, I think I read your question too quickly. Ignore me. :-)
>>>>
>>>> 2009/12/7 Timothy Hayes <hayesti_at_[hidden]>
>>>> Is it not a forward definition and then defined in the PML components individually based on their own requirements?
>>>>
>>>> 2009/12/7 Pavel Shamis (Pasha) <pashash_at_[hidden]>
>>>>
>>>> In the ompi_proc_t structure (ompi/proc/proc.h:54) we keep pointer to proc_pml - "struct mca_pml_base_endpoint_t* proc_pml" . I tired to find definition for "struct mca_pml_base_endpoint_t" , but I failed. Does somebody know where is it defined ?
>>>>
>>>> Regards,
>>>> Pasha
>>>> _______________________________________________
>>>> 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
>>>>
>>>>
>>>
>>>
>
>
>