我在开发一个支持动态shape的Ascend C算子时遇到了Tiling参数计算的问题。算子的输入shape在运行时才能确定,我需要在核函数执行前根据实际的shape计算出Tiling参数,包括数据切分方式、核函数启动配置等。现在的问题是,某些shape下算子的计算结果正确,但换一批shape就会出现部分输出错误或者干脆执行超时。我怀疑是Tiling参数在边界条件下计算有误,导致某些核处理的数据块超出了实际范围,或者核函数之间的同步出现了问题。由于动态shape的取值组合很多,逐个测试不太现实,想请教一下大家在Ascend C动态shape算子的开发中,有没有比较系统的方法来验证Tiling参数的正确性?
我在开发一个支持动态shape的Ascend C算子时遇到了Tiling参数计算的问题。算子的输入shape在运行时才能确定,我需要在核函数执行前根据实际的shape计算出Tiling参数,包括数据切分方式、核函数启动配置等。现在的问题是,某些shape下算子的计算结果正确,但换一批shape就会出现部分输出错误或者干脆执行超时。我怀疑是Tiling参数在边界条件下计算有误,导致某些核处理的数据块超出了实际范围,或者核函数之间的同步出现了问题。由于动态shape的取值组合很多,逐个测试不太现实,想请教一下大家在Ascend C动态shape算子的开发中,有没有比较系统的方法来验证Tiling参数的正确性?