This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [gomp] Challenges in Implementing OpenMP


On Thu, Oct 21, 2004 at 07:09:38AM -0500, Gabriel Dos Reis wrote:
> I'm glad you had a chance to talk to Lawrence while he is in Paris at
> this moment.  I'll be in Paris in three weeks but, unfortunately, I do
> not think I'll have enough time to mee Albert Cohen, you and Lawrence
> simultaneously. 
> 

That's quite simple to solve: just give a seminar on "The Pivot" ;-)
I for sure will be there.

> | I have asked him about how the data dependence
> | information is transmitted to the lower levels of the compiler.  This
> | is the same problem we're facing when trying to send the data
> | dependence information from GIMPLE to RTL, and I should say that this
> | issue is still open.  In the case of STAPL one of the interfaces to
> | the compiler is OpenMP, clearly not very useful when you know that
> | STAPL computes the whole data dependence graph, but that all you can
> | transmit using OpenMP directives is whether loops are parallel or
> | not... 
> 
> I don't believe STAPL compute the dependency graph just to emit OpenMP
> directives. 
> 

I only meant that the OpenMP was a poor interface for transmitting the
amount of information available in STAPL.

> It does other tranformations based on the semantics of the library
> (pRange, vContainers, ...) that need the dependency information.  And
> since that dependency information happens to around, it uses to give
> directives and it usins OpenMP. 
> 

Yes that is what I have understood also from the presentation of Lawrence.

> 
> I think OpenMP directives target way too low level constructs than is
> appropriate to write straight high-level programs; and OpenMP is just
> one model, there are equally good out there.
> 

As I have said in the last line of my previous message, I don't think
that OpenMP is the best for parallel programming because you have no
barriers on what you can write, and the compiler is dumb enough to not
be able to check your statements...  For this reason I think that
STAPL is doing a better job, or at least I hope ;-) By the way, is
there a way to get the STAPL code for trying it out?  I have asked
Lawrence but he still didn't replied.

>   But probably this is the whole bad point about all
> | this approach, ie. the reason it is so difficult to reuse the high
> | level information down in the compiler...
> 
> Not if you have a cooperation between transformation tools and the
> compiler -- which is one of the main reasons The Pivot has been
> launched, and yes there are similar projects around :-)

This is exactly what I didn't get by just reading your slides: how are
the analyzers and transformation tools interacting with the compiler,
c++ code or directly on IPR/XPR?  

I definitely want you to give a talk at Alchemy about all this ;-)

> 
> I meant and still mean to stress on the necessity of 
> 
>   (1) high-level abstractions and separation of concern at that level;
>   (2) improving the code generation based on information passed to the
>       compiler -- where it does not have to mess with the higher levels.
>  
> And no, I do not think that OpenMP with the compiler having to do all
> the work is the way to go.
> 

I have understood your position.

Sebastian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]