[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.
Tom Elken tom.elken at qlogic.comFri Dec 14 08:41:15 PST 2007
- Previous message: [Beowulf] large array to run
- Next message: [Beowulf] Using Autoparallel compilers or Multi-Threaded librarieswith MPI
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
> -----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 >
- Previous message: [Beowulf] large array to run
- Next message: [Beowulf] Using Autoparallel compilers or Multi-Threaded librarieswith MPI
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Beowulf mailing list
