Efficient Implementation of an Active-Set QP Solver for FPGAs
Quadratic programming (QP) problems arise in various embedded optimization applications such as model predictive control or constrained least-square fitting. Various solution algorithms have been proposed and implemented on CPUs (some of them also on FPGAs), each of them exhibiting specific advantages and drawbacks. Active-set methods are frequently used on CPUs for solving QPs efficiently, but it is challenging to implement them on FPGAs since they make use of more involved linear algebra operations such as matrix factorizations.
In this master project you will be working on an efficient FPGA implementation of an online active-set method . The project is a continuation of a past master thesis, and has the following goals:
- Solver improvements: One of the main tasks will be to analyze and improve the existing implementation. The current solution has been implemented using C++ and Vivado HLS, a high-level synthesis tool for Xilinx FPGAs. The solver is functional, but exhibits a couple of bottlenecks which are due to suboptimal operation scheduling and high-latency operators like FP dividers. We are going to investigate whether the algorithm can be restructured in order to improve the schedule. Also, we are going to look into optimizations and approximations of the employed FP arithmetic in order to improve the latency of certain critical operations.
- Verification and performance assessment: The solver shall be tested using various QP problems with different dimensions in order to verify the design and get realistic runtime estimates.
- System integration: Depending on the project progress, we can also start looking into system integration aspects. Eventually, the goal is to attach the developed accelerator to the ARM processing system on the Xilinx Zynq platform, and establish the corresponding software interface.
This master thesis will be carried out in collaboration with ABB CHCRC.
 Ferreau, Hans Joachim. "An online active set strategy for fast solution of parametric quadratic programs with applications to predictive engine control." University of Heidelberg (2006).
- Looking for Interested Students
- Type: Master Thesis
- Supervisors: Michael Schaffner, Andrea Bartolini
- VLSI I, VLSI II, Control Systems
- Matlab, C++, VHDL or System Verilog
- 20% Theory
- 60% Implementation
- 20% Testing