skip to content

Department of Computer Science and Technology

  • Senior Research Associate


I have been involved in a number of research projects in my time at Cambridge. They all involve Computer Architecture, and generally also involve co-optimising the architecture with the software or algorithms which will be executed on the architecture.

Loki is a manycore processor which supports extremely low-latency communication between cores. This opens up new opportunities for parallelising programs, which in turn simplifies each core's task, allowing cores to be made smaller and more efficient. In 2018, we fabricated physical Loki chips with 128 cores.

I am interested in optimising machine learning workloads, particularly by adding dynamic control flow to reduce the total amount of computation. I have looked at techniques including hardware acceleration, pruning, dynamic gating, novel network structures and network architecture search.

Muntjac is a minimal 64-bit RISC-V multicore processor that's easy to understand, verify, and extend. The focus is on having a clean, well-tested design which others can build upon and further customise.


I have supervised students for the following courses:

Part IA:

Part IB:

Part II:

Supervision work


  • Attempt all questions set
    • If you can leave little notes in your supervision work about which parts you found difficult/confusing, that would be extra helpful
  • Get your answers to me by midday the day before the supervision
  • Let me know as soon as possible if you need to reschedule a supervision

In return, I will:

  • Mark your work and return it to you before the supervision
  • Explain where and why you made mistakes, and how you can improve
  • Tailor your supervision to you

I'm also very happy to answer any questions you have outside of supervisions. Whether part of the course doesn't make sense, or my questions are confusing, or you're curious about something beyond the scope of the course, send me an email any time and I'll do my best to respond promptly.

On the day

I will meet you outside reception when the supervision is due to start. There is a phone on the table by student administration which you can use to call me if the need arises: my office number is 63731.


Conference proceedings

  • Maji, PP. and Mullins, R., 2017. ADaPT: optimizing CNN inference on IoT and mobile devices using approximately separable 1-D kernels IML '17 Proceedings of the 1st International Conference on Internet of Things and Machine Learning,
  • Mullins, RD., Bates, D., Bradbury, A. and Koltes, A., Exploiting Tightly-Coupled Cores
  • Mullins, R. and Bates, D., Exploring a butterfly structured convolution method for neural networks
  • Mullins, R. and Bates, D., An adaptive scalable neural network accelerator capable of on-device learning
  • Zhao, Y., Gao, X., Bates, D., Mullins, R. and Xu, C-Z., Focused Quantization for Sparse CNNs Advances in Neural Information Processing Systems 2019,
  • Working papers

  • Bates, D., Chadwick, A. and Mullins, R., 2016. Configurable memory systems for embedded many-core processors
  • Journal articles

  • Bates, D., Bradbury, A., Koltes, A. and Mullins, R., 2015. Exploiting Tightly-Coupled Cores Journal of Signal Processing Systems, v. 80
    Doi: 10.1007/s11265-014-0944-6
  • Mullins, RD. and Bates, D., A communication-centric low-power manycore processor with a configurable memory system IEEE Transactions on Computers,
  • Ko, Y., Chadwick, A., Bates, D. and Mullins, R., Lane Compression: A Lightweight Lossless Compression Method for Machine Learning on Embedded Systems ACM Transactions on Embedded Computing Systems,
  • Books

  • Bates, D., 2013. Minecraft: Pi Edition Coding How-to
  • Contact Details

    Office phone: 
    (01223) 7-63731