当前位置: 首页 > news >正文

CANN社区bessel_i0 API开发任务

7月社区任务-prims.bessel_i0 API开发任务书

【免费下载链接】cann-ops-competitions本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。项目地址: https://gitcode.com/cann/cann-ops-competitions

基础信息

  • 技术标签:高阶API开发
  • 适配硬件:Ascend 950PR/Ascend 950DT
  • 开源仓地址:https://gitcode.com/ascend/asc-devkit
  • CANN 版本:本次社区任务指定CANN版本
  • 开发语言:Ascend C

任务概述

基于 PyTorch IR 的prims.bessel_i0接口,在昇腾 NPU 上使用 Ascend C 编程语言实现对应的高阶API。该API用于计算第一类零阶修正贝塞尔函数I_0(x),完成API设计、开发、测试全流程工作,测试通过后将代码提交至asc-devkit开源仓。

核心开发要求及验收标准

功能实现要求

  1. 与 PyTorch IRprims.bessel_i0接口核心功能完全对齐,支持原API对应的所有数据类型(float32)、数据格式。
  2. 支持API泛化功能,满足各类合法输入场景的计算需求,验收阶段将采用泛化数据进行验收。
  3. 正确处理边界情况(大值输入的数值稳定性、NaN/Inf特殊值处理)。

测试标准

需自行设计全场景自验证用例,验收阶段将采用泛化数据进行功能、精度、性能全维度验证。自验证报告完整、可复现,所有测试用例执行通过。

性能要求

  1. 至少实现Cube/Vector/MTE其中一个Bound(任一流水占比超80%)。
  2. 特殊场景无法达标的(如小shape场景等),需提供性能仿真图和分析结论佐证。

精度要求

构造API测试用例计算精度需满足AscendOpTest工具默认阈值。

文档规范要求

  1. API设计文档可根据模板填写,内容完整、格式规范,且必须通过评审。设计文档需在asc-devkit仓提交文档评审issue,2工作日内反馈评审结果,如方案有更新,评审时间同步刷新。
  2. 自验证报告除基础场景外还应覆盖边界值场景,具体可参考算子自验证报告,需包含测试用例执行日志/截图、整体测试通过截图、性能数据截图,可指导复现测试结果。
  3. README 文档内容完整、规范,可参考代码仓API的接口说明文档。

验收交付件

  1. asc-devkit开源仓 fork 的个人代码仓链接(需包含:API代码、API README 文档、UT代码、多场景的功能测试代码)。交付件可按照如下目录提交:

    ├── docs # API接口说明文档 ├── impl # API接口实现源代码 ├── include # API接口声明源代码 └── tests # API的测试代码:包括单元测试和功能测试用例
  2. API自验证报告。

  3. 评审通过的API设计文档。

PR 申请合入

测试通过后,在asc-devkit开源仓提交 PR 申请,申请将开发完成的API合入( https://gitcode.com/cann/asc-devkit/tree/master/experimental/ )。

PyTorch IR参考信息

  • PyTorch官方文档: https://docs.pytorch.org/docs/stable/generated/torch.i0.html

参考资料

  1. 文档类:Ascend C高阶API贡献指南,Ascend C快速入门,Ascend C接口列表。
  2. 课程类:Ascend C在线课程。
  3. 参考样例:asc-devkit仓库中的现有高阶API实现。

环境获取

  1. 开源仓提供100小时免费时长,请不使用时及时关闭,用时耗尽前请务必保存相关资料,建议及时提交备份。
  2. 使用 hidevlab notebook 算力。
  3. 如需额外环境资源,请联系昇腾小助手。

特别注意事项

  1. 开发过程需严格遵循社区编码规范。
  2. 所有交付件需提前完成自验证,确认符合验收标准后再提交验收申请。
  3. 开发前请务必阅读【社区任务】流程及注意事项。

【免费下载链接】cann-ops-competitions本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。项目地址: https://gitcode.com/cann/cann-ops-competitions

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1129685/

相关文章:

  • 卡丁车语音识别过程
  • 如何快速上手CSSOM.js?从安装到基础使用的简明教程
  • 提升前端数据处理效率:Table To JSON与同类工具的终极对比分析
  • 打破语言壁垒:Translumo实时屏幕翻译工具让外语世界触手可及
  • 统信UOS V20 控制中心:3种网络账户同步配置实战与1个云同步避坑点
  • 解决resume.io下载限制:resumeio-to-pdf工具常见问题与解决方案
  • django-postgres-extra终极指南:解锁PostgreSQL全部潜力的Django扩展
  • 终极Sunshine游戏串流卸载指南:如何彻底清理并释放系统资源
  • d3d8to9完整指南:让老游戏在Windows 10/11上完美运行的免费解决方案
  • 为什么选择Upmin Admin Ruby?Rails开发者必备的10个理由
  • 终极Android组件化方案对比:AndroidComponentizeLibs深度解析六大主流框架
  • 10分钟上手Vitis HLS:基于Introductory-Examples的快速入门教程
  • Denoising Diffusion GANs数学原理剖析:从变分推断到采样加速的奥秘
  • Self-Refine部署实战:如何在生产环境中运行自我优化AI
  • Traduccion项目完全指南:如何参与You Don‘t Know JS西班牙语翻译
  • kiUi性能优化技巧:让你的OpenGL界面流畅运行的10个方法
  • 羽球联盟 HarmonyOS NEXT 实战系列 (06/20):主题Token、Resource颜色与深色模式准备
  • 为什么选择AlamofireNetworkActivityIndicator?iOS网络指示器第三方库深度对比
  • INI、YAML、TOML 全支持!ConfigArgParse 多格式配置文件实战指南
  • 为什么选择O-CNN?八叉树CNN对比传统3D深度学习方法的7大优势
  • 终极Windows 11精简指南:使用tiny11builder脚本让你的系统瘦身50%
  • 终极音乐歌词解决方案:163MusicLyrics让你的音乐库完美同步歌词
  • WavTap开发揭秘:从Soundflower到音频捕获神器的演变
  • Readium EPUB阅读器完整攻略:打造专业级电子书阅读体验的终极指南
  • Table To JSON性能优化:处理大型表格的5个专业技巧
  • Wexflow多语言客户端开发:C、Python、Java等语言集成指南
  • AgentKit 内存管理完全手册:持久化与状态共享最佳实践
  • 无需Ruby也能玩VimGolf:Docker容器化解决方案全攻略
  • PostgreSQL表分区实战:使用django-postgres-extra实现高性能数据管理
  • 10分钟上手wordpress-nginx-docker:从环境配置到网站上线的完整教程