I am a Teaching Fellow for the Department of Computer Science at the University of Warwick. Before this, I was a PhD at the Department of Computer Science at the University of Warwick, where I was in the High Performance Systems Lab under the supervision of Prof. Stephen Jarvis and Dr. Gihan Mudalige. I submitted my thesis at the end of September 2020. Before my PhD, I studied MEng Computing Systems at the University of Warwick, graduating in July 2016.
If you are in need of additional help, please use the booking form bellow to place a meeting. These can be in-person, or online over Microsoft Teams. If the booking page bellow does not load, please make sure you are logged into your Warwick University account. If it still does not appear, please use the link on the right hand panel.
With the increasing complexity of memory architectures and scientific applications, developing data structures that are performant, portable, scalable, and support developer productivity, is a challenging task. In this paper, we present Warwick Data Store (WDS), a lightweight and extensible C++ template library designed to manage these complexities and allow rapid prototyping. WDS is designed to abstract details of the underlying data structures away from the user, thus easing application development and optimisation. We show that using WDS does not significantly impact achieved performance across a variety of different scientific benchmarks and proxy-applications, compilers, and different architectures. The overheads are largely below 30% for smaller problems, with the overhead deceasing to below 10% when using larger problems. This shows that the library does not significantly impact the performance, while providing additional functionality to data structures, and the ability to optimise data structures without changing the application code.
The aim for High Performance Computing (HPC) is to achieve the best performance for an application, in order to execute it as quickly as possible. This is often achieved through iterative improvements in Central Processing Unit (CPU) technology such as: including more circuitry by shrinking or making processors larger; making the processor run faster by increasing the clock speed; or increasing the amount of parallelism. Recently, there has been increasing diversity in how HPC systems achieve these performance improvements. The use of Graphics Processing Unit (GPU) processors has become more common, and there has been a growing interest in high bandwidth memory. This has lead to a need for performance portable code, so programs may be written once but compiled and ran on a range of differing systems, with minimal impact on the performance.
As memory becomes a major focus, so too should the data structure used by an application. Without a well designed data structure, the performance of a program can be affected. However, it is key that this is done in a performance portable way, where the data structure can be altered and optimised without the need for the application to be rewritten. As such, a data structure abstraction library was developed, calledWarwick Data Store (WDS). This library is able to provide objects, which allow for access to data, without the application needing to know the detail of the data structure. The library also provides additional functionality that would otherwise be difficult and time consuming to implement, such as the ability to convert a variable or a collection of variables from one data structure to another. The performance impact of the library is shown to be minimal, especially in larger problem sizes. Because of the flexibility of the library, data structures for specialised cases can be implemented into WDS without impacting the performance of other data structures. The performance of these specialised data structures is also presented as being minimal.
The Warwick Postgraduate Colloquium in Computer Science (WPCCS) is an annual event for research students in the Department of Computer Science at the University of Warwick. The aims of the colloquium are to provide: (i) an experience of a conference setting for students, (ii) a place to practise presentation skills, (iii) a place to receive feedback and suggestions on their research, and (iv) an opportunity to learn about research being performed by other attendees. WPCCS has been held annually since 2003, but since 2016 many changes have been made to the event; in particular the introduction of networking aids (such as conference guides and lanyards), a new venue, the introduction of guest speakers and various efforts to encourage attendance. Meanwhile the number of submissions has increased, placing strain on the colloquium's schedule and budget. In this paper the organising committees from 2016, 2017, and 2018 reflect critically on the experience WPCCS delivers to the attendees. We present an examination of what worked well, what did not work, and what we would like to try in the future, with the aim that these experiences are useful to the organisers of similar events.