[fpc-devel] Parallel Computing

Mattias Gaertner nc-gaertnma at netcologne.de
Mon Dec 10 13:36:14 CET 2007


On Mon, 10 Dec 2007 12:54:18 +0100
Michael Schnell <mschnell at lumino.de> wrote:

> 
> > OpenMP is about lightweight threads. The 'thread events' proposal is
> > the opposite: normal threads+events queues. 
> Of course you are right here.
> 
> IMHO the "parallel" idea is hard to implement, as the compiler needs
> to heavily support it. And it's completely outside of what a user
> expects from a Delphi language compiler. The implications of
> "parallel" sections might be hard to understand to the user of the
> compiler, especially if the language does not implement additional
> synchronizing methods. (Issues: ThreadVars versus normal Vars
> unprotected normal vars will fail, even a normal counter fails with
> multiple CPUs if the compiler does not create a bus lock instruction).

Think about the alternative: It is much harder to implement the same
parallel loop with TThread. So OpenMP makes parallel loops much easier
to implement. For me this is the 'Delphi' way: Makes things easy and
readable.

 
>[...]
> OTOH "Event Threads" is just an RTL enhancement and thus it's quite 
> easily implemented. And "thread events" only adds a single "procedure
> of thread" keyword or slightly extends the implementation of
> "procedure of object". This should not be to hard to implement
> either. (Of course the user needs to take care of synchronizing
> issues as well.))

The 'of thread' is a language change, not just an RTL enhancement.

 
> > Both techniques can live
> > happily together, so I think, the thread events should get a page of
> > its own.
> >   
> I can do this. But to me it looks like things in a wicki get lost
> very easily as they will only be found if someone explicitly searches
> for that issue. So doing another stand-alone article only makes sense
> when knowing decent locations where to place a link to same.

That's why you must add links pointing to the page.

About search optimization: The page is called OpenMP and this is what
users see. They don't see Eventhreads.

Mattias



More information about the fpc-devel mailing list