Computer Laboratory >  People > Ali Mustafa Zaidi


I am a PhD student at the Computer Architecture Group. I'm supervised by Dr. David Greaves. I'm interested in developing compilers for implementing unrestricted, unmodified high-level language code as custom-computation, particularly on coarse-grained reconfigurable or 'spatial' hardware.

Thanks to the growing ubiquity of portable computers, computer architects are faced with increasingly constrained power budgets. Furthermore, given that on-chip power density scaling trends are no longer sustainable, only a fraction of future chips' resources can be powered at any given time [1]. Thus, in order to continue scaling performance with Moore's law, achieving high energy efficiency has become essential. As a result, designers are increasingly utilising custom-computation to accelerate embedded applications, often as part of heterogeneous systems-on-chip. Custom-computing is also increasingly utilised in the HPC domain via reconfigurable architectures (e.g. FPGAs), to provide high performance and energy-efficiency without compromising generality.

Despite the advantages of custom (or reconfigurable) computing, there are two key issues that hinder the utilization of this approach for general-purpose computation. Amenability: So far, custom computing has ony been suitable for applications, with simple, regular control-flow and abundant (data) parallelism. Irregular applications with complex, data-dependent control flow achieve higher sustained performance on conventional, out-of-order superscalar processors with their support for aggressive control-flow speculation. Productivity: implementing computation as custom hardware often requires the use of low-level HDLs such as Verilog or VHDL. While several high-level synthesis tools do exist for generating hardware from high-level languages like C or C++, they often require that only a subset of the language be used, excluding features such as recursion, object-oriented programming, dynamic memory allocation etc. that are important for programmer productivity.

Both of these issues hinder the custom implementation of the vast amounts of legacy code in the general-purpose application domain. For my PhD, I'm working on developing a compiler intermediate representation that statically exposes greater ILP even in the presence of complex control-flow. Using this representation, I aim to address the amenability problem by improving the custom computing performance of control-flow intensive code, enough to at least match (if not exceed) conventional processors.

Furthermore, my compiler is based on the LLVM infrastructure - I use the LLVM-IR as input to my compiler, generating an equivalent Bluespec SystemVerilog implementation of the input code. I hope to address the productivity problem in this manner, as any HLL language that has an LLVM front-end could theoretically be compiled down to custom hardware using my compiler.

Recent Updates:

Stay tuned for more updates...


I received an MS degree in Computer Engineering from the King Fahd University of Petroleum & Minerals (KFUPM), Dhahran, KSA, in 2007. Earlier, I received a B.Eng. degree (First Class) in Computer Systems Engineering from NED University of Engineering and Technology, Karachi, Pakistan, in 2001.

In previous years I have worked at the Information Technology Center at KFUPM, primarily on setting up KFUPM's High Performance Computing Facility. I have also served as Lecturer at the Electronic Engineering department at Iqra University, Karachi.

During my MS studies, my research focused on the parallelization of stochastic heuristics, particularly Simulated Annealing, Simulated Evolution, and Genetic Algorithms. I have co-authored several publications from this work.

An online version of my current CV is available here (last updated 15 Nov 2013).


Posters and Workshop Papers:

Journal Papers:

Conference Papers:

Theses, Reports and Dissertations:


Ali Mustafa Zaidi
University of Cambridge
15 JJ Thomson Avenue
Cambridge CB3 0FD
United Kingdom

Ali-Mustafa.Zaidi AT cl DOT cam DOT ac DOT uk