涉及MLIR的代码生成
发布时间
阅读量:
阅读量
MLIR提供多层次中间表示,并致力于构建高效且可扩展的编译器基础设施。该方法旨在解决软件碎片问题,并通过改进异构硬件的编译技术来降低构建特定领域编译器的成本。同时它还帮助将现有编译器连接在一起以便共享资源并协作开发。
该方法的核心目标是实现一种混合指令表示(Intermediate Representation),其主要特点是在统一架构下支持多种不同的需求。
例如:
• 支持数据流图的多维度表示能力包括动态形状功能用户扩展的操作生态系统以及类似于TensorFlow中的变量等特性。
• 能够在这些数据流图上进行优化与转换操作并结合工具如Grappler来进行高级处理。
• 支持高性能计算风格的循环优化策略包括跨内核托管的数据内存布局调整以及代码生成过程中实施"降低"转换策略以提升性能。
• 提供针对特定硬件的操作设计包括针对加速器类别的高级指令以及量化与相关图变换操作的支持。
特别地它还支持多面体primitive.这些primitive.被广泛应用于深度学习模型中。
此外该框架还提供了硬件综合工具 / HLS.的支持使开发者能够通过编写高层代码直接生成高效硬件设计而无需深入关注底层细节。

还没有任何评论哟~
