[pooma-dev] Re: [PATCH] Robustify async MPI request handling

Richard Guenther rguenth at tat.physik.uni-tuebingen.de
Tue Aug 17 15:31:57 UTC 2004


Jeffrey D. Oldham wrote:
> Richard Guenther wrote:
> 
>> On Mon, 16 Aug 2004, Jeffrey D. Oldham wrote:
>>
>>  
>>
>>> Richard Guenther wrote:
>>>
>>>   
>>>
>>>> The following patch fixes an error and robustifies MPI request 
>>>> handling.
>>>>
>>>> Tested by having it in my local tree for a long time.
>>>>
>>>> Ok?
>>>>
>>>> Richard.
>>>>
>>>>
>>>> 2004Aug16  Richard Guenther <richard.guenther at uni-tuebingen.de>
>>>>
>>>>    * src/Threads/IterateSchedulers/SerialAsync.h: Guard against
>>>>    LAM MPI automatically dragging in C++ support, fix message
>>>>    polling return value check, complete messages first, remove
>>>>    unused variable.
>>>>     
>>>
>>> What problems does mpicxx.h cause?  I am both curious and want to know
>>> so I can approve the patch.
>>>   
>>
>>
>> The problem is incompatible C++ ABIs for the compiler used to build LAM
>> (gcc 2.95) and the compiler I try to build POOMA with (gcc 3.4), so
>> linking will fail either with ABI problems or missing symbols if not
>> linking the C++ support libraries (as the header somehow manages to pull
>> symbols regardless of not using any of the C++ support).  As we don't use
>> any of the MPI C++ API we don't need its declarations either.  Other
>> MPI implementations require you to explicitly pull mpicxx.h, but LAM aims
>> to be clever in just doing
>>
>> #ifdef __cplusplus
>> #include <mpicxx.h>
>> #endif
>>
>> which I think is a bug in LAM, but can be easily worked around by us.
>>
>> But I can leave this chunk of the patch out, if you like.
>>  
>>
> I now understand:
> o mpicxx.h contains the C++ interface to MPI.
> o Pooma does not use this MPI interface.
> 
> I am confused about LAM and gcc 2.95 since I sometimes use LAM with gcc 
> 3.x.y.  If your problem goes away by using gcc 3.4 with LAM, let's omit 
> this special-purpose code and commit the rest of this patch.  Otherwise, 
> the entire patch is fine.

The problem should be going away as long as POOMA is built with the same 
compiler as LAM was.  So I'll commit without this chunk for now.

Thanks,

Richard.



More information about the pooma-dev mailing list