之前一直没怎么用过昇腾这套架构,今天简单试一下。首先,在一个比较新的服务器上,运行:
bash
npu-smi info
可以看到NPU型号是310P3。我想试试能否用Conda安装(在Nvidia平台上用得最多就是Conda环境了,和CUDA版本配合得很好),所以运行:
bash
conda env list
发现这台服务器已经安装了Conda,那么想通过Conda试试(就像Conda+CUDA那样):
bash
conda create -n SGLang python=3.10
(由于我主要想试试SGLang,所以对应起了这个环境的名字)
之后进入到这个虚拟环境,开始安装CANN(也不知道之前别人有没有装),参考这里:
https://www.hiascend.com/cann/download
这个页面分得比较细,包括昇腾的A3、A2、推理系列等等。如果不清楚NPU型号,可以按照页面上的提示再检查一下。然后按照页面上的步骤安装即可:
bash
#conda所在目录需有755权限
conda config --add channels https://repo.huaweicloud.com/ascend/repos/conda/
conda install ascend::cann-toolkit==8.5.0
conda install ascend::cann-310p-ops==8.5.0
这个是比较简单的,简单讲讲怎么判断是否安装好:
上面这个网页写的是这样:
软件包的默认安装路径为所在Conda虚拟环境的Ascend目录下,例如base环境为/home/miniconda3/Ascend
source /home/miniconda3/Ascend/cann/set_env.sh python3 -c "import acl;print(acl.get_soc_name())"若返回芯片型号,则安装成功
但是我用的这个操作系统比较奇葩,如果用conda env list,看到的安装目录是:
bash
SGLang * /opt/miniconda/envs/SGLang
所以这就需要我们把上面的Source命令改一下:
bash
source /opt/miniconda/envs/SGLang/Ascend/cann/set_env.sh
然后再运行:
bash
python3 -c "import acl;print(acl.get_soc_name())"
可以看到这时候系统返回:
bash
Ascend310P3
这就说明在这个conda环境下,CANN 8.5.0版本就安装好了。
先简单总结这么多,由于之前没用过,所以写得比较基础,后面准备再总结一下安装PyTorch和SGLang。也是因为发现SGLang给的网页例子里,一些新的大模型是没有310P对应的镜像的,例如这里的例子:
https://docs.sglang.io/platforms/ascend_npu_qwen3_5_examples.html
所以想试试手动是否能跑SGLang。