Presenter: Bernie Pope.
Topic: MPI bindings in Haskell.
Abstract:
MPI (the Message Passing Interface) is a popular communication
protocol for distributed parallel programming, providing both point-to-
point and collective communication operators. Traditionally MPI is
used in high-performance computing applications written in imperative
languages, such as C, C++ and Fortran. I've recently been working on a
Haskell binding to MPI via C and the Foreign Function Interface (FFI).
One of the main challenges in writing such a binding is deciding how
to map the low-level C API into idiomatic Haskell.
For example, consider the C prototype for the blocking receive
function:
int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int
source, int tag, MPI_Comm comm, MPI_Status *status)
What would be the type of a Haskell version? Maybe there are multiple
ways to expose this function in Haskell?
In this talk I will provide a brief overview of MPI, and then discuss
the hows and whys of my current implementation effort. If you want a
sneak peek, you can look at the code on github:
http://github.com/bjpop/bindings-mpi
We hope to see you there.