A Priori Loop Nest Normalization: Automatic Loop Scheduling in Complex Applications
Uloženo v:
| Název: | A Priori Loop Nest Normalization: Automatic Loop Scheduling in Complex Applications |
|---|---|
| Autoři: | Trümper, Lukas, Schaad, Philipp, Ates, Berke, id_orcid:0 000-0003-0242-3640, Calotoiu, Alexandru, Copik, Marcin, Hoefler, Torsten |
| Přispěvatelé: | Doerfert, Johannes, Grosser, Tobias, Leather, Hugh, Sadayappan, Ponnuswamy |
| Zdroj: | Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization |
| Informace o vydavateli: | Association for Computing Machinery |
| Rok vydání: | 2025 |
| Sbírka: | ETH Zürich Research Collection |
| Témata: | loop normalization, loop optimization, polyhedral analysis, compiler, code optimization |
| Popis: | The same computations are often expressed differently across software projects and programming languages. In particular, how computations involving loops are expressed varies due to the many possibilities to permute and compose loops. Since each variant may have unique performance properties, automatic approaches to loop scheduling must support many different optimization recipes. In this paper, we propose a priori loop nest normalization to align loop nests and reduce the variation before the optimization. Specifically, we define and apply normalization criteria, mapping loop nests with different memory access patterns to the same canonical form. Since the memory access pattern is susceptible to loop variations and critical for performance, this normalization allows many loop nests to be optimized by the same optimization recipe. To evaluate our approach, we apply the normalization with optimizations designed for only the canonical form, improving the performance of many different loop nest variants. Across multiple implementations of 15 benchmarks using different languages, we outperform a baseline compiler in C on average by a factor of 21.13, state-of-the-art auto-schedulers such as Polly and the Tiramisu auto-scheduler by 2.31 and 2.89, as well as performance-oriented Python-based frameworks such as NumPy, Numba, and DaCe by 9.04, 3.92, and 1.47. Furthermore, we apply the concept to the CLOUDSC cloud microphysics scheme, an actively used component of the Integrated Forecasting System, achieving a 10% speedup over the highly-tuned Fortran code. |
| Druh dokumentu: | conference object |
| Popis souboru: | application/application/pdf |
| Jazyk: | English |
| Relation: | info:eu-repo/semantics/altIdentifier/isbn/979-8-4007-1275-3; info:eu-repo/grantAgreement/EC/H2020/101002047; info:eu-repo/grantAgreement/EC/H2020/101034126; http://hdl.handle.net/20.500.11850/729779 |
| DOI: | 10.3929/ethz-b-000729779 |
| Dostupnost: | https://hdl.handle.net/20.500.11850/729779 https://doi.org/10.3929/ethz-b-000729779 |
| Rights: | info:eu-repo/semantics/openAccess ; http://creativecommons.org/licenses/by/4.0/ ; Creative Commons Attribution 4.0 International |
| Přístupové číslo: | edsbas.B234C3C4 |
| Databáze: | BASE |
| FullText | Text: Availability: 0 CustomLinks: – Url: https://hdl.handle.net/20.500.11850/729779# Name: EDS - BASE (s4221598) Category: fullText Text: View record from BASE – Url: https://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=EBSCO&SrcAuth=EBSCO&DestApp=WOS&ServiceName=TransferToWoS&DestLinkType=GeneralSearchSummary&Func=Links&author=Tr%C3%BCmper%20L Name: ISI Category: fullText Text: Nájsť tento článok vo Web of Science Icon: https://imagesrvr.epnet.com/ls/20docs.gif MouseOverText: Nájsť tento článok vo Web of Science |
|---|---|
| Header | DbId: edsbas DbLabel: BASE An: edsbas.B234C3C4 RelevancyScore: 1012 AccessLevel: 3 PubType: Conference PubTypeId: conference PreciseRelevancyScore: 1011.70721435547 |
| IllustrationInfo | |
| Items | – Name: Title Label: Title Group: Ti Data: A Priori Loop Nest Normalization: Automatic Loop Scheduling in Complex Applications – Name: Author Label: Authors Group: Au Data: <searchLink fieldCode="AR" term="%22Trümper%2C+Lukas%22">Trümper, Lukas</searchLink><br /><searchLink fieldCode="AR" term="%22Schaad%2C+Philipp%22">Schaad, Philipp</searchLink><br /><searchLink fieldCode="AR" term="%22Ates%2C+Berke%22">Ates, Berke</searchLink><br /><searchLink fieldCode="AR" term="%22id%5Forcid%3A0+000-0003-0242-3640%22">id_orcid:0 000-0003-0242-3640</searchLink><br /><searchLink fieldCode="AR" term="%22Calotoiu%2C+Alexandru%22">Calotoiu, Alexandru</searchLink><br /><searchLink fieldCode="AR" term="%22Copik%2C+Marcin%22">Copik, Marcin</searchLink><br /><searchLink fieldCode="AR" term="%22Hoefler%2C+Torsten%22">Hoefler, Torsten</searchLink> – Name: Author Label: Contributors Group: Au Data: Doerfert, Johannes<br />Grosser, Tobias<br />Leather, Hugh<br />Sadayappan, Ponnuswamy – Name: TitleSource Label: Source Group: Src Data: Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization – Name: Publisher Label: Publisher Information Group: PubInfo Data: Association for Computing Machinery – Name: DatePubCY Label: Publication Year Group: Date Data: 2025 – Name: Subset Label: Collection Group: HoldingsInfo Data: ETH Zürich Research Collection – Name: Subject Label: Subject Terms Group: Su Data: <searchLink fieldCode="DE" term="%22loop+normalization%22">loop normalization</searchLink><br /><searchLink fieldCode="DE" term="%22loop+optimization%22">loop optimization</searchLink><br /><searchLink fieldCode="DE" term="%22polyhedral+analysis%22">polyhedral analysis</searchLink><br /><searchLink fieldCode="DE" term="%22compiler%22">compiler</searchLink><br /><searchLink fieldCode="DE" term="%22code+optimization%22">code optimization</searchLink> – Name: Abstract Label: Description Group: Ab Data: The same computations are often expressed differently across software projects and programming languages. In particular, how computations involving loops are expressed varies due to the many possibilities to permute and compose loops. Since each variant may have unique performance properties, automatic approaches to loop scheduling must support many different optimization recipes. In this paper, we propose a priori loop nest normalization to align loop nests and reduce the variation before the optimization. Specifically, we define and apply normalization criteria, mapping loop nests with different memory access patterns to the same canonical form. Since the memory access pattern is susceptible to loop variations and critical for performance, this normalization allows many loop nests to be optimized by the same optimization recipe. To evaluate our approach, we apply the normalization with optimizations designed for only the canonical form, improving the performance of many different loop nest variants. Across multiple implementations of 15 benchmarks using different languages, we outperform a baseline compiler in C on average by a factor of 21.13, state-of-the-art auto-schedulers such as Polly and the Tiramisu auto-scheduler by 2.31 and 2.89, as well as performance-oriented Python-based frameworks such as NumPy, Numba, and DaCe by 9.04, 3.92, and 1.47. Furthermore, we apply the concept to the CLOUDSC cloud microphysics scheme, an actively used component of the Integrated Forecasting System, achieving a 10% speedup over the highly-tuned Fortran code. – Name: TypeDocument Label: Document Type Group: TypDoc Data: conference object – Name: Format Label: File Description Group: SrcInfo Data: application/application/pdf – Name: Language Label: Language Group: Lang Data: English – Name: NoteTitleSource Label: Relation Group: SrcInfo Data: info:eu-repo/semantics/altIdentifier/isbn/979-8-4007-1275-3; info:eu-repo/grantAgreement/EC/H2020/101002047; info:eu-repo/grantAgreement/EC/H2020/101034126; http://hdl.handle.net/20.500.11850/729779 – Name: DOI Label: DOI Group: ID Data: 10.3929/ethz-b-000729779 – Name: URL Label: Availability Group: URL Data: https://hdl.handle.net/20.500.11850/729779<br />https://doi.org/10.3929/ethz-b-000729779 – Name: Copyright Label: Rights Group: Cpyrght Data: info:eu-repo/semantics/openAccess ; http://creativecommons.org/licenses/by/4.0/ ; Creative Commons Attribution 4.0 International – Name: AN Label: Accession Number Group: ID Data: edsbas.B234C3C4 |
| PLink | https://erproxy.cvtisr.sk/sfx/access?url=https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.B234C3C4 |
| RecordInfo | BibRecord: BibEntity: Identifiers: – Type: doi Value: 10.3929/ethz-b-000729779 Languages: – Text: English Subjects: – SubjectFull: loop normalization Type: general – SubjectFull: loop optimization Type: general – SubjectFull: polyhedral analysis Type: general – SubjectFull: compiler Type: general – SubjectFull: code optimization Type: general Titles: – TitleFull: A Priori Loop Nest Normalization: Automatic Loop Scheduling in Complex Applications Type: main BibRelationships: HasContributorRelationships: – PersonEntity: Name: NameFull: Trümper, Lukas – PersonEntity: Name: NameFull: Schaad, Philipp – PersonEntity: Name: NameFull: Ates, Berke – PersonEntity: Name: NameFull: id_orcid:0 000-0003-0242-3640 – PersonEntity: Name: NameFull: Calotoiu, Alexandru – PersonEntity: Name: NameFull: Copik, Marcin – PersonEntity: Name: NameFull: Hoefler, Torsten – PersonEntity: Name: NameFull: Doerfert, Johannes – PersonEntity: Name: NameFull: Grosser, Tobias – PersonEntity: Name: NameFull: Leather, Hugh – PersonEntity: Name: NameFull: Sadayappan, Ponnuswamy IsPartOfRelationships: – BibEntity: Dates: – D: 01 M: 01 Type: published Y: 2025 Identifiers: – Type: issn-locals Value: edsbas – Type: issn-locals Value: edsbas.oa Titles: – TitleFull: Proceedings of the 23rd ACM/IEEE International Symposium on Code Generation and Optimization Type: main |
| ResultId | 1 |
Nájsť tento článok vo Web of Science