PaddlePaddle / Paddle

PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)
http://www.paddlepaddle.org/
Apache License 2.0
22.28k stars 5.61k forks source link

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

Open luotao1 opened 2 years ago

luotao1 commented 2 years ago

Roadmap

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

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

22fbe543a9f351a6bf991c995d08dd8a

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

luotao1 commented 2 years ago

曙光DCU-附录

【方向说明】

【参与指南】:

【提交流程】

【提交内容】

  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 commented 2 years ago

昇腾NPU-附录

【方向说明】

【参与指南】:

【提交流程】

【提交内容】

  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》]()