<br><font size=2 face="sans-serif">Joe is building on one of our front-ends
because we are seeing some weirdness in datatype stuff inside MPIR_Gather.
We wanted to see if it was having problems on multiple platforms.</font>
<br>
<br><font size=2 face="sans-serif">But, yes, on BGP for the compute nodes
it needs to be at least 8-byte aligned (and 16 might be better for performance),
but you probably want to generalize the type sizing on other platforms.</font>
<br>
<br><font size=2 face="sans-serif"><br>
Brian Smith<br>
BlueGene MPI Development<br>
IBM Rochester<br>
Phone: 507 253 4717<br>
smithbr@us.ibm.com<br>
</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>Darius Buntinas <buntinas@mcs.anl.gov></b>
</font>
<br><font size=1 face="sans-serif">Sent by: opa-core-bounces@lists.mcs.anl.gov</font>
<p><font size=1 face="sans-serif">06/09/2009 03:23 PM</font>
<td width=59%>
<table width=100%>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td><font size=1 face="sans-serif">Joe Ratterman <jratt0@gmail.com></font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td><font size=1 face="sans-serif">OpenPA Core <opa-core@lists.mcs.anl.gov>,
MPICH2 Dev <mpich2-dev@mcs.anl.gov></font>
<tr valign=top>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td><font size=1 face="sans-serif">Re: [opa-core] Problem with MPICH2 1.1
during MPI_Init() on PPC Linux 32bit</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><tt><font size=2>I see that there is a comment in opa_gcc_ppc.h that
"these need to be<br>
aligned on an 8-byte boundary to work on a BG/P." Do you know
if this<br>
is true?<br>
<br>
Dave, this looks like your comment. Can you comment?<br>
<br>
Should this be changed to "OPA_ATTRIBUTE((aligned (SIZEOF_VOID_P)))"
to<br>
handle different pointer sizes (similarly for SIZEOF_INT for ints)?<br>
<br>
-d<br>
<br>
On 06/09/2009 03:04 PM, Joe Ratterman wrote:<br>
> This is the error I'm seeing:<br>
> <br>
> Assertion failed in file mpid_nem_init.c at line 89:<br>
> sizeof(MPID_nem_cell_rel_ptr_t) == 4<br>
> <br>
> <br>
> <br>
> This appears to be the important code from the pre-processed version<br>
> of mpid_nem_init.c<br>
> <br>
> <br>
> # 11<br>
> "/bglhome/usr1/jratt/src-sles10/mpich2/mpich2-1.1/src/openpa/src/primitives/opa_gcc_ppc.h"<br>
> typedef struct { volatile int v __attribute__ ((aligned
(8))); }<br>
> OPA_int_t;<br>
> typedef struct { void * volatile v __attribute__ ((aligned
(8))); }<br>
> OPA_ptr_t;<br>
> <br>
> # 188 "../include/mpid_nem_datatypes.h"<br>
> typedef struct MPID_nem_cell_rel_ptr<br>
> {<br>
> OPA_ptr_t p;<br>
> }<br>
> MPID_nem_cell_rel_ptr_t;<br>
> <br>
> # 135 mpid/ch3/include/mpidi_ch3_conf.h<br>
> <br>
> #define SIZEOF_VOID_P 4<br>
> <br>
> # 85 mpid_nem_init.c<br>
> /* The MPID_nem_cell_rel_ptr_t defined
in mpid_nem_datatypes.h<br>
> * should only contain a pointer.
Also, we don't support compilers<br>
> * which add random padding to the
start of the structure. The<br>
> * below assert should blow up if
any of these happens. */<br>
> MPIU_Assert(sizeof(MPID_nem_cell_rel_ptr_t)
== SIZEOF_VOID_P);<br>
> <br>
> <br>
> <br>
> Given the above code, the size of that type appears to be 8 in both
GCC<br>
> and XLC. I see that the alignment is hard-coded to 8 in<br>
> src/openpa/src/primitives/opa_gcc_ppc.h. Changing that first
line to an<br>
> alignment of 4, the type size shrinks to 4 (correspondingly, increasing<br>
> it to 16 increases the type size as well).<br>
> <br>
> Changing the file to 4 and recompiling things allows a few simple
tests<br>
> to work fine--I haven't tried too much more.<br>
> <br>
> <br>
> <br>
> Thanks,<br>
> Joe Ratterman<br>
> jratt@us.ibm.com <mailto:jratt@us.ibm.com><br>
> <br>
> <br>
> ------------------------------------------------------------------------<br>
> <br>
> _______________________________________________<br>
> opa-core mailing list<br>
> opa-core@lists.mcs.anl.gov<br>
> https://lists.mcs.anl.gov/mailman/listinfo/opa-core<br>
_______________________________________________<br>
opa-core mailing list<br>
opa-core@lists.mcs.anl.gov<br>
https://lists.mcs.anl.gov/mailman/listinfo/opa-core<br>
</font></tt>
<br>