ops-ras/examples/add_example/op_kernel/add_example.h 中定义的 AddExample 模板类仅通过模板参数 T 支持泛型,但在实际算子注册和 Tiling 实现中,仅验证了 float 和 half 两种数据类型。
ops-ras/examples/add_example/op_kernel/add_example.h
AddExample
T
float
half
template <typename T> class AddExample { ... }
在 add_example_tiling_data.h 中,Tiling 数据的计算未考虑不同数据类型对齐要求(如 int64 需要 8 字节对齐,bf16 在某些芯片型号上与 fp16 有不同的处理逻辑)。
add_example_tiling_data.h
Init
tileLength_ * sizeof(T)
tests/
examples/add_example/op_kernel/add_example.h
examples/add_example/op_host/add_example_tiling_data.h
examples/add_example/tests/
您好,我们已收到反馈,待分析确认后处理修复
问题描述
ops-ras/examples/add_example/op_kernel/add_example.h中定义的AddExample模板类仅通过模板参数T支持泛型,但在实际算子注册和 Tiling 实现中,仅验证了float和half两种数据类型。template <typename T> class AddExample { ... }在
add_example_tiling_data.h中,Tiling 数据的计算未考虑不同数据类型对齐要求(如 int64 需要 8 字节对齐,bf16 在某些芯片型号上与 fp16 有不同的处理逻辑)。影响
建议方案
AddExample的Init方法中增加对输入数据类型大小的校验逻辑,确保tileLength_ * sizeof(T)满足硬件对齐要求。add_example_tiling_data.h中增加针对不同数据类型的 Tiling 参数计算策略。tests/目录下补充 int64 和 bf16 数据类型的测试用例。相关文件
examples/add_example/op_kernel/add_example.hexamples/add_example/op_host/add_example_tiling_data.hexamples/add_example/tests/