[gomp] Challenges in Implementing OpenMP

Scott Robert Ladd coyote@coyotegulch.com
Thu Oct 14 14:34:00 GMT 2004


Giovanni Bajo wrote:
> I would say this is better suited as a language independent pass, which would
> allow us not to duplicate too much work and effort.

You're probably correct.

> Of course, I am not sure about implications. I read some documentation on
> OpenMP, and it seems that the pragmas affect/transform code blocks to make them
> parallel.

Yes it does. The transformation can be rather extensive, and are 
language dependent to some extent. Even C and C++ differ in subtle ways, 
due to the nature of C++ objects.

> Now, if the C/C++/gfortran FEs produce some new GENERIC trees like
> OPENMP_PARALLEL_EXPR which wraps the statements affected by the pragmas, we can
> do the code transformation in a language independent fashion, probably even
> within gimplification (or immediatly before/after it). It has to be done before
> any kind of optimization of course (for many reasons, for instance the #pragmas
> do sometimes mention source variable names).

Yes; in fact, for some parallel architectures, OpenMP requires some 
rather extensive reorganization of the code, including the creation of 
new variables and functions.

..Scott

-- 
Scott Robert Ladd
site: http://www.coyotegulch.com
blog: http://chaoticcoyote.blogspot.com



More information about the Gcc mailing list