Research Software Engineers and MPI

Research Software Engineers and MPI

This post follows a seminar given by Dr Ian Bush, software research fellow, Oxford University, describing the role of Research Software Engineers, (RSEs), and the use of MPI.

A growing number of scientists are combining their academic and research interests with a need to be able to code. The code that is developed to solve a particular problem may not be particularly elegant and as a result, scientists can be reluctant to publish this part of their work. This can lead to a reinvention of the wheel when similar problems are tackled by others working in the same field. RSEs are at the forefront of a drive to publish research code often working in collaboration with other scientists in a variety of disciplines.

The second theme of the seminar was the use of MPI in accelerating the execution of code. This is achieved by dispersing a particular problem across multiple cores each with access to their own individual memory. The key to making this process a success lies in minimising the overhead incurred by the amount of inter core communication that is required. Several examples were given ranging from the flow of air over a car, solving Schrodinger’s equation for a whole protein in the Abyssinian Cabbage to modelling turbulence in tokamak design. The last example is currently scaled to ~1000 cores but scaling to ~100,000 cores is required leading to the need for an RSE.

Posted by Damien Crossland