From: "Robert G. Brown" <[EMAIL PROTECTED]>
Subject: Re: [Beowulf] LAM, MPICH, OpenMP?
To: Ruhollah Moussavi Baygi <[EMAIL PROTECTED]>
Cc: [email protected]
Message-ID: <[EMAIL PROTECTED]>
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed
On Tue, 22 May 2007, Ruhollah Moussavi Baygi wrote:
> Dear all at Beowulf,
>
> As a conceptual question in the realm of parallel programming, what is the
> difference between LAM/MPI, MPICH, and OpenMP? Could one say that all of
> these are something like 'different compilers' for 'one programming
> language'?
No. They are more like "different libraries" that share (more or less)
"one API". In fact, that is indeed what they are.
I think RGB was answering as though you typed "Open MPI" rather than "OpenMP."
If you did mean to type "Open MPI," then ignore the following.
His answer was very appropriate for several MPI's. OpenMP is an API that is
implemented through directives (a special kind of statement) that has to be
interpreted by the compiler to generate multi-threaded code. With the OpenMP
compiler will be provided an OpenMP runtime library to manage the threading at
runtime.
Typically MPI is the API for running parallel applications across a cluster and
OpenMP for running parallel applications within a node (an SMP multiprocessor
machine).
You may want to get a book that covers both topics like "Parallel Programming in
C with MPI and OpenMP" by Michael Quinn to get at the conceptual differences and
similarities between the two. Or google searching can provide a lot of free
references to both.
-Tom
--
~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tom Elken Manager, Performance Engineering
[EMAIL PROTECTED] QLogic Corporation
Host Solutions Group
_______________________________________________
Beowulf mailing list, [email protected]
To change your subscription (digest mode or unsubscribe) visit
http://www.beowulf.org/mailman/listinfo/beowulf