MLIR 转换方言。你的编译器比你想象的更强大

Martin Lücke, Oleksandr Zinenko, William S. Moses, Michel Steuwer, Albert Cohen
{"title":"MLIR 转换方言。你的编译器比你想象的更强大","authors":"Martin Lücke, Oleksandr Zinenko, William S. Moses, Michel Steuwer, Albert Cohen","doi":"arxiv-2409.03864","DOIUrl":null,"url":null,"abstract":"To take full advantage of a specific hardware target, performance engineers\nneed to gain control on compilers in order to leverage their domain knowledge\nabout the program and hardware. Yet, modern compilers are poorly controlled,\nusually by configuring a sequence of coarse-grained monolithic black-box\npasses, or by means of predefined compiler annotations/pragmas. These can be\neffective, but often do not let users precisely optimize their varying compute\nloads. As a consequence, performance engineers have to resort to implementing\ncustom passes for a specific optimization heuristic, requiring compiler\nengineering expert knowledge. In this paper, we present a technique that provides fine-grained control of\ngeneral-purpose compilers by introducing the Transform dialect, a controllable\nIR-based transformation system implemented in MLIR. The Transform dialect\nempowers performance engineers to optimize their various compute loads by\ncomposing and reusing existing - but currently hidden - compiler features\nwithout the need to implement new passes or even rebuilding the compiler. We demonstrate in five case studies that the Transform dialect enables\nprecise, safe composition of compiler transformations and allows for\nstraightforward integration with state-of-the-art search methods.","PeriodicalId":501197,"journal":{"name":"arXiv - CS - Programming Languages","volume":"1 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-09-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"The MLIR Transform Dialect. Your compiler is more powerful than you think\",\"authors\":\"Martin Lücke, Oleksandr Zinenko, William S. Moses, Michel Steuwer, Albert Cohen\",\"doi\":\"arxiv-2409.03864\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"To take full advantage of a specific hardware target, performance engineers\\nneed to gain control on compilers in order to leverage their domain knowledge\\nabout the program and hardware. Yet, modern compilers are poorly controlled,\\nusually by configuring a sequence of coarse-grained monolithic black-box\\npasses, or by means of predefined compiler annotations/pragmas. These can be\\neffective, but often do not let users precisely optimize their varying compute\\nloads. As a consequence, performance engineers have to resort to implementing\\ncustom passes for a specific optimization heuristic, requiring compiler\\nengineering expert knowledge. In this paper, we present a technique that provides fine-grained control of\\ngeneral-purpose compilers by introducing the Transform dialect, a controllable\\nIR-based transformation system implemented in MLIR. The Transform dialect\\nempowers performance engineers to optimize their various compute loads by\\ncomposing and reusing existing - but currently hidden - compiler features\\nwithout the need to implement new passes or even rebuilding the compiler. We demonstrate in five case studies that the Transform dialect enables\\nprecise, safe composition of compiler transformations and allows for\\nstraightforward integration with state-of-the-art search methods.\",\"PeriodicalId\":501197,\"journal\":{\"name\":\"arXiv - CS - Programming Languages\",\"volume\":\"1 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-09-05\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Programming Languages\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2409.03864\",\"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 - Programming Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.03864","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

摘要

为了充分利用特定硬件目标,性能工程师需要对编译器进行控制,以便充分利用他们对程序和硬件的领域知识。然而,现代编译器的控制能力很差,通常是通过配置一系列粗粒度的单片黑盒子,或者通过预定义的编译器注释/语法。这些方法虽然有效,但往往无法让用户精确优化不同的计算负荷。因此,性能工程师不得不为特定的优化启发式实施自定义通路,这需要编译工程方面的专业知识。在本文中,我们介绍了一种技术,通过引入 Transform 方言(一种在 MLIR 中实现的基于 IR 的可控转换系统),对通用编译器进行细粒度控制。Transform 方言使性能工程师能够通过组合和重用现有但目前隐藏的编译器功能来优化各种计算负载,而无需实现新的传递,甚至无需重建编译器。我们通过五个案例研究证明,Transform 方言能够精确、安全地组合编译器转换,并允许与最先进的搜索方法直接集成。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
The MLIR Transform Dialect. Your compiler is more powerful than you think
To take full advantage of a specific hardware target, performance engineers need to gain control on compilers in order to leverage their domain knowledge about the program and hardware. Yet, modern compilers are poorly controlled, usually by configuring a sequence of coarse-grained monolithic black-box passes, or by means of predefined compiler annotations/pragmas. These can be effective, but often do not let users precisely optimize their varying compute loads. As a consequence, performance engineers have to resort to implementing custom passes for a specific optimization heuristic, requiring compiler engineering expert knowledge. In this paper, we present a technique that provides fine-grained control of general-purpose compilers by introducing the Transform dialect, a controllable IR-based transformation system implemented in MLIR. The Transform dialect empowers performance engineers to optimize their various compute loads by composing and reusing existing - but currently hidden - compiler features without the need to implement new passes or even rebuilding the compiler. We demonstrate in five case studies that the Transform dialect enables precise, safe composition of compiler transformations and allows for straightforward integration with state-of-the-art search methods.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Memory Consistency and Program Transformations No Saved Kaleidosope: an 100% Jitted Neural Network Coding Language with Pythonic Syntax Towards Quantum Multiparty Session Types The Incredible Shrinking Context... in a decompiler near you Scheme Pearl: Quantum Continuations
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1