首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当涉及到mlir时,“阻抗不匹配”意味着什么?

当涉及到mlir时,“阻抗不匹配”意味着什么?
EN

Stack Overflow用户
提问于 2020-10-22 13:13:16
回答 1查看 70关注 0票数 0

有人说:MLIR是高级编译的一个很好的基础设施,它可以减少每个级别上的阻抗失配

当涉及到mlir时,复合术语“阻抗不匹配”到底意味着什么?

EN

回答 1

Stack Overflow用户

发布于 2020-10-25 09:22:46

有关这个主题的相关答案在这里,这是一个很好的上下文:https://stackoverflow.com/a/41017152/14457718

编译器工作的一种常见方式,比如在LLVM中,它们将有几个定义良好的接口(IRs),这些接口允许在该接口中进行优化并完成它们之间的转换。由于各种原因,我将在这篇文章中避免,一个共同的决定是保持尽可能少的国税局,并鼓励每个人编译/从他们。

决定使用更少的IRs会导致这样一种情况,即任何优化或概念都有更少的选择来表示主题。让我们以循环为例。LLVM将表示为较低级别的分支语句。这使得组合/拆分/展开循环变得更加困难,因为您需要理解给定一系列分支的原始循环。请注意,这并不是不可能的;只是由于“阻抗不匹配”,调试起来更困难,工作量更大。

MLIR声称减少阻抗失配,例如,它支持带循环的IRs,支持带分支的其他IRs,支持具有内存视图的其他IRs。给定更多的IRs,任何给定的主题都更有可能有一个优化很简单的IR,而不需要首先从不太合适的IR中重构概念信息。

MLIR目录中的方言列表,仅显示表示主题的更多选项:https://mlir.llvm.org/docs/Dialects/

边注指出,我在这里试图回答相关的问题,但您将从这些地方的社区得到更及时的反馈:https://discord.gg/xS7Z362 https://llvm.discourse.group/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64483054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档