Automatic code generation for high-performance Discontinuous Galerkin methods on modern architectures
SIMD vectorization has lately become a key challenge in high-performance computing. However, hand-written explicitly vectorized code often poses a threat to the software’s sustainability. In this publication, we solve this sustainability and performance portability issue by enriching the simulation...
Saved in:
| Main Authors: | , , , |
|---|---|
| Format: | Article (Journal) |
| Language: | English |
| Published: |
December 2020
|
| In: |
ACM transactions on mathematical software
Year: 2020, Volume: 47, Issue: 1, Pages: 1-31 |
| ISSN: | 1557-7295 |
| DOI: | 10.1145/3424144 |
| Online Access: | Verlag, lizenzpflichtig, Volltext: https://doi.org/10.1145/3424144 |
| Author Notes: | Dominic Kempf, René Heß, Steffen Müthing, and Peter Bastian |
MARC
| LEADER | 00000caa a2200000 c 4500 | ||
|---|---|---|---|
| 001 | 1789487293 | ||
| 003 | DE-627 | ||
| 005 | 20220820125800.0 | ||
| 007 | cr uuu---uuuuu | ||
| 008 | 220213s2020 xx |||||o 00| ||eng c | ||
| 024 | 7 | |a 10.1145/3424144 |2 doi | |
| 035 | |a (DE-627)1789487293 | ||
| 035 | |a (DE-599)KXP1789487293 | ||
| 035 | |a (OCoLC)1341441590 | ||
| 040 | |a DE-627 |b ger |c DE-627 |e rda | ||
| 041 | |a eng | ||
| 084 | |a 28 |2 sdnb | ||
| 100 | 1 | |a Kempf, Dominic |d 1986- |e VerfasserIn |0 (DE-588)1130605868 |0 (DE-627)884815528 |0 (DE-576)486859231 |4 aut | |
| 245 | 1 | 0 | |a Automatic code generation for high-performance Discontinuous Galerkin methods on modern architectures |c Dominic Kempf, René Heß, Steffen Müthing, and Peter Bastian |
| 264 | 1 | |c December 2020 | |
| 300 | |a 31 | ||
| 336 | |a Text |b txt |2 rdacontent | ||
| 337 | |a Computermedien |b c |2 rdamedia | ||
| 338 | |a Online-Ressource |b cr |2 rdacarrier | ||
| 500 | |a Gesehen am 13.02.2022 | ||
| 520 | |a SIMD vectorization has lately become a key challenge in high-performance computing. However, hand-written explicitly vectorized code often poses a threat to the software’s sustainability. In this publication, we solve this sustainability and performance portability issue by enriching the simulation framework dune-pdelab with a code generation approach. The approach is based on the well-known domain-specific language UFL but combines it with loopy, a more powerful intermediate representation for the computational kernel. Given this flexible tool, we present and implement a new class of vectorization strategies for the assembly of Discontinuous Galerkin methods on hexahedral meshes exploiting the finite element’s tensor product structure. The performance-optimal variant from this class is chosen by the code generator through an auto-tuning approach. The implementation is done within the open source PDE software framework Dune and the discretization module dune-pdelab. The strength of the proposed approach is illustrated with performance measurements for DG schemes for a scalar diffusion reaction equation and the Stokes equation. In our measurements, we utilize both the AVX2 and the AVX512 instruction set, achieving 30% to 40% of the machine’s theoretical peak performance for one matrix-free application of the operator. | ||
| 650 | 4 | |a Code generation | |
| 650 | 4 | |a Galerkin methods | |
| 700 | 1 | |a Heß, René |e VerfasserIn |0 (DE-588)125171921X |0 (DE-627)1789487277 |4 aut | |
| 700 | 1 | |a Müthing, Steffen |e VerfasserIn |0 (DE-588)1072062577 |0 (DE-627)826828302 |0 (DE-576)433524367 |4 aut | |
| 700 | 1 | |a Bastian, Peter |d 1964- |e VerfasserIn |0 (DE-588)1045599794 |0 (DE-627)774643374 |0 (DE-576)399098224 |4 aut | |
| 773 | 0 | 8 | |i Enthalten in |a Association for Computing Machinery |t ACM transactions on mathematical software |d New York, NY : ACM, 1975 |g 47(2020), 1, Artikel-ID 6, Seite 1-31 |h Online-Ressource |w (DE-627)320454134 |w (DE-600)2006421-4 |w (DE-576)09088986X |x 1557-7295 |7 nnas |
| 773 | 1 | 8 | |g volume:47 |g year:2020 |g number:1 |g elocationid:6 |g pages:1-31 |g extent:31 |a Automatic code generation for high-performance Discontinuous Galerkin methods on modern architectures |
| 856 | 4 | 0 | |u https://doi.org/10.1145/3424144 |x Verlag |x Resolving-System |z lizenzpflichtig |3 Volltext |
| 951 | |a AR | ||
| 992 | |a 20220213 | ||
| 993 | |a Article | ||
| 994 | |a 2020 | ||
| 998 | |g 1045599794 |a Bastian, Peter |m 1045599794:Bastian, Peter |d 700000 |d 708000 |e 700000PB1045599794 |e 708000PB1045599794 |k 0/700000/ |k 1/700000/708000/ |p 4 |y j | ||
| 998 | |g 1072062577 |a Müthing, Steffen |m 1072062577:Müthing, Steffen |d 700000 |d 708000 |e 700000PM1072062577 |e 708000PM1072062577 |k 0/700000/ |k 1/700000/708000/ |p 3 | ||
| 998 | |g 125171921X |a Heß, René |m 125171921X:Heß, René |d 700000 |d 708000 |e 700000PH125171921X |e 708000PH125171921X |k 0/700000/ |k 1/700000/708000/ |p 2 | ||
| 998 | |g 1130605868 |a Kempf, Dominic |m 1130605868:Kempf, Dominic |d 700000 |d 708000 |e 700000PK1130605868 |e 708000PK1130605868 |k 0/700000/ |k 1/700000/708000/ |p 1 |x j | ||
| 999 | |a KXP-PPN1789487293 |e 4056339481 | ||
| BIB | |a Y | ||
| SER | |a journal | ||
| JSO | |a {"origin":[{"dateIssuedDisp":"December 2020","dateIssuedKey":"2020"}],"relHost":[{"physDesc":[{"extent":"Online-Ressource"}],"note":["Gesehen am 16.06.20"],"origin":[{"dateIssuedKey":"1975","publisher":"ACM","dateIssuedDisp":"1975-","publisherPlace":"New York, NY"}],"id":{"zdb":["2006421-4"],"eki":["320454134"],"issn":["1557-7295"]},"titleAlt":[{"title":"TOMS"},{"title":"ACM TOMS"},{"title":"Transactions on mathematical software"}],"recId":"320454134","disp":"Association for Computing MachineryACM transactions on mathematical software","title":[{"title":"ACM transactions on mathematical software","title_sort":"ACM transactions on mathematical software","subtitle":"a publication of the Association for Computing Machinery"}],"part":{"year":"2020","text":"47(2020), 1, Artikel-ID 6, Seite 1-31","pages":"1-31","extent":"31","volume":"47","issue":"1"},"corporate":[{"roleDisplay":"VerfasserIn","display":"Association for Computing Machinery","role":"aut"}],"type":{"bibl":"periodical","media":"Online-Ressource"},"language":["eng"],"pubHistory":["1.1975 -"]}],"id":{"doi":["10.1145/3424144"],"eki":["1789487293"]},"physDesc":[{"extent":"31 S."}],"person":[{"family":"Kempf","roleDisplay":"VerfasserIn","given":"Dominic","role":"aut","display":"Kempf, Dominic"},{"family":"Heß","roleDisplay":"VerfasserIn","given":"René","role":"aut","display":"Heß, René"},{"given":"Steffen","role":"aut","display":"Müthing, Steffen","family":"Müthing","roleDisplay":"VerfasserIn"},{"given":"Peter","role":"aut","display":"Bastian, Peter","roleDisplay":"VerfasserIn","family":"Bastian"}],"note":["Gesehen am 13.02.2022"],"name":{"displayForm":["Dominic Kempf, René Heß, Steffen Müthing, and Peter Bastian"]},"language":["eng"],"type":{"media":"Online-Ressource","bibl":"article-journal"},"recId":"1789487293","title":[{"title":"Automatic code generation for high-performance Discontinuous Galerkin methods on modern architectures","title_sort":"Automatic code generation for high-performance Discontinuous Galerkin methods on modern architectures"}]} | ||
| SRT | |a KEMPFDOMINAUTOMATICC2020 | ||