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
Kirill Smirenko, Semyon Grigorev
Extended abstract at TyDe 2018 (at ICFP).