Upscaling Research Code
The University is part of a consortia of Universities, which have been awarded funding from the EPSRC to provide one of a number of regional ‘Tier 2’ High Performance Computing Centres. The facility is physically located at the University of Loughborough, HPC Midlands Plus
These regional facilities provide a greater computational capacity than an individual University could provide to its researchers and help fill the gap between local compute capacity and the largest National HPC Facilities. As part of the HPC Midlands Plus project, each of the partner institutions is also providing 0.5 Full-Time Equivalent of a Research Software Engineer to support researchers in taking advantage of this new HPC Facility.
The first research project to take advantage of this new service is described by Prof. Richard Graham from the School of Mathematical Sciences:
“We have recently developed an algorithm to compute the interaction between pairs of molecules [Uteva et al, J. Chemical Phys. 147, 161706 (2017)]. The resulting interaction model is very fast and accurate and can be used to make first principles predictions of physical properties of gases and liquids (without requiring any experimental data). Our preliminary calculations demonstrate the success of our approach and suggests that the algorithm can be applied to a very wide range of pairs of molecules, with essentially no modification. However, we found that applying the algorithm to new pairs of molecules was laborious, largely because we had not initially designed our code with this generality in mind. We also lacked the coding experience required to produce a single, general code that could be applied any suitable molecules, even though our algorithm had this generality. At this point we realised that producing well-written, flexible and completely general code was the main barrier to realising the full impact of our research in this area.
Through Jim Wilson from the Digital Research Team, we were able to get help from a Research Software Engineer, Keith Evans, on this problem. So far we have produced a specification of the algorithm and how we would like the code to function, from which Keith will produce the code. The process of writing this document has made us think about the algorithm in greater generality and in more detail than previously. It’s helped us to think through some details of the algorithm that weren’t fully formed. We also found that separating the design and description of the algorithm from the coding process aided our thinking.
Keith is currently coding our algorithm. We’re looking forward to testing the code, generating novel results and learning from how Keith tackles the coding of our algorithm. Our longer term aim is to produce software that is valuable to the academic and industrial community, widens access to our techniques and that grows as our research in this area develops.”