已开启
[Documentation|文档反馈]: AddExample 模板算子缺少对 int64 和 bf16 数据类型的支持 #16
崇理战队创建于  8月18日
崇理战队
8月18日 创建

问题描述

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 有不同的处理逻辑)。

影响

  1. 开发者基于 AddExample 模板开发新算子时,如果直接支持 int64 或 bf16,可能在特定芯片型号上出现对齐错误或精度问题。
  2. 作为"示例算子",AddExample 应当展示最佳实践,当前实现对数据类型处理的示范作用不够完整。

建议方案

  1. 在 AddExample 的 Init 方法中增加对输入数据类型大小的校验逻辑,确保 tileLength_ * sizeof(T) 满足硬件对齐要求。
  2. 在 add_example_tiling_data.h 中增加针对不同数据类型的 Tiling 参数计算策略。
  3. 在 tests/ 目录下补充 int64 和 bf16 数据类型的测试用例。

相关文件

  • examples/add_example/op_kernel/add_example.h
  • examples/add_example/op_host/add_example_tiling_data.h
  • examples/add_example/tests/
likedislike
LLiuZonggu成员
8月19日 将 LiuZonggu 设为负责人
LiuZonggu成员
8月19日 评论:

您好,我们已收到反馈,待分析确认后处理修复

likedislike
Yyue-ma成员
5 天前 修改标题为 “[Documentation|文档反馈]: AddExample 模板算子缺少对 int64 和 bf16 数据类型的支持”,原标题为“AddExample 模板算子缺少对 int64 和 bf16 数据类型的支持”