Making a UI for a GPU ising model code
RSE Summary:
This project took a fast CUDA-C++ code that ran Ising models on the GPU. The code was very fast allowing for many computations utilising low level hardware via the CUDA API. However launching the code was manual and making efficient use of the GPU resource was limited by needing reprogramming of the CUDA launches.
The PI wanted to provide use to PhD students without the overhead of meddling with the core of the code. The PhD project involved using ML to analyse hundreds of parametrised runs. RSE time was spent refactoring the code to make it easier to extend by improving modularity. The code launch was changed to incorporate a parameterisation file to be able to simultaneously launch many model variants. A basic CLI UI was created to assist with the correct creation of
parameterisation files. The IO was overhauled to make reading model output faster and simpler.