Reverse-Mode AD of Reduce-by-Index and Scan in Futhark

Lotte Maria Bruun,Ulrik Stuhr Larsen,Nikolaj Hinnerskov,Cosmin Oancea
2023-10-05
Abstract:We present and evaluate the Futhark implementation of reverse-mode automatic differentiation (AD) for the basic blocks of parallel programming: reduce, prefix sum (scan), and reduce by index. We first present derivations of general-case algorithms and then discuss several specializations that result in efficient differentiation of most cases of practical interest. We report an experiment that evaluates the performance of the differentiated code in the context of GPU execution and highlights the impact of the proposed specializations as well as the strengths and weaknesses of differentiating at high level vs. low level (i.e., ``differentiating the memory'').
Programming Languages,Distributed, Parallel, and Cluster Computing,Performance
What problem does this paper attempt to address?