About
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
Research groups
Research interests
- Event-driven Computing
- FPGAs
- Digital Architectures
- High-level Synthesis
- High-performance Computing
Current research
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
Publications
Pagination
- 1
- 2
- 3
- 4
-
Next page
Next
Supervision
Current PhD Students
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
Biography
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.