GPU efficient 1D and 3D recursive filtering - Maximo, Andre (Digital signal processing, 2021)
•Digital signal processing algorithms in the GPU.•Massive parallel recursive filtering on 1D, 2D and 3D inputs.•Applications include high-quality audio or image or volume filtering This work presents strategies to massively parallelize recursive filters on inputs of one dimension (1D) or three dimensions (3D), complementing and improving on previous state-of-the-art algorithms on two dimensions (2D). Each strategy is reusable on different algorithms for parallel processing with feedback data dependencies, allowing to develop highly optimized algorithms for computing digital filters in general, with double-pass causal-anticausal feedbacks, in one or multiple dimensions. The algorithms are linear in time and memory, exposes a high number of parallel tasks, and they are implemented on graphics processing units, i.e. GPUs. One major barrier in this area is to have such algorithms faster than generic counterparts in available libraries, and another is to have them in an easy-to-use manner. To overcome the latter, the implementation of the presented strategies is available as open source, and, to overcome the former, timing performance and comparison results are provided, including a range of publicly available source codes and libraries, showing that this work outperforms fastest prior algorithms.