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 (multi-reduce). We 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 GPU performance of the differentiated code and highlights the impact of the proposed specializations as well as the strengths and weaknesses of differentiating at high level bulk-parallel operators vs "differentiating the memory", i.e., low-level implementations that access/update individual array elements.
Originalsprog | Engelsk |
---|---|
Titel | Proceedings of the 2023 35th Symposium on Implementation and Application of Functional Languages, IFL 2023 |
Forlag | Association for Computing Machinery |
Publikationsdato | 2023 |
Sider | 1-14 |
Artikelnummer | 14 |
ISBN (Elektronisk) | 9798400716317 |
DOI | |
Status | Udgivet - 2023 |
Begivenhed | 35th Symposium on Implementation and Application of Functional Languages, IFL 2023 - Braga, Portugal Varighed: 29 aug. 2023 → 31 aug. 2023 |
Konference
Konference | 35th Symposium on Implementation and Application of Functional Languages, IFL 2023 |
---|---|
Land/Område | Portugal |
By | Braga |
Periode | 29/08/2023 → 31/08/2023 |
Sponsor | Well-Typed |
Bibliografisk note
Funding Information:We would like to thank the reviewers for the very useful feedback. We would like to acknowledge Troels Henriksen and Robert Schenck for their invaluable contributions to implementing AD in Futhark. We credit Troels with the idea of differentiating the work-efficient implementation of scan in the case of un-vectorized operators on arrays. This work has been supported by the UCPH Data+ grant: High-Performance Land Change Assessment and by the the Independent Research Fund Denmark (DFF) under grant Monitoring Changes in Big Satellite Data via Massively Parallel AI.
Publisher Copyright:
© 2023 ACM.