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

Reply via email to