Futhark is a data-parallel functional array language that was intended to serve as the vehicle for research into compiler optimisations. However, along the way it has grown into quite a pleasant little language for expressing array-oriented programs. That the compiler is able to turn said programs into highly efficient GPU code is of course an extra bonus.
In this demo we will see how Futhark can be used in practise to solve a variety of interesting real-world problems. These include visualising fractals, blurring images, and calibrating Heston model parameters for asset pricing, using an evolutionary algorithm whose efficient implementation naturally involves nested parallelism.
I try to make functional programs go really, really fast. It’s not easy.