Thanks again Dave, here is a clearer description of what i'm trying to accomplish:<br><br>I
would like an application to be able to call a routine that happens to
use MPI. The application itself is not fully aware that MPI is being
used in the lower level routine. <br>
<br>(Thanks to Mr. Solt for helping me to clarify my problem!)<br><br>Thanks,<br><br>Mike<br><br><div class="gmail_quote">On Mon, Jul 12, 2010 at 3:22 PM, Hiatt, Dave M <span dir="ltr"><<a href="mailto:dave.m.hiatt@citi.com">dave.m.hiatt@citi.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div link="blue" vlink="purple" lang="EN-US">
<div>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">Then MPI will work exactly as you are expecting, that's what it
does as it were.</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<div style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
<p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;">
<a href="mailto:mpich-discuss-bounces@mcs.anl.gov" target="_blank">mpich-discuss-bounces@mcs.anl.gov</a> [mailto:<a href="mailto:mpich-discuss-bounces@mcs.anl.gov" target="_blank">mpich-discuss-bounces@mcs.anl.gov</a>] <b>On
Behalf Of </b>Michael Morrison<br>
<b>Sent:</b> Monday, July 12, 2010 5:21 PM<div class="im"><br>
<b>To:</b> <a href="mailto:mpich-discuss@mcs.anl.gov" target="_blank">mpich-discuss@mcs.anl.gov</a><br>
</div><b>Subject:</b> Re: [mpich-discuss] Integrating parallel and serial code</span></p>
</div><div><div></div><div class="h5">
<p class="MsoNormal"> </p>
<p class="MsoNormal" style="margin-bottom: 12pt;">Hey Dave, Thanks for
taking the time to responsd! Actually i am thinking function A and B as
separate modules. Basically i want function A to be able to call function B in
its separate module and then have function B execute it's parallel algorithm
and then return the results to function A. A and B could be completely
different code sets on separate machines. Does that clarify what i'm trying to
do? Sorry if i'm not explaining this clearly.<br>
<br>
Mike</p>
<div>
<p class="MsoNormal">On Mon, Jul 12, 2010 at 2:57 PM, Hiatt, Dave M <<a href="mailto:dave.m.hiatt@citi.com" target="_blank">dave.m.hiatt@citi.com</a>> wrote:</p>
<div>
<div>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);">It sounds like you are imagining
function A and B are both part of the same executable module. If that is
the case, then A can be single threaded, but you'd be better off using OpenMP
to thread function B and run in parallel locally. Where MPI would help
you is if function A is part of a program that sends messages out to a group of
computers all running function B, and you are sending different data to all the
functions B's hence you are running in parallel that way.</span></p>
<p class="MsoNormal"><span style="font-size: 11pt; color: rgb(31, 73, 125);"> </span></p>
<div style="border-style: solid none none; border-color: -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0in 0in;">
<p class="MsoNormal"><b><span style="font-size: 10pt;">From:</span></b><span style="font-size: 10pt;"> <a href="mailto:mpich-discuss-bounces@mcs.anl.gov" target="_blank">mpich-discuss-bounces@mcs.anl.gov</a>
[mailto:<a href="mailto:mpich-discuss-bounces@mcs.anl.gov" target="_blank">mpich-discuss-bounces@mcs.anl.gov</a>]
<b>On Behalf Of </b>Michael Morrison<br>
<b>Sent:</b> Monday, July 12, 2010 4:52 PM<br>
<b>To:</b> <a href="mailto:mpich-discuss@mcs.anl.gov" target="_blank">mpich-discuss@mcs.anl.gov</a><br>
<b>Subject:</b> [mpich-discuss] Integrating parallel and serial code</span></p>
</div>
<div>
<div>
<p class="MsoNormal"> </p>
<p class="MsoNormal">Hi
All, I hope i'm posting this in the correct forum. I'm extremely new to MPI so
forgive me if my question comes off as silly. I've only been dabbling around
with parallel computing for a few weeks now but I'm wondering about the
possibilities. So far with each example that I've been through, I create an MPI
application and then run this application using the mpiexec command. What I'm
wondering about is if it would be possible to say have a C function that
executes some algorithm in a parallel manner that could be called by another C
function. For example suppose i had two C functions, the first called function
A and the second called function B. Function A is just a normal function that
runs serially, function B executes its algorithm parallelly using MPI
constucts. Is it possible to have a set up like this?<br>
<br>
>From the examples I've seen it appears that the MPI code runs as standalone
units and couldn't be integrated with serially executing code. Is this
true or is there someway to make this set up work? I may not have given enough
information to answer the question, if there's any confusion please ask and
i'll clarify.<br>
<br>
Thanks for your time,<br>
<br>
Mike</p>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom: 12pt;"><br>
_______________________________________________<br>
mpich-discuss mailing list<br>
<a href="mailto:mpich-discuss@mcs.anl.gov" target="_blank">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></p>
</div>
<p class="MsoNormal"> </p>
</div></div></div>
</div>
<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></blockquote></div><br>