Using Parallel Extensions from F#

A couple of weeks ago saw the release of the CTP of the Parallel Extensions to the .NET Framework (download), This is one the major technologies currently under development at Microsoft for parallel and concurrent programming and provides a great mix of core technologies such as the Task Parallel Library (TPL) and highly expressive programmer devices such as PLINQ. Over the coming year I expect we'll be seeing this library used very widely from F#, and we'll eventually be using the TPL as a key underlying technology for F# asynchronous workflows.

TPL excels at CPU-intensive parallelism and exploiting multiple cores, especially in conjunction with functional programming. This makes it ideal for use with F#. I plan to give a number of examples here in future blog posts, but to get started, I'd recommend you take a look at Juergen van Gael's recent blog entry on using TPL for a parallel matrix multiply.