Accelerating the Kalman Filter on a GPU
Min-Yu Huang, Shih-Chieh Wei, Bormin Huang, Yang-Lang Chang · 2011
For linear dynamic systems with hidden states, the Kalman filter can estimate the system state and its error covariance considering the uncertainties in transition and observation models. In each iteration of applying the Kalman filter, the two phases of predict and update contain a total of 18 matrix operations which include addition, subtraction, multiplication and inversion. As recent graphic processor units (GPU) have shown to provide high speedup in matrix operations, we implemented a GPU accelerated Kalman filter in this work. For general reference purposes, we tested the filter on typical large-scale over-determined systems with thousands of components in states and measurements. For the various combinations of configurations in our test, the GPU accelerated filter shows a scalable speedup as either the state or the measurement dimension increases. The obtained 2 to 3 orders of magnitude speedup over its single-threaded CPU counterpart shows a promising direction of using the GPU-based Kalman filter in large-scale time-critical applications.