Hans-Peter Diettrich wrote:
Mark Morgan Lloyd schrieb:
Boian Mitov wrote:
I think parallel processing belongs in library implementations.
I have reservations, based in part on the fact that other language
implementations are prepared to assume responsibility for
parallelisation, in part on experience with e.g. APL which at the very
least specifies that the user should assume that operations are
parallelised, and in part on the fact that FPC already vectorises on
e.g. SSE2 hardware.
What do you (both) mean by "parallel processing"?
I'd suggest that http://wiki.lazarus.freepascal.org/OpenMP_support and
related pages is an adequate answer; alternatively see
http://www.elementswiki.com/en/Parallel_For_Loops. However the point I'm
really trying to make is that IMO before anybody seriously considers
adding any form of parallelisation at the language level they should add
serialisation (i.e. comparable with a Brinch Hansen monitor etc.).
Streaming (SSE...) does *vectoring*, i.e. multiple (floating point)
operands of the same *array* are processed in parallel. Such cases can
be handled by the compiler, no libraries are involved, no threads, no
risk of side-effects.
I'm thoroughly aware of the distinction.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel