School of Computing Research Colloquia

High-Performance Computing with Haskell

David Duke, Computational Science and Engineering Research Them

Abstract: Codes for computational science have historically been dominated by machine-oriented imperative thinking. This position is now being challenged, both through the complexity of parallel hardware and the need to reduce development and access costs for high performance computing. One outcome has been development of specialised runtime systems and domain-specific languages for scientific applications. However a different approach to the challenge of extreme-scale computing on parallel hardware is to build on advances elsewhere in the programming system design space, specifically parallel functional programming. This talk will describe recent work that has exploited and extended Haskell for applications in computational topology, including an application to nuclear simulation data that led to new results in physics. The talk will cover:

- advances that have made high-performance computing in Haskell possible;
- our shared and distributed memory implementations of the Joint Contour Net algorithm; 
- performance results to date; and
- our contributions to functional HPC.