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

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

在这里插入图片描述
这是官方推荐的驱动 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

在这里插入图片描述

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

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

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

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

安装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())"

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

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

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

再验证一下向量计算

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

在这里插入图片描述

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

就算是设置

torch.set_default_dtype(torch.float32)

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

  • 32
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值