The First Annual EPCC PhD Research Showcase

22 May 2024

As EPCC has grown, so too has the number of our PhD students. Seventeen candidates are now undertaking a wide range of projects in high performance computing and data science with us, and we invited them to present their work in our first PhD research showcase.

PhD presentation

Many of our PhD students previously completed one of our MSc programmes. By showcasing PhD research opportunities to our current cohort of masters students, we give them a glimpse of what the future could hold if they decide to continue their studies at EPCC. 

The first “EPCC PhD Research Showcase” consisted of a session of lightning talks by the students followed by discussions around project posters. In addition to being an opportunity to show off their work to students and staff at EPCC, the event also gave PhD candidates an opportunity to practice their presentation skills in front of a familiar, albeit critical, audience.

The event began with each student giving a three-minute lightning talk to introduce their research, followed by a poster session where attendees could chat to students and probe for more details. What stood out in particular was the broad range of research being undertaken, encompassing all aspects of HPC and data science from low-level architectural optimisations to quantum computing, as well as investigations into how we develop and maintain software for these systems. 

View the posters

The event was very successful, with a large number of EPCC staff attending in support of the students, and the PhD students all being busy in conversation right until the end. To view the students’ posters from the session, please see:

PhD study with EPCC

The summaries below of each student's PhD project illustrate the breadth of work being undertaken at EPCC. If you are interested in PhD opportunities with us, please see:

“Identifying developer personas could create better research software (RS) development"

 Felicity “Flic” Anderson (third-year student)

“I am investigating real-world research software practices amongst academics writing code for their research. By mining GitHub repository data for research software projects, I hope to build up a picture of how people interact with their codebases, what software practices are most common amongst their developers, and which of these can be shown to be most effective. Ultimately, being able to give an evidence-basis for what techniques research software developers are really using (and whether these are the same in different kinds of projects) will help research software projects identify which techniques would be most helpful when starting new projects, and help individual researchers learn which development skills would benefit them most for the types of projects they want to work on.”

“Can SMTs be used to overcome the I/O bottleneck in HPC applications?”

Shrey Bhardwaj (final-year student)

“I am investigating the hypothesis that the Simultaneous Multi-Threading (SMT) cores of an HPC system could be used as an I/O server which could carry out the I/O tasks while the client process keeps on computing, improving the effective I/O bandwidth for the user. I developed a framework which can implement an I/O server by creating dedicated ranks which process the client ranks’ I/O requests in parallel with the computation to abstract these complexities away from the user. I tested a range of computational kernels such as the STREAM and HPCG benchmarks, and finally the FEniCSx PDE solver, a real-world HPC application. It was found that the effectiveness of the SMT cores to improve the I/O performance was seen beyond 64 compute nodes on ARCHER2 using STREAM as the computational kernel.”

“Towards accessible programming of the Cerebras CS-2 for scientific HPC applications”

David Kacs (first-year student)

“In the course of my research, I intend to find out whether the barrier to entry to programming the Cerebras CS-2 can be lowered by providing researchers with a more familiar programming interface, for example in Fortran. I intend to accomplish this by utilising the MLIR compiler framework. This approach will allow me to introduce architecture-specific optimisations for common HPC patterns, such as stencil computations.”

“Intelligent tutor system for children using Machine Learning agent”

Xingran Ruan (third-year student)

“I am developing a Machine Learning based agent for future intelligent tutoring systems. This agent is designed to offer personalized support for children’s metacognitive monitoring – essentially, helping them think about their own thinking based on their facial expressions in real-time. In the future, I plan to conduct a study with users to compare their learning outcomes, such as task scores, when they learn with and without the help of this agent.”

“AArch64 atomics: Might they be harming your performance?”

Ricardo Jesus (final-year student)

“I am exploring the performance of atomic Compare-And-Swap (CAS) and Load-Linked/Store-Conditional (LL-SC) instructions on contemporary high-performance Arm AArch64 CPUs, namely the A64FX, ThunderX2, and Gravitons 2 and 3. In my results I have observed that these instructions can lead to fundamentally different performance profiles. On the A64FX and ThunderX2, CAS instructions exhibit a quadratic increase in average time per successful CAS operation as the number of threads increases instead of the expected linear scaling. LL-SC can give performance improvements across all the micro-architectures I tested, showing potential speedups of more than 20x on the A64FX.”

“PnP algorithms for large-scale high-dynamic range imaging in radio astronomy”

Chao Tang (third-year student) in collaboration with Matthieu Terris (Heriot-Watt University)

“In this work we have proposed new plug-and-play algorithms for large-scale high-dynamic range imaging in radio astronomy, i.e. AIRI and constrained AIRI. By plugging specifically trained denoisers based on convolutional neural networks into constrained or unconstrained proximal splitting algorithms, one waives the computational complexity of optimisation algorithms induced by sophisticated image priors, and the sub-optimality of handcrafted priors. We tested our algorithms with both simulated and read data from the MeerKAT telescope, showing their generalisability and scalability.”

“ML-optimised load balancing of mesh generation for F1 geometries”

Ananya Gangopadhyay (third-year student)

“My PhD is focussed on improving the time-to-solution of mesh generation for Formula 1 geometries. Mesh generation is a pre-processing step in a Computational Fluid Dynamics (CFD) workflow where the fluid domain is discretised into a mesh of cells prior to the solver phase. Mesh generation has comparable runtimes to that of the solver, making it a significant bottleneck that results in the inefficient utilisation of compute resources and loss of real-world time. In my PhD work, I am looking at a variety of solutions to improve mesh generation performance and runtimes. These include machine learning methods that use historical data to determine optimal parameters for a CFD case, and derive meshes from older cases with similar geometries instead of creating them from scratch.”

“Towards HPC-friendly quantum programming models”

Mateusz Mueller (first-year student)

“In my project I'm looking at the programming models for quantum computing, which could be interoperable with classical HPC systems. While most work to date looks at a gate-based model of computation, I am interested in other models, such as Hamiltonian-oriented analogue quantum simulation. The main benefit of this approach is that one could achieve results on noisy quantum devices using fewer instructions, allowing the study of larger problems and possibly showing quantum advantage sooner. However, because of rather low interest in this direction, there is a lack of tooling and compiler technology. That’s where I want to contribute.”

"Chaotic behaviour of immersed ellipsoids”

Andrew Boyd (third-year student)

“My work is focussed on understanding the behaviour of immersed particles in inviscid and high Reynold's number fluid, both their interactions with the fluid and each other. We have developed a boundary element method to evolve the behaviour of immersed particles in inviscid fluid, and extended Xcompact3d to simulate immersed particles with 6DoF for validation. Our goal is to build on the known behaviour of single ellipsoids and quantify chaotic behaviour when there are multiple bodies.”

“Evaluating Versal AI engines for option price discovery in market risk analysis”

Mark Klaisoongnoen (third-year student)

“I'm exploring the acceleration of quantitative finance workloads on Field-Programmable Gate Arrays (FPGAs). For this, I investigate approaches for recasting Von-Neumann-based algorithms into a dataflow style suitable for FPGAs. In my latest work, I ported an industry-standard options pricing algorithm to AMD-Xilinx's recent Versal ACAP FPGA, integrating programmable logic with their new AI engines.”

“Distributed tensor network library for efficient simulations of quantum circuits”

Jakub Adamski (second-year student)

“Tensor networks are becoming progressively more important for classical simulations of quantum computing, as they provide an effective way to reduce the complexity of a typically exponential problem. Various tensor network libraries are available at small to medium scales, but there is a surprising lack of tools for large HPC simulations. As a result, I decided to develop my own library, with the goal of providing a universal approach to tensor distribution across multiple computational nodes. The project is still in development, but ultimately I would like to come up with a way to scale up simulations to the maximum of current computing potential, which could be integrated into other existing tensor libraries.”

“FPGA for Exascale: Flexibility in the execution model and high-level dataflow abstractions for programmability” 

Gabriel Rodríguez Canal (third-year student)

“The increasing performance demands and the associated energy costs in HPC call for energy efficient architectures able to satisfy this need. FPGAs are an ideal candidate thanks to their reconfigurability, but present limitations in the flexibility of their execution model and their programmability. My work presented here addresses both issues, first by leveraging dynamic partial reconfiguration for preemptive execution, and second by providing and demonstrating a methodology for enabling high-level languages other than C/C++ in HLS and by bridging the programmability gap through dataflow abstractions in MLIR.”

“HPC workload analysis and optimisation”

Hovhannes Minasyan (first-year student)

“My project is about understanding how the information gathered from historical HPC workloads can be utilized to optimize the system performance and increase the throughput. This goal is achieved via two directions of work. The first one includes workload analysis and trend detection over time, which allows us to predict future workloads and better address the users' needs. The second one is understanding how the location or distribution of the job across the nodes of a supercomputer can affect the runtime.”

“Research on microbenchmarking of accelerator offloading”

Weiyu Tu (first-year student)

“My project will develop a new set of microbenchmarks to serve as the gold standard for evaluating different HPC systems and programming interfaces, especially considering the offloading overheads when comparing them. The preliminary phase of our results revealed a linear relationship between the total execution costs and the computation time on the target, indicating that the overheads, including offloading costs, appear to be constant across different data sizes. Beyond the immediate research required for the follow-up experiments, we also consider how our OpenMP microbenchmarking approach could be applied to other GPUs or accelerators. It is important to evaluate whether the results we obtain can be used as a reference and how much value they add to a universal comparison of GPUs.”


Dr Paul Bartholomew