不是原创 ,驱动和ollama部分完全借鉴于大佬海光 DUC 环境(海光 DCU K100_AI)部署 ollama+deepseek_海光k100驱动-CSDN博客

只是小白实践记录一下方便需要的人参考。

配置:

版本:Kylin Linux Advanced Server V10 (Halberd)

内核:Linux-4.19.90-89.31.v2401.ky10.x86_64-x86_64-with-kylin-10-Halberd

CPU:32cores Hygon C86 7390 32-core Processor 64bit

内存 :256GB

硬盘容量:3.5 TiB+10.9 TiB+446.6 GiB

显卡:海光DCU K100_AI

1.环境部署

1.1 安装docker

可以参考大佬【银河麒麟服务器】银河麒麟操作系统 V10 SP3 中离线安装 Docker全指南_麒麟v10安装docker-CSDN博客

1.2 驱动安装

由于我是K100_AI,我安装的是dtk-24.04驱动,大佬文章中写了不同的DCU配对的rock和dtk,但是在海光官方社区是直接把兼容的两个打包好的,所以直接去海光的官方社区下载就可以了。

资源工具-光合开发者社区

安装驱动环境:给安装DCU驱动准备编译环境,根据自己的系统选择安装命令

centos:yum install -y rpm-build gcc-c++ cmake automake elfutils-libelf-devel libdrm libdrm-devel pciutils 
Centos:yum install -y kernel-devel-`uname -r` kernel-modules-extra
ubuntu:apt install -y gcc g++ cmake automake libelf-dev libdrm_amdgpu1或libdrm-amdgpu1 libtinfo5 pciutils libdrm-dev
ubuntu:apt install -y linux-headers-`uname -r` linux-modules-extra

1.2 DCU环境安装

拉取镜像

拉取镜像一定要注意镜像dtk的版本要跟自己的驱动版本相匹配,我的驱动是24.04,然后容器的镜像用的是sourcefind.cn:5443/dcu/admin/base/pytorch:2.5.1-ubuntu22.04-dtk25.04.2-py3.10,具体的对应版本可以参考海光 DUC 环境(海光 DCU K100_AI)部署 ollama+deepseek_k100ai显卡安装驱动-CSDN博客

在海光的官方社区可以直接选择合适的镜像复制拉取命令

光合开发者社区

docker pull harbor.sourcefind.cn:5443/dcu/admin/base/pytorch:2.5.1-ubuntu22.04-dtk25.04.2-py3.10

创建容器进行容器化部署

docker run \
--shm-size 64g \
--network=host \
--name=test \
--privileged \
--device=/dev/kfd \
--device=/dev/dri \
--group-add video \
--cap-add=SYS_PTRACE \
--security-opt seccomp=unconfined \
-v {宿主机工作目录}:/home/ \
-v /opt/hyhal:/opt/hyhal:ro \
-it {镜像 id} bash

只需要把{宿主机工作目录}换成自己的路径(就是要把你的容器的数据存到哪里),把{镜像 id}换成刚刚拉取的镜像id即可。

这样就创建好了你的容器,我的命名是test,可以起自己想要的名字,后面打开容器的时候命令要相应变化。

2.ollama安装配置

进入容器内部

docker start test
docker exec -it test bash

安装ollama0.5.7似乎需要这一步,安装项目需要的库,但是这一步如果你的镜像和你的驱动不是一个版本会没有inference文件,我的就没有,但是我尝试过如果都是24.04版本应该会有inference文件。

0.6.7版本的ollama不需要这一步

cd inference 
pip install -r requirements.txt

2.1 编译ollama

从光源Files · 0.6.7 · OpenDAS / ollama · GitLab下载ollama0.6.7

以下流程跟官网一样,我自己加一些小小的注释

下载源码

git clone -b 0.6.7 http://developer.sourcefind.cn/codes/OpenDAS/ollama.git --depth=1
cd ollama

安装go

# 下载安装go
wget wget https://golang.google.cn/dl/go1.24.1.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.24.1.linux-amd64.tar.gz

# 设置环境变量
export PATH=$PATH:/usr/local/go/bin

# 修改go下载源,提升速度(按需设置)
go env -w GOPROXY=https://goproxy.cn,direct

编译

cmake -B build
cmake --build build --parallel 16

2.2 运行ollama

#设置环境变量
export HSA_OVERRIDE_GFX_VERSION=设备型号
#(如: Z100L gfx906对应9.0.6;K100 gfx926对应9.2.6;K100AI gfx928对应9.2.8)
#我是K100AI所以 export HSA_OVERRIDE_GFX_VERSION=9.2.8

export ROCR_VISIBLE_DEVICES=所有设备号(0,1,2,3,4,5,6,...)/选择设备号
#这里我有两张显卡所以 export ROCR_VISIBLE_DEVICES=0,1

#运行ollama
go run . serve 

2.3 拉取模型

ollama运行会把这个终端顶死,这个终端不要关,新开一个终端运行

# 打开容器
docker exec -it test bash

# 进到ollama的文件夹中
cd ollama

# 由于之前的go是安装在本地目录下的,在容器中并没有go
# 如果直接go run . run qwen3:8b,拉取大模型会报错,没有go,所以再设置一次环境变量
export PATH=$PATH:/usr/local/go/bin

# 拉取ollama0.6.7适配的模型,以qwen3:8b为例
go run . run qwen3:8b

这样就会自动拉取大模型,拉取完可以直接在终端对话,可以在模型生成回答时,新开一个终端看dcu的使用率.

rocm-smi

3. 环境变量

由于之前每次打开ollama和拉取模型的时候都要先配置环境变量,我们不如直接写死

docker exec -it test bash
cd ollama

# 打开环境变量的那个文件
vim ~/.bashrc 或者 nano ~/.bashrc

# 打开之后到最下面,输入
i

#开始写入
export HSA_OVERRIDE_GFX_VERSION=9.2.8
export ROCR_VISIBLE_DEVICES=0,1
export PATH=$PATH:/usr/local/go/bin

# 按ESC,再输入
:wq

# 退出来后,输入
source ~/.bashrc
# 环境变量生效

这样以后再打开使用ollama或者大模型就不需要每次都重新配置环境变量了

以后启动只需要

docker start test
docker exec -it test bash
cd ollama
go run . run qwen3:8b

4.配置vscode和cherry studio

4.1 配置vscode

去官网https://code.visualstudio.com/,会自动识别你的系统,麒麟服务器下载.rpm版本的

# 到自己安装包下载到的目录
cd ~/下载

# 安装命令
sudo yum localinstall ./code-*.x86_64.rpm

但是在root用户下一般会启动失败,用这行命令启动

code --no-sandbox --user-data-dir=/root/vscode

安装continue插件,在continue插件的聊天框点“Select model”-“Add Chat model”

选择“ollama”connect

然后应该需要配置一个“config.yaml”文件,把里面相应的模型名称改成自己拉取的模型就可以,有几个模型就增加几个。

就可以正常在continue离线使用本地的大模型了。

4.2 配置cherry studio

去cherry studio官网Cherry Studio 官方网站 - 全能的 AI 助手找到Linux版本适合自己系统的安装包下载。

# 到安装包的目录下
cd ~/下载

# 打开cherry studio
chmod +x Cherry-Studio-1.8.4-x86_64.AppImage./Cherry-Studio-1.8.4-x86_64.AppImage --no-sandbox

到Cherry Studio 的欢迎页,不要登录CherryIN,点击“选择其他服务商”,然后选择“Ollama”。

下一步进入Ollama的配置界面。

服务地址应该是“http://localhost:11434”

api密钥留空

模型名称应该会显示你已经拉取的模型。

完成配置。

现在应该就可以在网页端使用你自己的本地大模型了。

总结

  第一次接触国产环境并部署大模型,从不知道ollama是什么东西到DCU一直无法调用,被豆包戏耍,但是学习几天后不断地尝试,最后还是成功交差,不管什么对自己来说新的东西,我相信经过认真努力的学习,最后都可以熟悉甚至熟练掌握,这次对自己后续其他任务或项目的学习来说是一个不错的实践学习经验。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐