Brahma.FSharp


What is Brahma.FSharp?

Brahma.FSharp is a way to use GPGPUs in your F# projects. Brahma.FSharp is based on F# code quotations to OpenCL C translation. Brahma.FSharp provides not only translator but also memory management system and host-devise communication system.

Why use Brahma.FSharp?

  • Brahma.FSharp uses OpenCL for communication with GPU. So, you can utilize not only NVIDIA hardware but any device, which supports OpenCL (e.g. AMD or Intel devices).
  • Brahma.FSharp supports not only primitive types, but also tuples, structures, and discriminated unions.
  • Brahma.FSharp not limited by imperative subset of F#. It supports nested bindings, local functions, pattern matching.
  • Communication with GPGPUs based on Mailbox processors, thus asynchronous communications, which are native for GPGPU computations, can be used easily.