P³ Problem and Magnolia Language: Specializing Array Computations for Emerging Architectures

dc.contributor.authorChetioui Benjamin
dc.contributor.authorLarnøy Marius K
dc.contributor.authorJärvi Jaakko
dc.contributor.authorHaveraaen Magne
dc.contributor.authorMullin Lenore
dc.contributor.organizationfi=ohjelmistotekniikka|en=Software Engineering|
dc.contributor.organization-code1.2.246.10.2458963.20.71310837563
dc.converis.publication-id176282228
dc.converis.urlhttps://research.utu.fi/converis/portal/Publication/176282228
dc.date.accessioned2022-11-29T15:51:06Z
dc.date.available2022-11-29T15:51:06Z
dc.description.abstract<p>The problem of producing portable high-performance computing (HPC) software that is cheap to develop and maintain is called the P³ (performance, portability, productivity) problem. Good solutions to the P³ problem have been achieved when the performance profiles of the target machines have been similar. The variety of HPC architectures is, however, large and can be expected to grow larger. Software for HPC therefore needs to be highly adaptable, and there is a pressing need to provide developers with tools to produce software that can target machines with vastly different profiles.<br><br>Multi-dimensional array manipulation constitutes a core component of numerous numerical methods, such as finite difference solvers of Partial Differential Equations (PDEs). The efficiency of these computations is tightly connected to traversing and distributing array data in a hardware-friendly way. The Mathematics of Arrays (MoA) allows for formally reasoning about array computations and enables systematic transformations of array-based programs, e.g. to use data layouts that fit to a specific architecture.<br><br>This paper presents a programming methodology aimed for tackling the P³ problem in domains that are well-explored using Magnolia, a language designed to embody generic programming. The Magnolia programmer can restrict the semantic properties of abstract generic types and operations by defining so-called axioms. Axioms can be used to produce tests for concrete implementations of specifications, for formal verification, or to perform semantics-preserving program transformations.<br><br>We leverage Magnolia's semantic specification facilities to extend the Magnolia compiler with a term rewriting system. We implement MoA's transformation rules in Magnolia, and demonstrate through a case study on a finite difference solver of PDEs how our rewriting system allows exploring the space of possible optimizations.<br></p>
dc.identifier.eissn2624-9898
dc.identifier.jour-issn2624-9898
dc.identifier.olddbid190258
dc.identifier.oldhandle10024/173349
dc.identifier.urihttps://www.utupub.fi/handle/11111/34609
dc.identifier.urlhttps://www.frontiersin.org/articles/10.3389/fcomp.2022.931312/full
dc.identifier.urnURN:NBN:fi-fe2022112967987
dc.language.isoen
dc.okm.affiliatedauthorJärvi, Jaakko
dc.okm.discipline113 Computer and information sciencesen_GB
dc.okm.discipline113 Tietojenkäsittely ja informaatiotieteetfi_FI
dc.okm.internationalcopublicationinternational co-publication
dc.okm.internationalityInternational publication
dc.okm.typeA1 ScientificArticle
dc.publisherFrontiers Media SA
dc.publisher.countrySwitzerlanden_GB
dc.publisher.countrySveitsifi_FI
dc.publisher.country-codeCH
dc.relation.doi10.3389/fcomp.2022.931312
dc.relation.ispartofjournalFrontiers in Computer Science
dc.source.identifierhttps://www.utupub.fi/handle/10024/173349
dc.titleP³ Problem and Magnolia Language: Specializing Array Computations for Emerging Architectures
dc.year.issued2022

Tiedostot

Näytetään 1 - 1 / 1
Ladataan...
Name:
fcomp-04-931312.pdf
Size:
793.62 KB
Format:
Adobe Portable Document Format