bmodel与tpu.mlir对比不过(1)

Viewed 674

问题如图
image.png

1 Answers

分析过程:

  1. 首先观察它走global,还是local。可以发现它走global:
    image.png
  2. 观察LayerNormOp::codegen_global_bm1684x()有没有明显问题。没有发现明显调用问题。
  3. 观察TorchLayerNorm_f32_model_out.npz与TorchLayerNorm_f32_tpu_out.npz的结果差异。观察到model的结果前部分是一致的,后部分全0,如下。
    典型的算子切分问题。
    image.png
    4)将测试用例shap改小,将[14,25,13,22]改成[1,25,13,22],验证结果完全正确。进一步怀疑是后端backend_api_group_norm_global在实现切分上存在问题。