自有AI芯片接入AI框架Pytorch的方案
现在AI框架主要用Pytorch,包括一些常用的库对Pytorch支持都较好,国产AI芯片很多也对AI框架Pytorch进行了支持
一、华为昇腾npu
能够跟上Pytorch的更新,直接和Pytorch兼容,而且有较多人来维护,代码风格不错,之前是通过注入Pytorch预留的的xla
搞的接入,Pytorch 2.1起被官方接收了。这个代码非常推荐,笔者用他的框架实现了自有GPGPU芯片手写数字识别的训练,2023.8跑路了,靠只接入算子是能跑的,但是不做fuse效率很差。
二、寒武纪mlu
这个版本很老,他们是通过docker为客户提供运行环境的,pytorch_patches文件夹表明他们需要修改Pytorch源代码
三、谷歌tpu
Pytorch 给他留了接口,甚至aten中也有为了支持他的某些feature的源码,tpu也算DSA的引领者
四、OpenCL 实现
一个老哥在孜孜不倦得推动OpenCL在Pytorch的适配,他还一直在维护,可惜OpenCL都要无了(
五、摩尔线程 MTT
2024.1更新 当时团队找错了,正确的是MooreThreads,发布会的时候应该还没公开,2023年6月底放上来的,接入方式和寒武纪差不多的
不知道他开源在哪里了,github团队是空的,可能合作商能从他官网拿到?他说自己开源了, 2023夏季发布会
六、Inductor backend
Pytorch2.0 提供的新的接入方式,官方文档,Triton就是这样的,你就可以省掉些算子开发,不过从MLIR还要再接你的编译器后端,但是他能快速跑完流程。nvFuser就被Triton替代了,Triton很稳。
七、独树一帜支持国产框架 PaddlePaddle
PaddlePaddle还是有不少国产芯片提供了支持的,不过要谨防PaddleNLP
和Paddle
版本间的不匹配问题。但是『飞桨』自定义硬件接入实现 还是比较nice的
八、其他
沐曦是有的,看到这个pr里提到了,应该也是给的docker
天数智芯iluvatar 也有自己维护的库,不过找不到他们的源码
昆仑芯 有适配,疑似源码,只是克隆了过来
壁仞Github团队 团队有的,不过没有pytorch源码
燧原Github团队 团队有的,没有pytorch源码,但是他们用EnflameGCU对飞桨进行了支持。torch_gcu 已经有了,疑似源码
本文来自博客园,作者:暴力都不会的蒟蒻,转载请注明原文链接:https://www.cnblogs.com/BobHuang/p/17879241.html