We find a succinct expression for computing the sequence xt=atxt−1+bt in parallel with two prefix sums, given t=(1,2,…,n), at∈Rn, bt∈Rn, and initial value x0∈R. On n parallel processors, the computation of n elements incurs O(logn) time and O(n) space. Sequences of this form are ubiquitous in science and engineering, making efficient parallelization useful for a vast number of applications. We implement our expression in software, test it on parallel hardware, and verify that it executes faster than sequential computation by a factor of lognn.
@article{arxiv.2311.06281,
title = {Efficient Parallelization of a Ubiquitous Sequential Computation},
author = {Franz A. Heinsen},
journal= {arXiv preprint arXiv:2311.06281},
year = {2023}
}
Comments
Source code for replicating our results is available online at https://github.com/glassroom/heinsen_sequence