华为 ALTAS300I model3010 AI NPU Ubuntu驱动安装指南

本文讲述了作者在项目中选择华为ATLAS300I作为测试样品的原因,介绍了早期版本与30010的区别,以及在Ubuntu系统上遇到的驱动安装问题,最后提供了解决方案和卡的初步检测方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

由于最近项目上需要用到华为的ATLAS加速卡,但是最新的300I PRO价格已经来到了7000元左右,而300Tpro与300T A2的价格更是来到了可望而不可即的五位数与六位数,于是便选择上一代版本的ATLAS300I 作为测试样品,而其二手价格虽然闲鱼上标价有高有低,但实际上2000以内就能拿下。需要注意的是,ATLAS300I model3000 以及没有标注model的型号均为早期版本,仅支持鲲鹏系列服务器,原因如下。该卡不仅需要主板本身进行PCIE拆分,同时每个AI核仅有PCIE x2 的带宽,可以说属实不够看。

而到了model3010,其卡上内置了一颗PFX的32通道pcie switch,使得该卡能在任意机器上使用,同时也增大了每个卡的总pcie吞吐能力。

系统选择

在华为官网或昇腾社区中,可以发现该驱动声称自己能支持到Ubuntu20.04的版本,但是在笔者实际安装过程中,却出现了因为内核报错而无法安装的情况(使用dkms安装)

而经过一番查找,笔者发现在华为云的昇腾计算专区中,仅有对Ubuntu16与18的支持

因此便更换为Ubuntu18.04

驱动下载

首先从昇腾专用的文件下载页面。当然,进入这个页面需要你在华为账户下面绑定该设备,如果从咸鱼购买的设备后部并无任何SN信息标签,那么恭喜你,得去找人买了

Ascend HDK 系列 昇腾计算23.0.3 软件补丁下载 - 华为

进入该页面后,选择对应的设备型号,这里是A300-3010,根据自己机器架构选择aarch64还是x86

然后来到下载页面,建议下载最新的驱动版本(软件兼容性更好),并选择.run后缀的(便于安装删除)

下载下来后,将文件传输到设备端即可

驱动安装

首先,新安装完系统,要做的就是将对应的开发工具与apt源进行下载与更新,本次驱动安装需要用到的是gcc,make,ifconfig(net-tools)与dkms。以下代码请挨个执行,无报错后即可进行下一步

sudo apt update
sudo apt upgrade
sudo apt install gcc
sudo apt install make
sudo apt install dkms
sudo apt install net-tools

安装好后,给该run文件赋予权限,华为官方文档中称该文件至少需要775以上的权限,这里直接+x即可

sudo chmod +x xxx.run

然后进入root

su root

根据官方文档,该run文件执行后缀有一定的复杂性,这里仅采用最简便的方法,即安装到默认路径,开放权限给所有用户

./xxx.run --full --install-username=root --install-usergroup=root --install-for-all

而后,如果没有报错的话,输入

npu-smi info

即可出现下图所示的界面,即为安装成功

简单测试卡的好坏

在系统中输入lspci,其中出现了PFX PM8532与HUAWEI Device D100则可以初步认为卡工作正常

### 华为Atlas平台上的DeepSeek模型部署 #### 准备工作 为了在华为Atlas平台上成功部署DeepSeek模型,需先完成必要的准备工作。这包括获取硬件支持以及软件环境配置。确保所使用的Atlas设备已连接至网络并能访问所需资源。 #### 软件安装与环境搭建 按照官方文档指示,在目标机器上安装Ascend Toolkit SDK及相关依赖库[^1]。此过程涉及设置Python虚拟环境、pip工具以及其他可能必需的组件。对于具体版本的选择,请参照项目仓库中的README文件说明来匹配兼容性要求。 #### 下载预训练模型权重 前往ModelScope网站下载适用于DeepSeek系列的大规模语言模型参数文件,例如`DeepSeek-R1-Distill-Qwen-32B`等变体。注意选择适合当前计算架构优化过的二进制格式以提高运行效率[^3]。 #### 配置推理服务接口 编写或调整现有的API脚本来加载上述获得的模型实例,并定义好输入输出的数据结构形式以便后续调用测试。可以考虑利用Flask框架快速构建RESTful Web Service端点实现在线预测功能。 ```python from transformers import AutoTokenizer, AutoModelForCausalLM import torch tokenizer = AutoTokenizer.from_pretrained("path/to/model") model = AutoModelForCausalLM.from_pretrained("path/to/model") @app.route('/predict', methods=['POST']) def predict(): input_text = request.json['text'] inputs = tokenizer(input_text, return_tensors="pt").to('cuda') outputs = model.generate(**inputs) result = tokenizer.decode(outputs[0], skip_special_tokens=True) return jsonify({"response":result}) ``` #### 性能监测与优化 引入Prometheus作为外部度量收集器用于跟踪NPU内存占用情况和数据处理速度变化趋势。依据实际应用场景需求适时调整批大小(batch size)或其他超参设定从而达到最佳性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

aosudh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值