I have just submitted my Ph.D. thesis entitled “Accelerating Iterative Methods for Solving Systems of Linear Equations using FPGAs“
This work is the culmination of almost four years of focused research where a number of high-performance aspects were explored in the field of accelerating a basic and recurrent problem in Scientific Computing. This exploration was possible through the usage of Field Programmable Gate Arrays. FPGAs are fascinating devices that can be configured to be anything from a typical microprocessor to a highly specialized neural network. One of the great advantages of these devices is that data/computations can be accessed/processed in parallel whilst in typical high-end microprocessors there is only a very limited opportunity for parallelism (even when considering multiple multi-core CPUs). This FPGA advantage can translate into massive improvements in performance, especially in applications that can be computed simultaneously. Some examples of such applications include Monte Carlo simulations, string matching (i.e. in routing, virus detection, etc), high-performance data storage and retrieval, amongst many other applications.