People often ask me about GPGPU (General Purpose GPU) programming with F#.
One project you might like to take a look at is Brahma, which lets you compile C# expression trees to the GPU. When combined with the F# Power Pack support for converting F# quotations to LINQ expression trees, this should give a viable technique for using GPUs for computation.
Another route is to use Microsoft Accelerator, an incubation project from Microsoft Research. New functionality includes:
Accelerator v2 is written as a native-code C++ library with a managed API wrapper
Execution on multicore CPUs in addition to DX9 GPUs
Extensible HW target interface enabling support for execution on new devices
Ability to execute on multiple devices within a single Accelerator instance
Asynchronous evaluation of parallel arrays
Reusable expression graphs: Across different devices and on the same device with different leaf-node data
Some samples in F# are on the Accelerator home page, and Tomas Petricek has an excellent guide.
Read more: Don Syme's WebLog on F# and Related Topics
One project you might like to take a look at is Brahma, which lets you compile C# expression trees to the GPU. When combined with the F# Power Pack support for converting F# quotations to LINQ expression trees, this should give a viable technique for using GPUs for computation.
Another route is to use Microsoft Accelerator, an incubation project from Microsoft Research. New functionality includes:
Accelerator v2 is written as a native-code C++ library with a managed API wrapper
Execution on multicore CPUs in addition to DX9 GPUs
Extensible HW target interface enabling support for execution on new devices
Ability to execute on multiple devices within a single Accelerator instance
Asynchronous evaluation of parallel arrays
Reusable expression graphs: Across different devices and on the same device with different leaf-node data
Some samples in F# are on the Accelerator home page, and Tomas Petricek has an excellent guide.
Read more: Don Syme's WebLog on F# and Related Topics