☰
164、MLIR的HBM(高带宽内存)与GDDR优化
2026/9/25 12:01:03 网站建设 项目流程

MLIR的HBM与GDDR优化:一次带宽踩坑实录

去年在调一个AI推理引擎的MLIR后端时,遇到一个诡异的性能问题:同样的计算图,在A100上跑出理论带宽的85%,换到H100上反而掉到60%。当时盯着nvidia-smi的带宽利用率,百思不得其解。后来扒开MLIR的affine loop tiling和memory space映射,才发现问题出在HBM的bank conflict和GDDR的page burst上。今天就把这些坑掰开揉碎,聊聊MLIR里怎么针对高带宽内存做优化。

从一次bank conflict说起

先看一个典型的MLIR片段,这是某个卷积算子的tiling后代码:

#map = affine_map<(d0, d1) -> (d0 * 64 + d1)> func.func @conv_tiled(%input: memref<1024x1024xf16, 3>, %output: memref<1024x1024xf16, 3>) { affine.for %i = 0 to 1024 step 64 { affine.for %j = 0 to 1024 step 64 { // 这里踩过坑:直接按行连续访问,HBM bank冲突爆炸 affine.for %ii = 0 to 64 { affine.for %jj = 0 to 64 { %val = affine.load %in

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询