专栏算法工具链地平线征程j6做tile方案疑问

地平线征程j6做tile方案疑问

默认263362026-04-28
23
3
芯片型号:地平线征程j6
地平线征程6做tile方案的时候,对nchw四个维度进行切分,优先切哪一个维度,并且做tile的时候,做数据对齐,生成的新的维度要求能被某个数整除吗,比如说,tile后的h维度的值要求是8的倍数。你能给我详细的方案介绍吗
算法工具链
社区活动征程6
评论2
0/1000
  • zyhang
    Lv.1

    优先切H,其次是W。通常必须对齐,一般的tensor,各维度shape对齐到2的幂次方;conv like使用的tensor,H对齐到8,W对齐到16,C对齐到32,tile 后维度要求能被某数整除,本质是计算单元一次吃满数据;不能整除就 需要padding,能整除就最快。

    5小时前
    0
    0
  • 费小财
    Lv.5
    在实际算子实现或编译器底层 Tiling 中,通常优先处理计算密集且对齐要求严格的空间维度(H/W),同时确保 通道维度(C) 满足最小对齐单位(32)。具体的 Tiling 策略往往由编译器自动根据算子类型(如 Conv, Pooling, Elementwise)和输入 Shape 决定,但手动优化时应遵循:“切分后的子块尺寸必须满足硬件对齐要求”
    5小时前
    0
    1
    • 默认26336回复费小财:

      TAE引擎的硬件并行度基于channel维度,所以必须保证首先对齐到c维度;

      H维度是硬件tile处理的空间维度最小单位,影响内存访问的连续性,与硬件cache line大小匹配
      W维度:与内存总线宽度和数据预取机制匹配,与硬件数据路径宽度相关
      是这样吗
      3小时前
      0