英特尔提出用于LLVM MLIR的XeGPU方言

2023年 12月 17日 77.7k 0

英特尔提出用于LLVM MLIR的XeGPU方言-1
作为英特尔不断寻求最大化其GPU/加速器计算性能的一部分,他们的编译器工程师提议为LLVM的MLIR引入XeGPU方言。

英特尔的李建辉提议为英特尔图形处理器提供XeGPU MLIR方言。他在周五解释说此评论请求:

为了在Intel GPU上支持高性能的GEMM代码生成,我们提出了XeGPU方言。XeGPU方言提供了紧密模拟Xe指令的抽象。当特殊的Xe指令不能用LLVM/SPIR-V方言表示时,例如矩阵指令(AKA DPA)和2D块加载,XeGPU操作被引入。它匹配硬件指令的语义,包括矩阵大小。XeGPU方言类似于NVGPU和AMDGPU方言,并作为桥接方言工作,提供对MLIR、Memref和向量数据类型的特定目标操作。

XeGPU方言模型的一个子集的GPU的独特功能,专注于GEMM性能。这些操作包括2d load、dpas、atomic、scattered load、1d load、named barrier、mfence和compile-hint。这些操作提供了一个最小的集合,以支持高性能MLIR GEMM实施的GEMM形状范围广泛。XeGPU方言补充了Arith、Math、Vector和Memref方言。这允许基于XeGPU的MLIR GEMM实现与通过现有MLIR方言降低的其他操作融合。

英特尔确实已经有了英特尔对MLIR的扩展以及一些高性能XeGPU GEMM的实现。英特尔已在Intel Max系列图形硬件上以接近峰值的GEMM性能演示了此代码。

XeGPU方言模拟Xe GPU ISA的子集。这是NVGPU和AMDGPU方言的对应,这两种方言在MLIR逐渐降低的过程中提供了一个桥梁方言。XeGPU方言与MLIR Memref和向量类型一起工作,并补充了Arith、Math、Vector和Memref方言。XeGPU操作是在存在未由LLVM/SPIR-V方言建模的特殊Xe指令时引入的,例如DPA和2D块加载。在某些情况下,一个XeGPU op可能会降低到用于专用和性能关键型功能的指令序列。例如,create_tdesc被映射到固定的指令序列以创建地址描述。“

本RFC文档为那些感兴趣的编译器工程师/爱好者提供了更多关于MLIR建议的XeGPU方言的详细信息。

英特尔提出用于LLVM MLIR的XeGPU方言-2

这项正在进行的图形编译器工作,新的Xe内核驱动程序, and other ongoing open-source investments by Intel will be all the more important by the time the Falcon Shores APU launches in 2025. Exciting times ahead.

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论