已开启
代码侦探(第八期)|补全算子代码有奖,周周赢取定制礼品! #754
昇腾CANN小助手创建于  9 天前
昇腾CANN小助手
昇腾CANN小助手
9 天前 创建

代码侦探atomgit banner图.png

每周更新活动代码,参与补全代码使其能够正确运行并在此 issue 下方评论提交PR链接,即有机会赢取奖励!

更多活动大奖等你来拿!【立即参与】

参与流程

01学习课程 02查看任务书 03提交PR链接 04本issue页评论
完成 Ascend C 算子编程基础、开源仓算子开发
课程学习后,再回到本题目尝试独立实现
在CANNJudge平台加入小组查看 按步骤提交PR 按以下固定格式评论答题

本期活动截止时间:10月22日 24:00

一、本期活动代码 · 逐元素 Tanh 激活算子

Tanh(双曲正切)是深度学习中最常用的激活函数之一。给定输入张量 x,逐元素计算输出 y = tanh(x) = (exp(x) - exp(-x)) / (exp(x) + exp(-x))。

本题为开源仓规范化算子开发:基于 Ascend C 在昇腾 NPU 上完成 Tanh 算子的 Tiling 函数(op_host 侧)与核函数实现(op_kernel 侧)。通过多核切分将输入数据分块搬入 Local Memory(UB),执行 Exp、Mul、Adds、Div 等指令逐元素计算,再将结果搬回 Global Memory。

按照任务书中要求,根据任务说明和 逐元素 Tanh 激活算子代码中的// 请补充……注释提示,补充代码实现,完成本期逐元素 Tanh 激活算子的开发,并按要求提交PR。

二、答题评论格式

参与者请在本 issue 下方按以下固定格式评论答题,格式不全或信息缺失将视为无效答题,无法兑奖:

1.PR 链接:请提交至 CANNJudge 平台后,在此附上 PR 链接,确保链接公开可访问, PR 链接标题前缀必须带上【代码侦探Challenge08】

2.提供渠道来源(如下示例)
渠道:(自行填写,您通过什么途径/方向参与活动,如线下场次或线上宣发)
参考示例——
线下场次:燃星福州场 /淬火成都场 / 东南大学高校专场 / 西邮高校专场……
线上宣发:朋友圈 / 微信群 / 公众号 / 群聊转发 / 好友邀请……

格式示例:
PR 链接:XXX  
渠道:XX

🔄注意:

1.用 AtomGit 账号登录 CANNJudge 平台

2.加入《代码侦探》小组,完成 Challenge08-TanhCustom 答案编写

3.通过平台验证并提交 PR

  • ✅ 通过验证集:提交代码后验证通过显示 "PASS"
  • ✅ 提交开源仓:填写邮箱、学校/企业代码缩写(后续作为目录,只支持英文、数字、下划线)、学校/企业全称、个人英文标识(AtomGit 用户名去掉 @+下划线+题号,例如“wx234234234_06”),按照指引创建令牌并签署 CLA
  1. 活动截止时间为 10 月 22 日 24:00,PR更新和issue评论时间均需在截止时间内,逾期不计入有效参与;
  2. 每位参与者仅可提交 1 条有效评论;
  3. 评论及提交符合格式的 PR 链接,即可参与抽奖,最终能否获奖以抽中楼层后的资格核对为准

三、奖项设置

🏅 奖项

奖项名额奖项名称奖品获奖规则
第1名1名🔍 最佳侦探奖HUAWEI FreeBuds 7i /华为手环 11 NFC版 第一个评论合规、 PR 正确运行且已合入者直接获奖
幸运奖按参与人数抽取🎲 幸运侦探奖背包/冲锋衣/华为多协议超级快充移动电源10000mAh/华为无线鼠标 /智能声波牙刷/智能咖啡杯 从剩余参与者(即未获得最佳侦探奖的所有参与者)中,按评论楼层顺序,以随机种子抽取(按参与人数解锁)

🏅名额
奖品升级!全员解锁!参与人数越多,奖品越多!

参与人数第一名幸运奖抽奖人数
25 人以下1人2人
25 人1人4人
30 人1人5人
35 人1人6人
40 人1人7人
50 人及以上1人10人

📋 获奖规则

✅1. 参与与获奖:
参与:在本 issue 按格式评论并提交 PR 链接,即可参与抽奖
获奖:须满足全部获奖条件——评论格式完整 + PR 链接可访问且已提交 + PR 标题含【代码侦探Challenge08】前缀 + PR 经验证可正确运行 + PR 已完成合入

✅2. 抽奖规则

  • 每期题目刷新后按评论发布时间正序排列,最早评论答题的为1楼,以此类推,楼层总数为 N;
  • 抽取方式:程序以抽奖当天的公历+星期+农历日期为种子,生成数字随机种子,按评论楼层顺序(1楼 → N楼) 抽取中奖楼层号;
  • 中奖楼层若未按格式答题/答案错误/PR 未合入/当月已获奖,则为无效中奖,无法兑奖;

四、兑奖须知

  • 每个AtomGit账号 ID 每月仅可获奖 1 次,若中奖用户当月已获奖,则本次中奖无效,无法兑奖;
  • 兑奖需关注 CANN 社区并Star cann-outreach仓;
  • 10月 29 日将在此 issue 公布获奖名单,请获奖者微信添加 昇腾CANN小助手(微信号:Ascend-CANN)领取奖品;
  • 获奖名单公布后设 5 个工作日公示期,公示期内接受异议,公示期后不再受理;
  • 本次活动最终解释权归活动方所有

五、常见问题(FAQ)

  • 作为新手小白如何提交代码?
    A:参考CANNJudge 平台登录答题指导手册

  • PR 需要先提交才能参与吗?
    A:需要。PR 已提交至指定仓库且链接可公开访问即可参与,审核人员会验证代码是否正确。

  • 评论后可以修改吗?
    A:可以,但修改后的评论以最后编辑时间为准;建议确认无误后再提交,避免因编辑时间影响 TOP1 排名。

  • 如果 TOP1 获奖者同时被抽中幸运奖怎么办?
    A:TOP1 获奖者不参与幸运奖抽取,幸运奖从剩余有效答题者中产生。

  • 公示期内发现问题如何反馈?
    A:可直接在本 issue 下评论或私信昇腾小助手(微信号:Ascend-CANN),我们将在核实后进行相应处理。

  • PR 标题忘记加【代码侦探Challenge08】前缀了怎么办?
    A:可在活动截止前修改 PR 标题补上前缀,修改后仍有效;若截止时仍未添加,则该 PR 不计入有效参与。

  • 截止时间以什么为准?
    A:PR更新和issue评论时间均需在截止时间内,请在截止时间前完成PR及评论提交,逾期不计入有效参与。

likedislike
小久
小久
8 天前 评论:
likedislike
桂馥兰香
桂馥兰香
8 天前 评论:
likedislike
小东
小东
8 天前 评论:

PR 链接:https://gitcode.com/cann/cann-outreach/pull/4054

渠道:微信群

likedislike
FineL1
FineL1
8 天前 评论:
likedislike
aodebiao
aodebiao
7 天前 评论:
likedislike
eieiei
eieiei
7 天前 评论:

PR 链接:https://gitcode.com/cann/cann-outreach/pull/3876 渠道:线上宣发:GitCode CANN 社区活动页面

likedislike
爱上纯净的蓝天
爱上纯净的蓝天
7 天前 评论:
likedislike
gcw_93rlw6ed
6 天前 评论:

PR 链接:https://gitcode.com/cann/cann-outreach/pull/4116

渠道:微信群

likedislike
gcw_JQJBklQH
gcw_JQJBklQH
6 天前 评论:
likedislike
wenjingwen
6 天前 评论:
likedislike
昇腾CANN小助手昇腾CANN小助手
5 天前 修改了issue 的描述
JeffDing
JeffDing
5 天前 评论:
likedislike
skytosky
skytosky
5 天前 评论:
likedislike
2301_81591329
2301_81591329
5 天前 评论:
likedislike
eieiei
eieiei
5 天前 评论:

【问题反馈·非答题提交】AI 行内评审产生的讨论,提交者无权限解决,导致 PR 永久卡在“合并受阻”

(本条是流程问题反馈,不是答题提交;本人的 Challenge08 答题评论见本 issue 下方 09-21 那条,仍为唯一有效答题。)

现象:cann/cann-outreach 的侦探提交 PR,只要 atomgit-bot 首轮审查留下了行内评论,PR 页面就会一直显示“合并受阻:存在未解决的评审问题”,即便代码早已按意见逐条修完也无法合入。

根因(已实测确认):仓库开启了 only_allow_merge_if_all_discussions_are_resolved,但解决讨论的权限不在 MR 作者手上。用提交者账号对未解决线程调用平台的解决接口,一律返回 403 您无权解决此问题,PR 页上的“未解决”按钮也是 disabled 状态。也就是说:这个开关只有仓库评审人能拨,提交者无论怎么改代码都拨不动。

受影响 PR(青海大学 wsnidie1,均已按评审意见逐条回复并附 head 核验说明):#2436(2 条)、#3556(4 条)、#3805(1 条)、#3876(2 条)。

对照组:本批已合入的同类提交(如 #3562、#3648)之所以能合,是因为它们的 AI 首轮审查没有产出行内评论(#3562 是改动过大被跳过审查),线程数为 0,resolve_discussion_passed 天然为 true——这并非提交者主动做到的。

建议二选一:

  1. 在活动说明 / 参与流程里写明“行内评审讨论由助教或评审人统一标记已解决”,并在每期收尾时集中点一次;
  2. 或者允许 MR 作者解决“自己已回复过的行内讨论”(代码已修或已说明不成立的情形),把权限放到提交者侧。
likedislike
谐振
谐振
5 天前 评论:
likedislike
昇腾CANN小助手昇腾CANN小助手
4 天前 修改了issue 的描述
OpenGood_WeChat
OpenGood_WeChat
1 天前 评论:

PR 链接:【代码侦探(第八期)】闪捷信息科技有限公司 - challenge08_tanhcustom https://gitcode.com/cann/cann-outreach/pull/4217
渠道:线上宣发:GitCode CANN 社区活动页面

likedislike