[mpich-discuss] New field at MPID_Comm

Darius Buntinas buntinas at mcs.anl.gov
Fri May 22 09:46:15 CDT 2009


Well, it depends.  If you're adding the fields at the ADI level, i.e.,
to MPID_Comm in src/include/mpiimpl.h, then you might want to do it in
MPIR_Comm_create() in src/mpi/comm/commutil.c.

If you're adding the fields at the device level, e.g., the nemesis
channel defines the structure to MPIDI_CH3I_comm_t in
src/mpid/ch3/channels/nemesis/include/mpidi_ch3_pre.h, which is included
in MPID_Comm with the MPID_DEV_COMM_DECL macro, then you want to do it
in MPIDI_CH3I_comm_create() in
src/mpid/ch3/channels/nemesis/src/ch3i_comm.c.

You mentioned using the default channel in 1.0.8, and I don't think sock
has defined any device- or channel-specific comm fields, so I guess
option 1 might be the only option.

-d

On 05/22/2009 12:18 AM, Eduardo Kienetz wrote:
> To add a new field to a communicator I should change
> src/mpid/ch3/src/mpiimpl.h at the MPID_Comm structure definition, adding
> my new field (I'm working on the default channel, ch3, of
> mpich2-1.0.8p1). For instance, c_peruse_handles.
> Now, if I'm right so far (please let me know if anything is wrong),
> where's the best place to initialize it to NULL?
> src/mpid/ch3/src/mpid_init.c's MPID_Init?
> 
> If I'm focusing (for now) only in point-to-point operations, am I right
> in saying that I'd work on src/mpi/pt2pt (recv.c, send.c, for example) ?
> 
> Thanks so much, it's been a nice challenge.
> 
> -- 
> Eduardo Bacchi Kienetz


More information about the mpich-discuss mailing list