已关闭
[Requirement|需求建议]: Tan算子AscendC实现贡献 #104
TuYHAAAAAA创建于  2025年10月31日关闭于  2025年12月11日
TuYHAAAAAA
TuYHAAAAAA
2025年10月31日 创建

Backgroud(背景信息)

使用AscendC对Tan算子进行实现,实现了AscendC实现的Tan算子对Atlas 200/500 A2推理产品和Atlas 800I/T A2硬件的适配。

Origin(信息来源)

哈工大算子团队

Benefit / Necessity (价值/作用)

Tan算子的主要功能是计算给定张量的正切值。在数学和工程领域中,正切运算是一种基础且重要的三角函数操作,它被广泛应用于信号分析、图像变换、波动模拟以及机器人运动学等多个领域。Tan算子能够高效地处理批量数值的正切计算,支持浮点数的输入。实现了Tan算子的AscendC实现。

Design(设计方案)

host侧设计:

1)分核策略

如果核间能均分,可视作无大小核区分,大核小核数据块一致;
如果核间不能均分,需要将余出的数据块分配到前几个核上。
数据量当能单核处理的情况下使用单核,否者使用满核进行加速处理。

2)单core内切分策略

使用双缓冲,并充分使用UB空间的原则。
由于没有借助临时空间,且输入输出的形状相同,将UB等分为2等分,每一等分对应一个输入或者输出。
以块为单位,充分利用每一等分的UB空间。

3)tilingkey规划策略

需要tilingkey的情况:需要感知host侧信息对kernel侧走不同分支。
不需要tilingkey的情况:host侧的处理是通用的,无特殊属性等决定kernel的分支。

kernel侧设计:

进行Init和Process两个阶段,其中Process包括数据搬入(CopyIn)、计算(Compute)、搬出(CopyOut)三个阶段。
1)考虑了在最后一次Process中的尾块处理。
2)由于支持Ascend C开发的硬件中AscendC::Tan支持float32和float16数据的输入,可以直接将float16和float32的数据进行计算。

likedislike
TuYHAAAAAATuYHAAAAAA
2025年10月31日 关联了pull request:迁移了mul,maximum和tan三个算子
TuYHAAAAAATuYHAAAAAA
2025年10月31日 删除了关联的pull request:迁移了mul,maximum和tan三个算子
TuYHAAAAAATuYHAAAAAA
2025年10月31日 关联了pull request:迁移了mul,maximum和tan三个算子
TuYHAAAAAATuYHAAAAAA
2025年10月31日 删除了关联的pull request:迁移了mul,maximum和tan三个算子
TuYHAAAAAATuYHAAAAAA
2025年10月31日 关联了pull request:迁移了mul,maximum和tan三个算子
TuYHAAAAAATuYHAAAAAA
2025年10月31日 删除了关联的pull request:迁移了mul,maximum和tan三个算子
TuYHAAAAAATuYHAAAAAA
2025年10月31日 关联了pull request:迁移了tan算子
gubaocheng成员
2025年10月31日 评论:

你好,我们收到此需求,对需求的背景还需要你具体介绍一下,我们计划在2025-11-06 14:00 - 16:00 召开一个例会,建议你申报一个议题。
会议链接:
https://meeting.huaweicloud.com:36443/#/j/981341618
议题申报:
https://etherpad.meeting.osinfra.cn/p/sig-ops-basic

likedislike
sunday成员
2025年11月7日 评论:

您好,感谢您的贡献,为了方便后续代码评审,建议描述一下设计方案,可参考:https://gitcode.com/cann/ops-math/issues/59
算子代码目录放在experimental/math/目录下。

likedislike
TuYHAAAAAATuYHAAAAAA
2025年11月17日 修改标题为 “[Requirement|需求建议]: Tan算子AscendC实现贡献”,原标题为“迁移tan算子”
TuYHAAAAAATuYHAAAAAA
2025年11月17日 修改了issue 的描述
TuYHAAAAAATuYHAAAAAA
2025年11月17日 关联了pull request:个人-AscendC实现Tan算子贡献
TuYHAAAAAA
TuYHAAAAAA
2025年11月17日 评论:

/assign

likedislike
CANN-robotCANN-robot成员
2025年11月17日 将 TuYHAAAAAA 设为负责人
Ssunday成员
2025年12月11日 issue状态由 进行中 改变为 已完成
Ssunday成员
2025年12月11日 关闭了 issue