Hi,<br><br>Thanks for the information. Is there any document that describes a simple blocking send routine going through different layers from a high level view?<br><br>Thanks<br><br><div class="gmail_quote">On Fri, Mar 25, 2011 at 11:12 AM, Darius Buntinas <span dir="ltr"><<a href="mailto:buntinas@mcs.anl.gov">buntinas@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">MPICH2 has several interfaces to support derivative implementations. One interface is the ADI3 or "device" interface. You can find the device implementations in src/mpid/ . The base MPICH2 distribution contains two device implementations: CH3 and dcmfd. The dcmfd device is specifically for BlueGene, so you can ignore that. The MPID_ functions are implemented by the devices, so you can find them in src/mpid/ch3/src .<br>
<br>
The CH3 device also provides an "channel" interface for derivative implementations. The base MPICH2 distribution has a sock channel and a nemesis channel. You can find these in src/mpid/ch3/channels/ . Currently nemesis is the default channel. Nemesis uses shared memory for intranode communication, and uses network modules for internode communication. You can find the network modules in src/mpid/ch3/channels/nemesis/nemesis/netmod . Information on the netmod API can be found here:<br>
<a href="http://wiki.mcs.anl.gov/mpich2/index.php/Nemesis_Network_Module_API" target="_blank">http://wiki.mcs.anl.gov/mpich2/index.php/Nemesis_Network_Module_API</a><br>
<br>
I hope this helps!<br>
<font color="#888888"><br>
-d<br>
</font><div><div></div><div class="h5"><br>
On Mar 25, 2011, at 9:51 AM, vaibhav dutt wrote:<br>
<br>
> Thanks for the reply. Actually I am trying to understand the inter-node communication procedure in MPICH.<br>
> Are there any documents/papers on it as I was not able to find one. Does MPICH use RDMA for inter node communication?<br>
><br>
> On Thu, Mar 24, 2011 at 5:28 PM, Dave Goodell <<a href="mailto:goodell@mcs.anl.gov">goodell@mcs.anl.gov</a>> wrote:<br>
> MPICH2 is a large, complicated code base. Numerous tools have been developed over the years for navigating large, complicated codes; try grep, cscope, or ctags.<br>
><br>
> -Dave<br>
><br>
> On Mar 24, 2011, at 5:21 PM CDT, vaibhav dutt wrote:<br>
><br>
> > Hi all,<br>
> ><br>
> > I was trying to find out the implementation of a simple blocking send in MPICH for my research and it is given in a<br>
> > file send.c. In that file, a routine MPID_Send is being used to send the message. But I was not able to find the implementation of<br>
> > MPID_Send. Is the code for MPID_Send routine given in one of C++ files?<br>
> ><br>
> > Thanks<br>
> > _______________________________________________<br>
> > mpich-discuss mailing list<br>
> > <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
> > <a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
><br>
> _______________________________________________<br>
> mpich-discuss mailing list<br>
> <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
> <a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
><br>
> _______________________________________________<br>
> mpich-discuss mailing list<br>
> <a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
> <a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
<br>
_______________________________________________<br>
mpich-discuss mailing list<br>
<a href="mailto:mpich-discuss@mcs.anl.gov">mpich-discuss@mcs.anl.gov</a><br>
<a href="https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss" target="_blank">https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss</a><br>
</div></div></blockquote></div><br>