Accelerating quantitative finance using Xilinx reconfigurable architectures
Project Title: Accelerating quantitative finance using Xilinx reconfigurable architectures
Primary Supervisor: Dr Nick Brown
Reconfigurable architecture enable programmers to configure a chip to operate, electronically, just like a software application. By making one’s application run directly at the electronics level, this can provide significant performance and power benefits in contrast to CPUs or GPUs which, by their nature, are general purpose and not tuned for any one specific code at the lowest levels. Field Programmable Gate Arrays (FPGAs) are the most common technology here and was invented by Xilinx, industrial partner for this PhD project, in the 1980s. Xilinx are the world leaders in FPGAs and whilst they are an international company headquartered in the US, they have an office in Edinburgh with one of their main areas of expertise in Scotland being the acceleration of quantitative finance codes on FPGAs.
Recent developments by Xilinx result in a very exciting time at the moment, as these advances make it a far more realistic proposition than ever before to accelerate codes using FPGAs. Firstly, we have seen great improvements in hardware capability, where in the past couple of years the chips themselves have become much more powerful than ever before. Secondly, Xilinx released their Vitis software development platform around 6 months ago, and this is a game changer when it comes to programmability. Whilst programming was always traditionally one of the big challenges, it now is possible to use C or C++, and writing code for FPGAs is now much more a question of software development rather than hardware design.
This project will work with Xilinx to explore the use of FPGAs for accelerating quantitative finance software codes. Depending upon the exact interests of the student, the quantitative finance applications can either be the primary focus, or alternatively used more as a vehicle to help evaluate a wider range of research conducted around FPGAs. The bullets below illustrate starting points for these two areas of focus:
- Xilinx have already developed a number of open source building blocks for quantitative finance codes, with some very promising results. But realistically they have only just scratched the surface of what’s possible here, to support the finance community in general. In collaboration with Xilinx, we will select a number of high priority finance algorithms for FPGA acceleration, and then explore the porting and acceleration of these on FPGAs using the most appropriate algorithmic techniques which we will likely need to develop.
- Alternatively we could focus more on the wider software eco-system for FPGAs. For instance, whilst the Vitis platform has provided significant advances in programming, there is still much work to be done around the tooling, including the most appropriate way of profiling these sorts of codes and supporting the development of appropriate dataflow style algorithms. This area of focus would use the area of quantitative finance as a vehicle to evaluate the research conducted.
This PhD work is of great interest to Xilinx and will potentially benefit many in their customer base and the wider FPGA community. As such there would co-supervision from at-least one Xilinx member of staff, frequent visits to Xilinx offices, and access to the latest generation FPGA technologies. The student themselves would be based at EPCC and and also have access to other EPCC-run systems and EPCC’s rich training opportunities.
- A UK 2:1 honours degree, or its international equivalent, in a relevant subject such as computer science and informatics, physics, mathematics, engineering, biology, chemistry and geosciences.
- You must be a strong programmer, ideally with experience in one of C or C++ although these specific languages are not a prerequisite.
- Standard University English language requirements