Skip to content

Latest commit

 

History

History
24 lines (22 loc) · 1.83 KB

[WeeklyReport]2024.04.06~2024.04.19.md

File metadata and controls

24 lines (22 loc) · 1.83 KB

姓名

朱新明

实习项目

PIR 算子补全与兼容机制建设

本周工作

分析mean API动转静执行的问题

paddle.meanAPI在动转静时翻译失败。主要原因是现在的ProgramTranslato没有支持VarDesc*。在OpTranslator中适配从mutable_attributes中 得到VarDesc*,进而得到VarName,从param_map得到对应的value。这里从param_map中的到value的前提是该VarDesc*已经被前述Op定义。但是在 动转静时没有插入对应的data_op。尝试进行插入,在实际执行时发现在scope中的Tensor对应的holder_为空,所以动转静时在新IR和就IR下都会失败。 ProgramTranslator对VarDesc*的支持已经进行了适配。

分析fake_quantize_range_abs_max执行时OutScale的holder_为null问题

fake_quantize_range_abs_max的参数is_testTrue时,OutScaleholder_null。因为当输入x的dtype为float16时,会选择在GPU上的Kernel执行。中间框架会插入memcpy_d2h算子,该算子负责将数据从GPU拷贝会主机。但是当is_testTrue时,Kernel中并没有为OutScale中分配显存,所以会执行失败。 目前的解决方法是当is_testTrue时,将输出OutScaleOutScales加入到no_check_set中,在no_check_set中的属性不会通过fetch算子取出,所以一九不会 涉及插入memcpy_d2h算子。

review分布式算子注册issue相关PR

在review pull_gpups_sparse算子注册时发现TestOpWithBackwardTranslator中并不会成功插入反向算子,原因是out的stop_gradient的属性值默认为True。 现在已经修正。

下周工作

  1. 推进分布式算子注册issue的合入,完成该issue中的内容
  2. review算子单测任务相关PR

导师点评

对上述问题的分析很有帮助,继续努力!