[mpich2-dev] [opa-core] Problem with MPICH2 1.1 during MPI_Init() on PPC Linux 32bit

Darius Buntinas buntinas at mcs.anl.gov
Tue Jun 9 16:33:25 CDT 2009


The assert is there to make sure that the relative cell pointer is the
same size as the absolute cell pointer, because we want to cast between
the two, so I think the assert is correct.  I'll fix the comment to be
more accurate.

Thanks for checking this out for us!

-d

On 06/09/2009 04:28 PM, Joe Ratterman wrote:
> Yes, that patch works fine.  It might not be the final solution, but it does
> make the assert pass, and I can run my app.  I think it is a very good idea.
> What about this part of the comment:
> 
> "Also, we don't support compilers which add random padding to the start of
> the structure."
> 
> Essentially, the compiler added 4 bytes to the *end* of a different
> structure that you are using in your new structure.  Might that be a
> concern?
> 
> 
> On Tue, Jun 9, 2009 at 4:06 PM, Darius Buntinas <buntinas at mcs.anl.gov>wrote:
> 
>> Joe, can you check if this patch works for you?
>>
>> Thanks,
>> -d
>>
>> Index: src/mpid/ch3/channels/nemesis/nemesis/src/mpid_nem_init.c
>> ===================================================================
>> --- src/mpid/ch3/channels/nemesis/nemesis/src/mpid_nem_init.c   (revision
>> 4676)
>> +++ src/mpid/ch3/channels/nemesis/nemesis/src/mpid_nem_init.c   (working
>> copy)
>> @@ -86,7 +86,7 @@
>>       * should only contain a pointer. Also, we don't support compilers
>>      * which add random padding to the start of the structure. The
>>      * below assert should blow up if any of these happens. */
>> -    MPIU_Assert(sizeof(MPID_nem_cell_rel_ptr_t) == SIZEOF_VOID_P);
>> +    MPIU_Assert(sizeof(MPID_nem_cell_rel_ptr_t) == sizeof(OPA_ptr_t));
>>
>>     /* Make sure the cell structure looks like it should */
>>     MPIU_Assert(MPID_NEM_CELL_PAYLOAD_LEN + MPID_NEM_CELL_HEAD_LEN ==
>> sizeof(MPID_nem_cell_t));
>>
>>
>>
>>
>> On 06/09/2009 03:58 PM, Darius Buntinas wrote:
>>> I believe it should be exactly the size of an OPA_ptr_t.  I'm checking
>>> this right now.
>>>
>>> -d
>>>
>>>> I think the bigger question is whether or not the assertion is
>>>> sensible.  I don't know why the cell rel pointer structure needs to be
>>>> exactly the same size as a pointer as long as it contains a pointer
>>>> value...
>> _______________________________________________
>> opa-core mailing list
>> opa-core at lists.mcs.anl.gov
>> https://lists.mcs.anl.gov/mailman/listinfo/opa-core
>>
> 


More information about the mpich2-dev mailing list