Research group

Programming Languages and Tools Lab



This project is aimed at creating a tool for heterogeneous systems (multicore CPU + many GPGPUs) programming. F# quotation translator is used for integration with GPGPU, and the wide range of F# primitives for parallel and asynchronous programming (MailboxProcessor, async, Array.Paralle, etc) simplifies utilization of heterogeneous systems.

Features of Brahma.FSharp:

  • We aim to translate native F# code into OpenCL with minimization of different wrappers and custom types.
  • We use OpenCL for communication with GPU. Thus, you can work not just with NVIDIA hardware but with any devices which support OpenCL (e.g. with AMD devices).



Extended Abstract: F# OpenCL Type Provider

September 2018

Kirill Smirenko, Semyon Grigorev

Extended abstract at TyDe 2018 (at ICFP).

Read more