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&#39;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&#39;m trying to do? Sorry if i&#39;m not explaining this clearly.<br>
<br>Mike<br><br><div class="gmail_quote">On Mon, Jul 12, 2010 at 2:57 PM, Hiatt, Dave M <span dir="ltr">&lt;<a href="mailto:dave.m.hiatt@citi.com">dave.m.hiatt@citi.com</a>&gt;</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);">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&#39;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&#39;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: 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 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></div><div class="h5">

<p class="MsoNormal"> </p>

<p class="MsoNormal">Hi All, I hope i&#39;m posting this in the correct forum. I&#39;m
extremely new to MPI so forgive me if my question comes off as silly. I&#39;ve only
been dabbling around with parallel computing for a few weeks now but I&#39;m
wondering about the possibilities. So far with each example that I&#39;ve been
through, I create an MPI application and then run this application using the
mpiexec command. What I&#39;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>
&gt;From the examples I&#39;ve seen it appears that the MPI code runs as standalone
units and couldn&#39;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&#39;s any confusion please ask and
i&#39;ll clarify.<br>
<br>
Thanks for your time,<br>
<br>
Mike</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>