Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

[Beowulf] Using Autoparallel compilers or Multi-Threaded librarieswith MPI

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

Tom Elken tom.elken at qlogic.com
Fri Dec 14 08:41:15 PST 2007


> -----Original Message-----
> From: Eray Ozkural [mailto:examachine at gmail.com] 
> Sent: Friday, December 14, 2007 2:11 AM
> To: Tom Elken
> Cc: beowulf at beowulf.org
> Subject: Re: [Beowulf] Using Autoparallel compilers or 
> Multi-Threaded librarieswith MPI
> 
> On Dec 12, 2007 7:35 PM, Tom Elken <tom.elken at qlogic.com> wrote:
> > Results of the VERY non-scientific survey:
> >
> > # reporting use of Autoparallel features with MPI:          0
> >
> > # reporting use of multi-threaded math libraries with MPI:  1
> >
 
> Well, then, is there really such a thing that extracts 
> threads from those
> horrible C codes and generates MPI code?

I have heard of SW tools that try to do some of that, but they did not
achieve much commercial success.
But that is not what I meant.

I guess I was relying on memory of readers about my original post about
this subject.  Since that post was way back in November, that was a
dangerous assumption.  Thankfully we have an archive:
http://www.beowulf.org/archive/2007-November/020211.html

'Autoparallel features with MPI' came from this in the original post:
"I was wondering how many people use either auto-parallel compiler
features, or multi-threaded math libraries (Goto, MKL, ACML, etc.) to
provide some thread-level parallelism on a cluster where you primarily
use MPI to achieve your parallel execution.*"

So I meant that the source code is parallelized using MPI.  Then in an
effort to create something like a hybrid MPI/OpenMP program, but without
having to add the OpenMP directives, you use the automatic
parallelization feature of common compilers:
-parallel  in the Intel compiler
-apo       in the PathScale compiler
-Mconcur   in the PGI compiler,  etc.
to find loops which can profitably be parallelized using threads.

Here was the example I mentioned in the original post:
"For example, if an autoparallelizing compiler could find effective
4-way thread-level parallelism in an MPI code and you were running on a
cluster of 8 nodes each with two quad-core CPUs, 64 cores total, you
might choose to run with 16 MPI threads and set your NUM_THREADS
variable to 4, to run with all 64 cores of the cluster executing work
with reasonable efficiency. "

So no one responded that they have done this, let alone finding it to be
faster than running it with purely MPI ranks (no threads).

-Tom


> Not that I believe 
> it is impossible
> (since I work for a company that does a similar thing) but I 
> would like to know
> which autoparallel MPI code the posters had in mind. Is there 
> a market for
> that kind of a compiler?
> 
> Best,
> 
> -- 
> Eray Ozkural, PhD candidate.  Comp. Sci. Dept., Bilkent 
> University, Ankara
> 




More information about the Beowulf mailing list