EdLambda meetup: FP meets high performance, vectorising the array language SaC

Title: Automatic data layout transformations enabling SIMD vectorisation.

Abstract:
Usually programming languages use a fixed layout for logical data structures
in physical memory. Such a static mapping often has a negative effect on
usability of vector units. In the talk we will consider a compiler for a
programming language that allows every data structure in a program to have its
own data layout.

Such an approach comes with a number of challenges. First, the number of
theoretically possible data layout configurations per program is very large.
We need to choose the one that will lead to the best program
vectorisation. Secondly, we have to make sure that the chosen configuration
is sound. Finally, the code we generate has to encode desired vectorisation
preferably in a portable way.

Our solution lies in using types to encode data layouts. We
use a type system to verify data layout consistency in programs. Type
inference techniques allow us to solve a data layout reconstruction problem.
We prove that type-implied transformations preserve semantics
of the original programs and we demonstrate significant performance improvements
when targeting SIMD-capable architectures.

to (Europe/London time)

More details: sites.google.com

More Information

About EdLambda

EdLambda is an Edinburgh group for people interested in functional programming which has been running since September 2010. We meet in the Outhouse pub on the 2nd Tuesday of every month at 7pm. There is usually a talk on a subject of interest to functional programmers, followed by chat and drink! EdLambda meetups are free events and everyone is welcome.

The Outhouse pub
12A Broughton Street Lane
Edinburgh
EH1 3LY