I work as a Research Associate at Imperial College London, working on the POETS project. POETS is a novel parallel computing architecture, featuring many small hyperthreaded cores embedded in a parallel hardware communications infrastructure, and a new programming model to take advantage of this. This architecture provides fast communication capabilities between threads, and is highly scalable.

My role consists of:

  • Developing POETS applications for real-world examples in multiple research fields, to make use of it's novel capabilities, and test it to its full extent. A large scale parallel architecture can have synchronisation problems, and I develop applications to use both synchronous and asynchronous algorithms, as either can be beneficial depending on the application.
  • Developing and maintaining tools for simulating, debugging and profiling the POETS platform. These x86 tools are often parallel, and provide key insights to the inner-workings of the hardware and applications, which is difficult with this unconventional architecture.
My most important work for POETS has been the development of a Dissipative Particle Dynamics (DPD) simulator, as well as analytical and visualisation tools for this. DPD is a form of molecular dynamics, which abstracts away some more complex details of the molecules or particles under simulation, and simply looks at the interaction of them as polymers, and allows simulations to be run and detail behaviours between large numbers of particles in a shorter length of time compared with molecular dynamics.

Below is a GIF of a POETS DPD simulation where vesicles self-assemble in a 100 x 100 x 100 volume.

Vesicle self-assembly

Known Programming Languages

  • Proficient: C++ (inc. parallel), C, Java (inc. parallel), Python, Javascript
  • Familiar: Haskell, Assembly Language (68k)

Please visit my Google Scholar profile for a list of my published papers from during and after my PhD.

More information can be found in my CV, which can be downloaded.