AD for an Array Language with Nested Parallelism

Publikation: Bidrag til bog/antologi/rapportKonferencebidrag i proceedingsForskningfagfællebedømt

Standard

AD for an Array Language with Nested Parallelism. / Schenck, Robert; Rønning, Ola; Henriksen, Troels; Oancea, Cosmin E.

Proceedings of SC 2022: International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE Computer Society Press, 2022. (International Conference for High Performance Computing, Networking, Storage and Analysis, SC, Bind 2022-November).

Publikation: Bidrag til bog/antologi/rapportKonferencebidrag i proceedingsForskningfagfællebedømt

Harvard

Schenck, R, Rønning, O, Henriksen, T & Oancea, CE 2022, AD for an Array Language with Nested Parallelism. i Proceedings of SC 2022: International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE Computer Society Press, International Conference for High Performance Computing, Networking, Storage and Analysis, SC, bind 2022-November, 2022 International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2022, Dallas, USA, 13/11/2022. https://doi.org/10.1109/SC41404.2022.00063

APA

Schenck, R., Rønning, O., Henriksen, T., & Oancea, C. E. (2022). AD for an Array Language with Nested Parallelism. I Proceedings of SC 2022: International Conference for High Performance Computing, Networking, Storage and Analysis IEEE Computer Society Press. International Conference for High Performance Computing, Networking, Storage and Analysis, SC Bind 2022-November https://doi.org/10.1109/SC41404.2022.00063

Vancouver

Schenck R, Rønning O, Henriksen T, Oancea CE. AD for an Array Language with Nested Parallelism. I Proceedings of SC 2022: International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE Computer Society Press. 2022. (International Conference for High Performance Computing, Networking, Storage and Analysis, SC, Bind 2022-November). https://doi.org/10.1109/SC41404.2022.00063

Author

Schenck, Robert ; Rønning, Ola ; Henriksen, Troels ; Oancea, Cosmin E. / AD for an Array Language with Nested Parallelism. Proceedings of SC 2022: International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE Computer Society Press, 2022. (International Conference for High Performance Computing, Networking, Storage and Analysis, SC, Bind 2022-November).

Bibtex

@inproceedings{06fcc79155844716a9c10e95f82d16f0,
title = "AD for an Array Language with Nested Parallelism",
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.",
keywords = "automatic differentiation, compilers, functional data parallel language, GPGPU",
author = "Robert Schenck and Ola R{\o}nning and Troels Henriksen and Oancea, {Cosmin E.}",
note = "Publisher Copyright: {\textcopyright} 2022 IEEE.; 2022 International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2022 ; Conference date: 13-11-2022 Through 18-11-2022",
year = "2022",
doi = "10.1109/SC41404.2022.00063",
language = "English",
series = "International Conference for High Performance Computing, Networking, Storage and Analysis, SC",
booktitle = "Proceedings of SC 2022",
publisher = "IEEE Computer Society Press",
address = "United States",

}

RIS

TY - GEN

T1 - AD for an Array Language with Nested Parallelism

AU - Schenck, Robert

AU - Rønning, Ola

AU - Henriksen, Troels

AU - Oancea, Cosmin E.

N1 - Publisher Copyright: © 2022 IEEE.

PY - 2022

Y1 - 2022

N2 - 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.

AB - 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.

KW - automatic differentiation

KW - compilers

KW - functional data parallel language

KW - GPGPU

U2 - 10.1109/SC41404.2022.00063

DO - 10.1109/SC41404.2022.00063

M3 - Article in proceedings

AN - SCOPUS:85149327504

T3 - International Conference for High Performance Computing, Networking, Storage and Analysis, SC

BT - Proceedings of SC 2022

PB - IEEE Computer Society Press

T2 - 2022 International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2022

Y2 - 13 November 2022 through 18 November 2022

ER -

ID: 344653603