2025华为昇腾CANN训练营 2.0

算子开发技术对于开发者来说还是蛮重要的。华为云2025昇腾CANN训练营2.0活动已经开启了,前几天上午收到华为云的活动邀请,了解之后觉得还蛮有意思,因为去年也参加了,但是具体细节已经忘光了(只是单纯的懒 ),今年也是成功通过了Ascend C算子认证,这里就记录一下心得吧。(2025/2/28)


一、2025昇腾CANN训练营活动介绍

2025昇腾CANN训练营2.0提供四大专题直播课程,涵盖从基础到进阶的算子开发知识,助力不同阶段的开发者快速成长。活动包含20+场大咖直播、20+真实案例研究、20+节课程赋能,还有10+位昇腾领域技术专家讲师亲授。通过学习与实践,开发者不仅能提升技术能力,还有机会赢取华为手机、开发板等超级大奖。(官网直接搬来的)

活动链接:2025昇腾CANN训练营-昇腾社区


二、活动安排

1. 课程学习:针对不同阶段的开发者,提供原生开发实训班、码力全开特辑、开发者说、企业原生案例对话室等四大专题直播课。(建议自己先学习一些前置知识,直播课虽然有帮助,但是还是要自己线下学习)

  • 原生开发实训班:适合小白开发者,快速掌握算子开发基础知识,直播时间为每周一19 : 00。
  • 码力全开:基于开放仓样例解读,快速掌握开发实操要点,直播时间为每双周周四15 : 00。
  • 开发者说:学霸开发者分享学习秘籍,开启大神成长路,直播时间为每周一、四19 : 00。
  • 企业原生案例对话室:聚焦企业与专题案例,解码行业动态,直播时间为每周四15 : 00。

2. 认证考核:通过开发能力认证,微认证。

3. 多样挑战:包括实操挑战、学习成果分享、布道师招募等活动,帮助开发者在实践中提升能力。
4. 活动奖品(最重要的) :华为平板、手机、手表等。


三、活动细节攻略

需要有昇腾NPU,且CANN版本为8.0.RC2.alpha003。开发者可自行准备开发者套件(如Atlas200I DK A2或香橙派)或使用华为云-ModelArts-Notebook部署方式。

实现Ascend C算子Sinh,命名为SinhCustom。要求如下:

        1. 完成Sinh算子kernel侧核函数相关代码补齐。
        2. 完成Sinh算子host侧Tiling结构体成员变量创建,以及Tiling实现函数的补齐。
        3. 支持Float16类型输入输出。
        4. 不要使用Sinh高阶API,使用高阶API不得分.


下载提供的SinhCustom.tar.gz文件,进入SinhCustom目录,依次打开源码文件,根据注释提示补全代码。代码补齐后,执行以下命令进行编译构建:

bash build.sh

编译成功后,执行以下命令将算子包安装到环境中:

cd build_out
./custom_opp_ubuntu_aarch64.run

最后进入AclNNInvocation目录,执行以下命令进行测试:

bash run.sh

后续的命令行代码这里就不放了~ 不然就变成透题帖子了...

算子应用还是蛮重要的,大家感兴趣的话也可以积极参与(补药和我抢手表呜呜呜),单单完成活动中的认证其实还远远不够,只是个基础入门的感觉吧,如果想继续提高的话,可以参加CANN举办的一些企业级项目实战和算子挑战赛来巩固一下自己的能力,冲冲冲


 

<think>好的,我现在需要处理用户提出的关于错误E90000的问题。首先,我需要回忆之前的对话历史,用户之前问过NPU错误500001,现在又遇到了另一个错误,这次是E90000,显示编译算子失败,并提到资源暂时不可用。用户还提供了错误发生的位置在华为昇腾的某个Python文件里。 首先,我应该确定这个错误的大致原因。根据错误信息“Resource temporarily unavailable”,可能涉及资源不足,比如内存、显存、进程数限制或者文件句柄等。此外,用户提供的堆栈跟踪指向了Ascend Toolkit中的repository_manager模块,这可能与算子编译时的资源管理有关。 接下来,我需要考虑可能的排查步骤。首先,检查系统资源,如内存和NPU的显存使用情况。用户可以使用npu-smi命令查看NPU的状态,看看是否有其他进程占用了大量资源。然后,检查系统的ulimit设置,特别是用户进程的文件打开数和进程数限制,因为如果这些限制太低,可能导致资源不足。 另外,需要考虑是否有多个编译任务同时运行,导致资源竞争。例如,并行编译可能会耗尽内存或进程数,用户需要调整并行度,比如在训练脚本中设置环境变量,限制同时编译的任务数。 然后是检查Ascend组件的版本兼容性,用户需要确认CANN、驱动、固件以及PyTorch或TensorFlow的版本是否匹配。版本不兼容可能会导致资源分配异常。 日志分析也是关键的一步,用户需要查看Ascend的安装日志和运行日志,寻找更详细的错误信息。路径通常在/var/log/ascend_seclog或者训练脚本所在的目录下。 还有存储空间的问题,虽然错误提示是资源不足,但也有可能是临时目录空间不足导致编译失败,需要检查/tmp或指定的临时目录的空间。 如果以上步骤无法解决,可能需要联系华为技术支持,提供详细的日志和版本信息。 在整理回答时,需要分步骤说明,结构清晰,帮助用户逐步排查。同时,确保使用正确的格式,比如行内数学公式用$...$,独立公式用$$...$$,不过在这个问题中可能用不上数学公式,但需要注意中英文标点和代码块的正确使用。 最后,需要提醒用户如果自行排查无果,及时联系官方支持,因为有些问题可能需要更深入的日志分析或内部工具诊断。</think>你遇到的错误 `E90000: Resource temporarily unavailable` 是华为昇腾(Ascend)NPU在编译算子时触发的资源限制问题。以下是详细的排查和解决方案: --- ### **1. 错误背景分析** - **错误定位**: 发生在昇腾算子编译阶段,具体在 `repository_manager/interface.py` 中,表明资源分配失败。 - **直接原因**: 系统资源(如内存、NPU显存、进程数或文件句柄)不足,或资源管理配置不当。 - **常见场景**: - 多任务并行编译算子时资源耗尽 - 用户进程资源限制(如 `ulimit` 设置过低) - 昇腾软件栈(CANN)版本与硬件/驱动不兼容 --- ### **2. 基础排查步骤** #### **步骤 1:检查系统资源占用** - **查看NPU显存和计算单元状态**: ```bash npu-smi info # 检查NPU显存是否被其他进程占用 ``` - 若显存占满,终止无关进程或减少并行任务。 - **检查内存和CPU负载**: ```bash free -h # 查看内存剩余 top # 检查CPU负载 ``` #### **步骤 2:检查用户进程资源限制** - 确认系统对用户的资源限制是否过低: ```bash ulimit -a # 查看当前限制 ``` - 关注 `open files`(文件句柄数)和 `max user processes`(进程数)。 - 临时提高限制(需root权限): ```bash ulimit -n 65535 # 文件句柄数 ulimit -u 65535 # 用户进程数 ``` #### **步骤 3:检查并行编译任务数** - 昇腾算子编译默认可能开启多线程,若资源不足需限制并行度: ```bash export TE_PARALLEL_COMPILER=1 # 限制编译线程数为1(临时生效) ``` - 在训练脚本或环境变量中设置。 --- ### **3. 进阶解决方案** #### **方案 1:释放NPU资源** - 清理残留的昇腾进程和缓存: ```bash npu-smi info -t device -i 0 -c 0 # 查看设备0的进程 kill -9 <残留进程PID> # 强制终止占用NPU的进程 rm -rf /var/log/npu/conf/slog/* # 清理日志缓存(谨慎操作) ``` #### **方案 2:调整昇腾编译配置** - 修改昇腾算子编译的缓存路径(避免默认 `/tmp` 空间不足): ```bash export TBE_IMPL_CACHE_PATH=/your/custom/path # 指定大容量存储路径 ``` - 确保目标路径有足够空间(建议 > 10GB)。 #### **方案 3:升级或重装昇腾软件栈** - 检查CANN(昇腾计算架构)版本与驱动、固件的兼容性: ```bash cat /usr/local/Ascend/ascend-toolkit/latest/acllib/version.info ``` - 若版本不匹配,参考[昇腾官方文档](https://support.huawei.com/enterprise/en/ascend-computing)升级或重装。 --- ### **4. 日志分析与关键信息提取** - **查看详细错误日志**: - 昇腾安装日志:`/var/log/ascend_seclog/ascend_install.log` - 算子编译日志:`./kernel_meta/` 下的 `*.log` 文件(训练脚本同级目录) - **搜索关键字**: - `failed to allocate memory`(内存不足) - `too many open files`(文件句柄耗尽) - `coredump`(硬件或驱动异常) --- ### **5. 官方建议与技术支持** - **华为昇腾社区**:提交问题至[昇腾论坛](https://bbs.huaweicloud.com/forum/forum-728-1.html),需提供: 1. 完整的错误日志 2. `npu-smi info` 输出 3. CANN、驱动、PyTorch/TensorFlow 版本信息 - **紧急问题**:联系华为技术支持团队,提供设备SN和错误时间戳。 --- ### **6. 预防措施** 1. **资源监控**:部署监控工具(如Prometheus)实时跟踪NPU和内存使用。 2. **代码优化**:减少算子编译频率(例如复用已编译算子)。 3. **环境隔离**:为NPU任务分配专用服务器,避免资源竞争。 通过以上步骤,多数资源类错误可定位到内存、进程或版本冲突问题。若仍无法解决,建议结合日志联系华为技术支持进一步分析。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Echo-Nie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值