[mpich-discuss] Integrating parallel and serial code

Hiatt, Dave M dave.m.hiatt at citi.com
Tue Jul 13 09:19:15 CDT 2010


You can do that.   The trick is, for starters you'll probably only want a single "communicator" to get your feet wet, so only 1 of the "B"'s should call MPI_INIT and hence become "Node 0".  So your "B" logic needs to be clever enough to have an algorithm to let a single "B" do the INIT and FINALIZE.



From: mpich-discuss-bounces at mcs.anl.gov [mailto:mpich-discuss-bounces at mcs.anl.gov] On Behalf Of Michael Morrison
Sent: Monday, July 12, 2010 5:46 PM
To: mpich-discuss at mcs.anl.gov
Subject: Re: [mpich-discuss] Integrating parallel and serial code

Thanks again Dave, here is a clearer description of what i'm trying to accomplish:

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.

(Thanks to Mr. Solt for helping me to clarify my problem!)

Thanks,

Mike
On Mon, Jul 12, 2010 at 3:22 PM, Hiatt, Dave M <dave.m.hiatt at citi.com<mailto:dave.m.hiatt at citi.com>> wrote:
Then MPI will work exactly as you are expecting, that's what it does as it were.

From: mpich-discuss-bounces at mcs.anl.gov<mailto:mpich-discuss-bounces at mcs.anl.gov> [mailto:mpich-discuss-bounces at mcs.anl.gov<mailto:mpich-discuss-bounces at mcs.anl.gov>] On Behalf Of Michael Morrison
Sent: Monday, July 12, 2010 5:21 PM

To: mpich-discuss at mcs.anl.gov<mailto:mpich-discuss at mcs.anl.gov>
Subject: Re: [mpich-discuss] Integrating parallel and serial code

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.

Mike
On Mon, Jul 12, 2010 at 2:57 PM, Hiatt, Dave M <dave.m.hiatt at citi.com<mailto:dave.m.hiatt at citi.com>> wrote:
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.

From: mpich-discuss-bounces at mcs.anl.gov<mailto:mpich-discuss-bounces at mcs.anl.gov> [mailto:mpich-discuss-bounces at mcs.anl.gov<mailto:mpich-discuss-bounces at mcs.anl.gov>] On Behalf Of Michael Morrison
Sent: Monday, July 12, 2010 4:52 PM
To: mpich-discuss at mcs.anl.gov<mailto:mpich-discuss at mcs.anl.gov>
Subject: [mpich-discuss] Integrating parallel and serial code

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?

>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.

Thanks for your time,

Mike

_______________________________________________
mpich-discuss mailing list
mpich-discuss at mcs.anl.gov<mailto:mpich-discuss at mcs.anl.gov>
https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss


_______________________________________________
mpich-discuss mailing list
mpich-discuss at mcs.anl.gov<mailto:mpich-discuss at mcs.anl.gov>
https://lists.mcs.anl.gov/mailman/listinfo/mpich-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20100713/73fd7b5f/attachment-0001.htm>


More information about the mpich-discuss mailing list