George Bisbas, Anton Lydike, Emilien Bauer, Nick Brown, Mathieu Fehr, Lawrence Mitchell, Gabriel Rodriguez-Canal, Maurice Jamieson, Paul H. J. Kelly, Michel Steuwer, Tobias Grosser
{"title":"模板 DSL 中分布式内存并行的共享编译栈","authors":"George Bisbas, Anton Lydike, Emilien Bauer, Nick Brown, Mathieu Fehr, Lawrence Mitchell, Gabriel Rodriguez-Canal, Maurice Jamieson, Paul H. J. Kelly, Michel Steuwer, Tobias Grosser","doi":"arxiv-2404.02218","DOIUrl":null,"url":null,"abstract":"Domain Specific Languages (DSLs) increase programmer productivity and provide\nhigh performance. Their targeted abstractions allow scientists to express\nproblems at a high level, providing rich details that optimizing compilers can\nexploit to target current- and next-generation supercomputers. The convenience\nand performance of DSLs come with significant development and maintenance\ncosts. The siloed design of DSL compilers and the resulting inability to\nbenefit from shared infrastructure cause uncertainties around longevity and the\nadoption of DSLs at scale. By tailoring the broadly-adopted MLIR compiler\nframework to HPC, we bring the same synergies that the machine learning\ncommunity already exploits across their DSLs (e.g. Tensorflow, PyTorch) to the\nfinite-difference stencil HPC community. We introduce new HPC-specific\nabstractions for message passing targeting distributed stencil computations. We\ndemonstrate the sharing of common components across three distinct HPC\nstencil-DSL compilers: Devito, PSyclone, and the Open Earth Compiler, showing\nthat our framework generates high-performance executables based upon a shared\ncompiler ecosystem.","PeriodicalId":501256,"journal":{"name":"arXiv - CS - Mathematical Software","volume":"20 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A shared compilation stack for distributed-memory parallelism in stencil DSLs\",\"authors\":\"George Bisbas, Anton Lydike, Emilien Bauer, Nick Brown, Mathieu Fehr, Lawrence Mitchell, Gabriel Rodriguez-Canal, Maurice Jamieson, Paul H. J. Kelly, Michel Steuwer, Tobias Grosser\",\"doi\":\"arxiv-2404.02218\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Domain Specific Languages (DSLs) increase programmer productivity and provide\\nhigh performance. Their targeted abstractions allow scientists to express\\nproblems at a high level, providing rich details that optimizing compilers can\\nexploit to target current- and next-generation supercomputers. The convenience\\nand performance of DSLs come with significant development and maintenance\\ncosts. The siloed design of DSL compilers and the resulting inability to\\nbenefit from shared infrastructure cause uncertainties around longevity and the\\nadoption of DSLs at scale. By tailoring the broadly-adopted MLIR compiler\\nframework to HPC, we bring the same synergies that the machine learning\\ncommunity already exploits across their DSLs (e.g. Tensorflow, PyTorch) to the\\nfinite-difference stencil HPC community. We introduce new HPC-specific\\nabstractions for message passing targeting distributed stencil computations. We\\ndemonstrate the sharing of common components across three distinct HPC\\nstencil-DSL compilers: Devito, PSyclone, and the Open Earth Compiler, showing\\nthat our framework generates high-performance executables based upon a shared\\ncompiler ecosystem.\",\"PeriodicalId\":501256,\"journal\":{\"name\":\"arXiv - CS - Mathematical Software\",\"volume\":\"20 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-04-02\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Mathematical Software\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2404.02218\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Mathematical Software","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2404.02218","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A shared compilation stack for distributed-memory parallelism in stencil DSLs
Domain Specific Languages (DSLs) increase programmer productivity and provide
high performance. Their targeted abstractions allow scientists to express
problems at a high level, providing rich details that optimizing compilers can
exploit to target current- and next-generation supercomputers. The convenience
and performance of DSLs come with significant development and maintenance
costs. The siloed design of DSL compilers and the resulting inability to
benefit from shared infrastructure cause uncertainties around longevity and the
adoption of DSLs at scale. By tailoring the broadly-adopted MLIR compiler
framework to HPC, we bring the same synergies that the machine learning
community already exploits across their DSLs (e.g. Tensorflow, PyTorch) to the
finite-difference stencil HPC community. We introduce new HPC-specific
abstractions for message passing targeting distributed stencil computations. We
demonstrate the sharing of common components across three distinct HPC
stencil-DSL compilers: Devito, PSyclone, and the Open Earth Compiler, showing
that our framework generates high-performance executables based upon a shared
compiler ecosystem.