AD for an Array Language with Nested Parallelism

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

2 Citations (Scopus)
19 Downloads (Pure)

Abstract

We present a technique for applying reverse mode automatic differentiation (AD) on a non-recursive second-order functional array language that supports nested parallelism and is primarily aimed at efficient GPU execution. The key idea is to eliminate the need for a tape by relying on redundant execution to bring into each new scope all program variables that may be needed by the differentiated code. Efficient execution is enabled by the observation that perfectly nested scopes do not introduce re-execution and that such perfect nests can be readily produced by application of known compiler transformations. Our technique differentiates loops and bulk-parallel operators-e.g., map, reduce(-by-index), scan, and scatter-by specific rewrite rules and aggressively optimizes the resulting nested-parallel code. We report an evaluation that compares with established AD solutions and demonstrates competitive performance on ten common benchmarks from recent applied AD literature.

Original languageEnglish
Title of host publicationProceedings of SC 2022 : International Conference for High Performance Computing, Networking, Storage and Analysis
Number of pages15
PublisherIEEE Computer Society Press
Publication date2022
ISBN (Electronic)9781665454445
DOIs
Publication statusPublished - 2022
Event2022 International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2022 - Dallas, United States
Duration: 13 Nov 202218 Nov 2022

Conference

Conference2022 International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2022
Country/TerritoryUnited States
CityDallas
Period13/11/202218/11/2022
SponsorACM's Special Interest Group on High Performance Computing (SIGHPC), Association for Computing Machinery, IEEE Computer Society, IEEE's Technical Committee on High Performance Computing (TCHPC)
SeriesInternational Conference for High Performance Computing, Networking, Storage and Analysis, SC
Volume2022-November
ISSN2167-4329

Bibliographical note

Publisher Copyright:
© 2022 IEEE.

Keywords

  • automatic differentiation
  • compilers
  • functional data parallel language
  • GPGPU

Cite this