TU Darmstadt / ULB / TUbiblio

Accelerating Winograd Convolutions using Symbolic Computation and Meta-programming

Mazaheri, Arya ; Beringer, Tim ; Moskewicz, Matthew ; Wolf, Felix ; Jannesari, Ali (2020)
Accelerating Winograd Convolutions using Symbolic Computation and Meta-programming.
15th European Conference on Computer Systems. Heraklion, Greece (27.-30.04.2020)
doi: 10.1145/3342195.3387549
Konferenzveröffentlichung, Bibliographie

Kurzbeschreibung (Abstract)

Convolution operations are essential constituents of convolutional neural networks. Their efficient and performance-portable implementation demands tremendous programming effort and fine-tuning. Winograd's minimal filtering algorithm is a well-known method to reduce the computational complexity of convolution operations. Unfortunately, existing implementations of this algorithm are either vendor-specific or hard-coded to support a small subset of convolutions, thus limiting their versatility and performance portability. In this paper, we propose a novel method to optimize Winograd convolutions based on symbolic computation. Taking advantage meta-programming and auto-tuning, we further introduce a system to automate the generation of efficient and portable Winograd convolution code for various GPUs. We show that our optimization technique can effectively exploit repetitive patterns, enabling us to reduce the number of arithmetic operations by up to 62% without compromising numerical stability. Moreover, we demonstrate in experiments that we can generate efficient kernels with runtimes close to deep-learning libraries, requiring only a minimum of programming effort, which confirms the performance portability of our approach.

Typ des Eintrags: Konferenzveröffentlichung
Erschienen: 2020
Autor(en): Mazaheri, Arya ; Beringer, Tim ; Moskewicz, Matthew ; Wolf, Felix ; Jannesari, Ali
Art des Eintrags: Bibliographie
Titel: Accelerating Winograd Convolutions using Symbolic Computation and Meta-programming
Sprache: Englisch
Publikationsjahr: 17 April 2020
Verlag: ACM
(Heft-)Nummer: 40
Buchtitel: EuroSys '20: Proceedings of the Fifteenth European Conference on Computer Systems
Veranstaltungstitel: 15th European Conference on Computer Systems
Veranstaltungsort: Heraklion, Greece
Veranstaltungsdatum: 27.-30.04.2020
DOI: 10.1145/3342195.3387549
Kurzbeschreibung (Abstract):

Convolution operations are essential constituents of convolutional neural networks. Their efficient and performance-portable implementation demands tremendous programming effort and fine-tuning. Winograd's minimal filtering algorithm is a well-known method to reduce the computational complexity of convolution operations. Unfortunately, existing implementations of this algorithm are either vendor-specific or hard-coded to support a small subset of convolutions, thus limiting their versatility and performance portability. In this paper, we propose a novel method to optimize Winograd convolutions based on symbolic computation. Taking advantage meta-programming and auto-tuning, we further introduce a system to automate the generation of efficient and portable Winograd convolution code for various GPUs. We show that our optimization technique can effectively exploit repetitive patterns, enabling us to reduce the number of arithmetic operations by up to 62% without compromising numerical stability. Moreover, we demonstrate in experiments that we can generate efficient kernels with runtimes close to deep-learning libraries, requiring only a minimum of programming effort, which confirms the performance portability of our approach.

Freie Schlagworte: LOEWE|SF4.0, DFG|320898076, deep learning, meta-programming, symbolic computation, winograd convolution, DFG, LOEWE
Zusätzliche Informationen:

Art.No.: 40

Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik
20 Fachbereich Informatik > Parallele Programmierung
Hinterlegungsdatum: 04 Apr 2024 08:52
Letzte Änderung: 27 Jun 2024 12:15
PPN: 519413989
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen