当前位置:   article > 正文

【Atlas 800 训练服务器(型号:9000)商用版驱动固件CANN】昇腾8*Ascend 910 安装驱动、mindspore、torch_910b驱动

910b驱动

20240516更新

我安装的版本一直不能多卡推理,让官方工作人员给我了商用版驱动固件CANN
和在昇腾官网上选择的型号后出现的都不一样
驱动固件toolkitkernels
最终双卡推理baichuan2-14B-Chat成功
在这里插入图片描述

910b对应驱动

系统内核版本:5.10.0-60.18.0.50.oe2203.aarch64(华为对centos的优化版)
新系统需要先安装依赖

yum install -y gcc gcc-c++ make cmake unzip zlib-devel libffi-devel openssl-devel pciutils net-tools sqlite-devel lapack-devel gcc-gfortran python3-devel
  • 1

在这里插入图片描述
这是官方推荐的驱动 Ascend-hdk-910b-npu-driver_23.0.rc3_linux-aarch64.run
在这里插入图片描述
重启要小心,有时候系统会崩,华为只能安装对应的内核才能安装驱动,遥遥领先
在这里插入图片描述
我无法安装,报错cmi module initialize failed. ret is -8005
这个报错网上只有两种解决方案,一个是因为内核版本问题导致,一个是驱动导致

!!!!!千万不要降低或升高内核版本!!!!!

在这里查看对应系统以及内核—昇腾内核对照表
本人已尝试过6种系统,在装系统的时候 对应好内核版本 一步到位才是最优解

昇腾驱动和固件社区资源下载中心:Ascend-hdk-910-npu-driver_23.0.rc3_linux-aarch64.run
在这里插入图片描述
所以910B不能安装910B的驱动吗?查看了合同,确定芯片是8*Ascend 910 B,但是服务器型号是A800 (Model 9000)(OEM)(通用版),在社区资源下载中心显示这个型号的服务器的确只能装910的驱动,后面910B对应的算子是无法使用的,所以很矛盾,910B的芯片只能装910的驱动,切不能使用910B的算子

官网显示的两个安装包均无法安装成功

mindspore官网:https://www.mindspore.cn/install/
在这里插入图片描述
经过排除法测试,2.2.0版本可成功安装,不会报错,遥遥领先
经过排除法测试,对应toolkit为Ascend-cann-toolkit_7.0.RC1_linux-aarch64.run

pip install mindspore==2.2.0
  • 1

在这里插入图片描述

UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero.
  setattr(self, word, getattr(machar, word).flat[0])
UserWarning: The value of the smallest subnormal for <class 'numpy.float32'> type is zero.
  setattr(self, word, getattr(machar, word).flat[0])
  • 1
  • 2
  • 3
  • 4

这两个警告不影响程序运行,但是看着也烦,解决方案就是降低numpy版本(这里必须从conda安装,不能pip安装)

conda install numpy==1.21.2 scipy==1.7.3 pandas==1.3.3
  • 1

在这里插入图片描述
这下就完全没有警告和什么杂七杂八的日志了

安装torch

pip3 install torch==2.1.0
pip install torchvision==0.16.0
wget https://gitee.com/ascend/pytorch/releases/download/v5.0.rc3-pytorch2.1.0/torch_npu-2.1.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
pip3 install torch_npu-2.1.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
pip install setuptools==41.2.0
python3 -c "import torch;import torch_npu;print(torch_npu.npu.is_available())"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

tokenizers==0.15.0,原因如下
在这里插入图片描述

混合精度apex编译时,先更新python3-devel,再指定版本

sudo yum install python3-devel
bash scripts/build.sh --python=3.9
  • 1
  • 2

再验证一下向量计算

python3 -c "import torch;import torch_npu; a = torch.randn(3, 4).npu(); print(a + a);"
  • 1

在这里插入图片描述

Warning: Device do not support double dtype now, dtype cast repalce with float.
  • 1

就算是设置

torch.set_default_dtype(torch.float32)
  • 1

也没有用,报警依然存在
这个就没办法了,openai说训练模型时精度不能损失,推理可以损失,但是可能华为觉得都可以损失

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/693723
推荐阅读
相关标签
  

闽ICP备14008679号