Paddle 【PFCC-Roadmap】AI硬件接入

6psbrbz9  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(79)

Roadmap

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

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

  • 昆仑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上进行模型训练与预测。

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

1dkrff03

1dkrff031#

曙光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加速卡详解
brgchamk

brgchamk2#

昇腾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》

相关问题