Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【PFCC-Roadmap】AI硬件接入 #42490

Open
luotao1 opened this issue May 5, 2022 · 2 comments
Open

【PFCC-Roadmap】AI硬件接入 #42490

luotao1 opened this issue May 5, 2022 · 2 comments
Labels
PFCC Paddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfcc

Comments

@luotao1
Copy link
Contributor

luotao1 commented May 5, 2022

Roadmap

飞桨已经在多款AI硬件上全面支持训练和推理任务,并适配了80+模型在曙光C86加速卡上的运行,以及30+模型在昇腾910芯片上的运行。但曙光C86上还存在部分算子单测失败的问题,昇腾910芯片上则存在部分算子尚未适配的情况,石墨表格《PFCC-Roadmap》之 【AI硬件接入】为当前在Paddle中部分需要适配的案例,我们内部在不断地进行适配。你如果对飞桨框架+AI硬件适配感兴趣,可以参加此活动。

飞桨深度学习训练框架已经当前已经支持多款异构训练芯片,包括昆仑XPU、曙光C86加速卡、华为昇腾910NPU、和GraphCore IPU等,大家可以通过以下链接访问相应的硬件使用文档:
22fbe543a9f351a6bf991c995d08dd8a

  • 昆仑XPU芯片运行飞桨:百度昆仑AI计算处理器(Baidu KUNLUN AI Computing Processor)是百度集十年AI产业技术实践于2019年推出的全功能AI芯片。基于自主研发的先进XPU架构,为云端和边缘端的人工智能业务而设计。 百度昆仑与飞桨及其他国产软硬件强强组合,打造一个全面领先的国产化AI技术生态,部署和应用于诸多 “人工智能+“的行业领域,包括智能云和高性能计算,智慧制造、智慧城市和安防等。
  • 海光DCU芯片运行飞桨: DCU(Deep Computing Unit 深度计算器)是 海光(HYGON)推出的一款专门用于AI人工智能和深度学习的加速卡。Paddle ROCm版当前可以支持在海光CPU与DCU上进行模型训练与预测。
  • 昇腾NPU芯片运行飞桨:华为昇腾910(Ascend 910)是一款具有超高算力的AI处理器。Paddle NPU 版当前可以支持在华为鲲鹏CPU与昇腾NPU上进行模型训练与推理。
  • Graphcore IPU芯片运行飞桨:IPU是Graphcore推出的用于AI计算的专用芯片,Paddle IPU版可以支持在IPU上进行模型训练与预测。

飞桨后续会适配更多的训练芯片作为框架的硬件后端,敬请期待。

@luotao1 luotao1 added status/new-issue 新建 type/others 其他问题 labels May 5, 2022
@luotao1 luotao1 added PFCC Paddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfcc and removed status/new-issue 新建 type/others 其他问题 labels May 5, 2022
@PaddlePaddle PaddlePaddle deleted a comment from paddle-bot-old bot May 5, 2022
@luotao1
Copy link
Contributor Author

luotao1 commented May 5, 2022

曙光DCU-附录

【方向说明】

  • 技术标签:深度学习框架,C++,Python,HIP
  • 详细描述:飞桨支持在C86加速卡上运行,但是存在部分算子在C86加速卡下还无法通过算子单测。请根据单测错误提示,对算子C++文件和单测Python文件进行相应修复,在不删减单测Python文件中的单测用例的前提下,使得算子单测通过。

【参与指南】:

  • 飞桨成立了 PFCC(Paddle Framework Contributor Club),是一个有兴趣、正在、或者已经为飞桨开源框架做开源贡献的贡献者而成立的虚拟组织,在这里,飞桨开源框架的贡献者进行讨论、交流和分享,并为飞桨框架做出持续的贡献。欢迎你持续关注并加入(我们会定向邀请 Paddle repo 提交PR的开发者加入)。

  • 如果你对AI硬件接入方向感兴趣,可以在石墨表格《PFCC-Roadmap》之【报名页】填入你的 GitHub ID,之后一起讨论后续规划和分工。

【提交流程】

  • 请按 贡献指南中的描述,完成飞桨PR任务提交过程中的相关步骤。

【提交内容】

  1. 算子修复代码,在Paddle repo的 paddle/fluid/operators 目录
  2. 单测修复代码,在Paddle repo的 python/paddle/fluid/tests/unittests 目录
  3. 单测修复之后,在C86加速卡环境下的成功运行结果截图
  4. 单测修复之后,每个算子的问题定位及修复思路的简单描述(1-2句话即可)

【合入标准】

  1. 按照 贡献指南 要求提交相关算子修复的PR,并通过所有PR的CI检测
  2. PR描述中需贴入C86加速卡环境下的算子单测修复之后,成功运行的结果截图
  3. PR描述中针对每个单测需给出1-2句话关于每个单测修复的问题及解决办法

【技术要求】

  1. 熟悉Paddle框架的AI算子开发和测试
  2. 熟悉C86加速卡软件栈ROCm的开发接口
  3. 熟练掌握 C++, Python, HIP

【参考内容】

  1. 文档:曙光智算平台-Paddle源码编译和单测执行
  2. 文档:Paddle框架下C86加速卡算子单测修复指导
  3. 文档:Paddle适配C86加速卡详解

@luotao1
Copy link
Contributor Author

luotao1 commented May 5, 2022

昇腾NPU-附录

【方向说明】

  • 技术标签:深度学习框架,C++,Python,HIP
  • 详细描述:飞桨支持在昇腾NPU上运行,但是目前还存在680个Paddle算子尚未适配昇腾NPU。请参考昇腾NPU算子开发说明,进行算子开发。

【参与指南】:

  • 飞桨成立了 PFCC(Paddle Framework Contributor Club),是一个有兴趣、正在、或者已经为飞桨开源框架做开源贡献的贡献者而成立的虚拟组织,在这里,飞桨开源框架的贡献者进行讨论、交流和分享,并为飞桨框架做出持续的贡献。欢迎你持续关注并加入(我们会定向邀请 Paddle repo 提交PR的开发者加入)。

  • 如果你对AI硬件接入方向感兴趣,可以在石墨表格《PFCC-Roadmap》之【报名页】填入你的 GitHub ID,之后一起讨论后续规划和分工。

【提交流程】

  • 请按 贡献指南中的描述,完成飞桨PR任务提交过程中的相关步骤。

【提交内容】

  1. 算子开发代码,在Paddle repo的 paddle/fluid/operators 或 paddle/phi/kernels 目录
  2. 单测开发代码,在Paddle repo的 python/paddle/fluid/tests/unittests/npu 目录
  3. 算子单测在昇腾NPU环境下成功运行的截图

【合入标准】

  1. 按照 贡献指南 要求提交相关算子修复的PR,并通过所有PR的CI检测
  2. PR描述中需贴入昇腾环境下的算子和单测开发之后,成功运行的结果截图

【技术要求】

  1. 熟悉Paddle框架的AI算子开发和测试
  2. 熟悉昇腾NPU软件栈CANN的开发接口
  3. 熟练掌握 C++, Python, HIP

【参考内容】

  1. 文档:《Paddle昇腾NPU开发环境说明》
  2. 文档:《Paddle开发昇腾NPU算子说明_TBD》

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PFCC Paddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfcc
Projects
None yet
Development

No branches or pull requests

2 participants