This site has been permanently archived. This is a static copy provided by the University of Southampton.
The University of Southampton
Email:
d.b.thomas@soton.ac.uk

Professor David Thomas 

I studied Computer Science as an undergrad at the Dept. of Computing in Imperial,
then did my PhD in digital architectures in the same department. After 5 years as
a researcher associate and then research fellow, in 2010 I moved to the Dept. of Electrical
and Electronic Engineer at Imperial as a Lecturer, then Senior Lecturer. In 2021 I joined
the Electronics and Computer Science Dept. as a Professor. Both my research and teaching
interests are at the intersection of software and hardware, particularly in the interaction and
relationshops between programming languages, algorithms, computer achitecture and digital
implementation. A lot of my research involves the use of FPGAs (Field Programmable Gate
Arrays), as they provide a great playground for exploring and implementing new digital architectures,
such as custom CPUs, application-specific accelerators, or new programming paradigms such
as event-driven computing.

Research

Teaching

Publications

Contact

Research

Research interests

My research interests range up and down the hardware-software stack, from low-level implementation
of mathematical digital blocks, through to custom processors and on-chip networks, and up into high-level
languages for describing pipelined and distributed programs. A lot of my work involves FPGAs, which
are useful both as prototyping platforms and as target computational platforms. I'm particularly interested
in languages and architectural patterns which make it easier to program FPGAs (and other digital architectures),
such as High-Level Synthesis (HLS), meta-programming for logic design, and hardware co-ordination using
events. Some overall research themes include:

  • Financial computing, such as credit-risk analysis and option pricing, using FPGAs and GPUs
  • Highly optimised uniform and non-uniform random number generation for FPGAs, providing best-in-class area-efficiency-quality tradeoffs
  • Meta-programming for high-level synthesis, in order to allow extension of the HLS language and primitives at compile-time
  • Event-driven computing as a way of designing programmes for large multi-FPGA systems

Teaching

Previously I was the course director for the EIE (Electrical and Information Engineering) degree at Imperial College,
which covered both computer science and electrical engineering. I've previously taught and assessed the following subjects:

  • Programming
  • Computer Architecture
  • Compilers
  • Networks
  • Databases
  • High-performance Computing

Publications

2021

2019

2018

2017

2016

2015

Contact

Share this profile FacebookTwitterWeibo
Back to top