Consulting

I have worked with external partners throughout my career. Broadly, this has taken two forms: personal consultancy and research sponsorship.

Personal consultancy

  • I have acted as an independent technical expert in patent litigation cases with major international law firms, across the range of digital electronics, computer architecture, and memory technology.
  • I have helped scope the potential of new technical ideas for technology firms interested in adopting hardware accelerator technologies or applying insights from my own research. This work typically involves helping organisations design or analyse computational systems from first principles, improve performance and energy efficiency, or understand the limits and possibilities of emerging hardware architectures.

Research sponsorship

I work with industry partners who are interested in the deep structure of computation, especially where mathematical insight, hardware-aware design, and machine learning meet. I collaborate with companies because I believe that research ideas sharpen when exposed to real constraints, and that industry-facing work strengthens the academic community.


Areas of expertise

Historical context and precedent

  • A deep understanding of precedent and prior art in digital electronics and numerical computation, from von Neumann-era architectures through to contemporary accelerators.

Hardware-aware machine learning

  • Ultra-low-precision and quantised models
  • LUT-based neural networks and Boolean approximations
  • Co-design of algorithms and architectures
  • Theoretical analysis of error, robustness, and structure

FPGA and custom-accelerator design

  • FPGA-based ML inference and training
  • Data-path optimisation for arithmetic-heavy workloads
  • Resource/performance trade-offs (latency, throughput, area, energy)
  • Parallelism, pipelining, and domain-specific architectures

Arithmetic, precision, and correctness

  • Novel computer arithmetics
  • Online / MSB-first arithmetic
  • Equality-saturation and e-graph rewriting for correctness and optimisation
  • Formal reasoning about numerical behaviour

Code-to-hardware translation

  • High-level synthesis (HLS) performance analysis
  • Mapping software kernels to reconfigurable hardware
  • Identifying architecture parameters from program structure

Want to employ me as a consultant or sponsor my research? Contact me by email.