1
DeepSeek
置顶
精华
K100/Z100L系列硬件DeepSeek部署流程
2025-02-26 14:02:48
7569

部署视频见:学习路径内页 – 光合开发者社区

1、基础配置

服务器:DCU兼容服务器,以X7840H0为例

CPU:c86-3G

DCU:DCU K100 64G / DCU Z100L 32G

OS:见DCU OS兼容手册

2、环境搭建

2.1 基础环境搭建

环境依赖 :

驱动版本:rock-5.7.1-6.2.26(6.2.18以后的版本)

docker版本:>18.01

基础环境部署 :

驱动安装:

1、安装依赖:

centos:yum install -y rpm-build gcc-c++ cmake automake elfutils-libelf-devel libdrm libdrm-devel pciutils

ubuntu:apt install -y gcc g++ cmake automake libelf-dev libdrm_amdgpu1或libdrm-amdgpu1 libtinfo5 pciutils libdrm-dev

Centos:yum install -y kernel-devel-`uname -r` kernel-modules-extra 

ubuntu:apt install -y linux-headers-`uname -r` linux-modules-extra/

2、安装驱动

安装流程

1) 下载驱动,下载地址:https://download.sourcefind.cn:65024/6/main/latest%E9%A9%B1%E5%8A%A8

2)修改驱动权限 chmod +x rock*.run

3)安装驱动

./rock*.run

4)重启下驱动服务

systemctl restart hymgr

5)如有升级vbios 需要重启服务器

docker安装:

配置docker yum源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
安装docker安装包
yum install docker-ce docker-ce-cli containerd.io
启动docker服务,设置开机自启动
systemctl enable docker
systemctl restart docker
普通用户需要添加到docker用户组中
usermod -aG docker username

2.2 Ollama环境部署

***** 该部分在 2.3 的镜像中已集成,可直接跳至 2.4 章节 *****

环境准备:

下载基础镜像:

docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-py3.10-dtk24.04.3-ubuntu20.04

创建容器:

docker run -dit --network=host --name=deepseek_test --privileged --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size=128G  --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root --ulimit stack=-1:-1 --ulimit memlock=-1:-1 -v /opt/hyhal:/opt/hyhal:ro -v `pwd`:/your_workspace  image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.1.0-py3.10-dtk24.04.3-ubuntu20.04

下载源码:

进入容器:
docker exec -it deepseek_test bash
下载源码
git clone -b 0.5.7 http://developer.sourcefind.cn/codes/OpenDAS/ollama.git
cd ollama

编译安装:

安装go 环境

wget https://golang.google.cn/dl/go1.23.4.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.23.4.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
# 修改go下载源,提升速度(按需设置)
go env -w GOPROXY=https://goproxy.cn,direct

编译

export LIBRARY_PATH=/opt/dtk/lib:$LIBRARY_PATH
make -j 16
go build .

验证

rocminfo |grep gfx   #查询当前机器的gfx参数,确定设备型号

export HSA_OVERRIDE_GFX_VERSION=设备型号(使用上一行命令的输出结果进行声明,通常来说Z100L gfx906对应9.0.6;K100 gfx926对应9.2.6;K100AI gfx928对应9.2.8,具体设备型号以当前机器的rocminfo | grep gfx的结果为准)

export HIP_VISIBLE_DEVICES=所有设备号(0,1,2,3,4,5,6,...)/选择设备号
./ollama serve  (选择可用设备,可通过上条命令输出结果查看)

2.3 llama.cpp

llama.cpp:是完全基于C/C++

实现的代码库,具有较好的跨平台兼容性,能够在多种计算设备(如CPU、英伟达GPU、AMD GPU 以及苹果芯片)上运行。此外,llama.cpp 还支持多种量化精度,范围从1.5比特到8比特不等,能够显著降低显存消耗。

使用ollama推理的时候需要将模型参数合并,这里用到llama-gguf-split,安装方式如下

方式一 直接安装

安装homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install llama.cpp

方式二 源码编译安装

apt-get update 
apt-get install build-essential cmake curl libcurl4-openssl-dev -y 
git clone https://github.com/ggerganov/llama.cpp 
cd llama.cpp
cmake -B build
cmake --build build --config Release –-target llama-gguf-split
cp ./build/bin/llama-gguf-split /usr/bin

2.4 DeepSeek 部署

2.4.1 环境准备

加载deepseek环境镜像,该镜像已集成了ollama环境(2.2步可省略)
docker load -i deepseek_r1_*.tar.gz
创建容器
docker run -dit --network=host --name=deepseek_test --privileged --device=/dev/kfd --device=/dev/dri --ipc=host --shm-size=128G  --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -u root --ulimit stack=-1:-1 --ulimit memlock=-1:-1 -v /opt/hyhal:/opt/hyhal:ro -v `pwd`:/data  deepseek_r1:latest

2.4.2 Ollama Server启动

# 进入容器,运行serve
rocminfo |grep gfx   #查询当前机器的gfx参数,确定设备型号

export HSA_OVERRIDE_GFX_VERSION=设备型号(使用上一行命令的输出结果进行声明,通常来说Z100L gfx906对应9.0.6;K100 gfx926对应9.2.6;K100AI gfx928对应9.2.8,具体设备型号以当前机器的rocminfo | grep gfx的结果为准)

export ROCR_VISIBLE_DEVICES=所有设备号(0,1,2,3,4,5,6,...)/选择设备号
cd /home/ollama
./ollama serve  (选择可用设备,可通过上条命令输出结果查看)

2.4.3 模型下载与合并

模型下载采用的是魔搭社区中的模型,里面包含了不同的量化结果的模型,地址为:https://www.modelscope.cn/models/unsloth/DeepSeek-R1-GGUF/files



下载模型
```python脚本,这边以DeepSeek-R1-UD-IQ1_M量化模型为例
from modelscope import snapshot_download

model_dir = snapshot_download(
    'unsloth/DeepSeek-R1-GGUF',
    allow_patterns=['DeepSeek-R1-UD-IQ1_M/*']  # 只下载这个目录的文件
)
print(f"模型下载目录:{model_dir}")
执行模型合并,将其合并为一个gguf文件并保存为DeepSeek-R1-UD-IQ1_S.gguf
llama-gguf-split --merge DeepSeek-R1-UD-IQ1_M-00001-of-00004.gguf DeepSeek-R1-UD-IQ1_S.gguf

2.4.4 Ollama镜像创建

另起一个窗口,创建Modelfile文件,内容如下

FROM <deepseek模型路径>/DeepSeek-R1-UD-IQ1_S.gguf
PARAMETER temperature 0.1
PARAMETER num_ctx 2048
TEMPLATE "<|User|>{{ .Prompt }}<|Assistant|>"

创建模型镜像

cd ollama
./ollama create deepseek_r1_q1 -f Modelfile地址/Modelfile
## deepseek_r1_q1为模型镜像名称

查看模型镜像

./ollama list

其他模型镜像可以通过ollama官方镜像仓库下载获得:https://ollama.com/library/deepseek-r1。

attachmentId-image.png

可以通过./ollama pull deepseek-r1:7b 类似命令获取模型镜像。

2.4.5 启动模型镜像

./ollama run deepseek_r1_q1 -–verbose
## --verbose参数帮助查看性能工具,可不加

3 附录

docker镜像名称 镜像地址
deepseek_r1_q1_K100.tar.gz 链接https://pan.baidu.com/s/1KdAE6pCLSIfYcK_OO2QqyQ 提取码:uaey
z100_deepseek_r1.tar.gz 链接:https://pan.baidu.com/s/1BJ3UhV4ApSQJ0G3Fd4GY7w?pwd=ihdq 提取码:ihdq
全部评论(56)
只看楼主
H
heizhima
24楼
8*dcu k100,DTK:26.04model:deepseek-R1-UD-IQ1_M,报错

root@gnode-dcu-01:/home/ollama# ./ollama serve
2026/05/11 10:06:18 routes.go:1187: INFO server config env="map[CUDA_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VISIBLE_DEVICES: HSA_OVERRIDE_GFX_VERSION:9.2.6 HTTPS_PROXY: HTTP_PROXY: NO_PROXY: OLLAMA_DEBUG:false OLLAMA_FLASH_ATTENTION:false OLLAMA_GPU_OVERHEAD:0 OLLAMA_HOST:http://127.0.0.1:11434 OLLAMA_INTEL_GPU:false OLLAMA_KEEP_ALIVE:5m0s OLLAMA_KV_CACHE_TYPE: OLLAMA_LLM_LIBRARY: OLLAMA_LOAD_TIMEOUT:5m0s OLLAMA_MAX_LOADED_MODELS:0 OLLAMA_MAX_QUEUE:512 OLLAMA_MODELS:/root/.ollama/models OLLAMA_MULTIUSER_CACHE:false OLLAMA_NOHISTORY:false OLLAMA_NOPRUNE:false OLLAMA_NUM_PARALLEL:0 OLLAMA_ORIGINS:[http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:* app://* file://* tauri://* vscode-webview://*] OLLAMA_SCHED_SPREAD:false ROCR_VISIBLE_DEVICES: http_proxy: https_proxy: no_proxy:]"
time=2026-05-11T10:06:18.871+08:00 level=INFO source=images.go:432 msg="total blobs: 0"
time=2026-05-11T10:06:18.872+08:00 level=INFO source=images.go:439 msg="total unused blobs removed: 0"
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env: export GIN_MODE=release
 - using code: gin.SetMode(gin.ReleaseMode)
[GIN-debug] POST /api/pull --> github.com/ollama/ollama/server.(*Server).PullHandler-fm (5 handlers)
[GIN-debug] POST /api/generate --> github.com/ollama/ollama/server.(*Server).GenerateHandler-fm (5 handlers)
[GIN-debug] POST /api/chat --> github.com/ollama/ollama/server.(*Server).ChatHandler-fm (5 handlers)
[GIN-debug] POST /api/embed --> github.com/ollama/ollama/server.(*Server).EmbedHandler-fm (5 handlers)
[GIN-debug] POST /api/embeddings --> github.com/ollama/ollama/server.(*Server).EmbeddingsHandler-fm (5 handlers)
[GIN-debug] POST /api/create --> github.com/ollama/ollama/server.(*Server).CreateHandler-fm (5 handlers)
[GIN-debug] POST /api/push --> github.com/ollama/ollama/server.(*Server).PushHandler-fm (5 handlers)
[GIN-debug] POST /api/copy --> github.com/ollama/ollama/server.(*Server).CopyHandler-fm (5 handlers)
[GIN-debug] DELETE /api/delete --> github.com/ollama/ollama/server.(*Server).DeleteHandler-fm (5 handlers)
[GIN-debug] POST /api/show --> github.com/ollama/ollama/server.(*Server).ShowHandler-fm (5 handlers)
[GIN-debug] POST /api/blobs/:digest --> github.com/ollama/ollama/server.(*Server).CreateBlobHandler-fm (5 handlers)
[GIN-debug] HEAD /api/blobs/:digest --> github.com/ollama/ollama/server.(*Server).HeadBlobHandler-fm (5 handlers)
[GIN-debug] GET /api/ps --> github.com/ollama/ollama/server.(*Server).PsHandler-fm (5 handlers)
[GIN-debug] POST /v1/chat/completions --> github.com/ollama/ollama/server.(*Server).ChatHandler-fm (6 handlers)
[GIN-debug] POST /v1/completions --> github.com/ollama/ollama/server.(*Server).GenerateHandler-fm (6 handlers)
[GIN-debug] POST /v1/embeddings --> github.com/ollama/ollama/server.(*Server).EmbedHandler-fm (6 handlers)
[GIN-debug] GET /v1/models --> github.com/ollama/ollama/server.(*Server).ListHandler-fm (6 handlers)
[GIN-debug] GET /v1/models/:model --> github.com/ollama/ollama/server.(*Server).ShowHandler-fm (6 handlers)
[GIN-debug] GET / --> github.com/ollama/ollama/server.(*Server).GenerateRoutes.func1 (5 handlers)
[GIN-debug] GET /api/tags --> github.com/ollama/ollama/server.(*Server).ListHandler-fm (5 handlers)
[GIN-debug] GET /api/version --> github.com/ollama/ollama/server.(*Server).GenerateRoutes.func2 (5 handlers)
[GIN-debug] HEAD / --> github.com/ollama/ollama/server.(*Server).GenerateRoutes.func1 (5 handlers)
[GIN-debug] HEAD /api/tags --> github.com/ollama/ollama/server.(*Server).ListHandler-fm (5 handlers)
[GIN-debug] HEAD /api/version --> github.com/ollama/ollama/server.(*Server).GenerateRoutes.func2 (5 handlers)
time=2026-05-11T10:06:18.886+08:00 level=INFO source=routes.go:1238 msg="Listening on 127.0.0.1:11434 (version 0.0.0)"
time=2026-05-11T10:06:18.892+08:00 level=INFO source=routes.go:1267 msg="Dynamic LLM libraries" runners="[rocm_avx cpu cpu_avx cpu_avx2]"
time=2026-05-11T10:06:18.892+08:00 level=INFO source=gpu.go:226 msg="looking for compatible GPUs"
time=2026-05-11T10:06:20.854+08:00 level=INFO source=gpu.go:392 msg="no compatible GPUs were discovered"
time=2026-05-11T10:06:20.854+08:00 level=INFO source=types.go:131 msg="inference compute" id=0 library=cpu variant=avx2 compute="" driver=0.0 name="" total="1007.0 GiB" available="997.4 GiB"
^Croot@gnode-dcu-01:/home/ollama#

5/11
S
suncd
23楼
我执行rocminfo |grep gfx出来的是  Name: gfx906                             
      Name: amdgcn-amd-amdhsa--gfx906:sramecc+:xnack-
  Name: gfx906                             
      Name: amdgcn-amd-amdhsa--gfx906:sramecc+:xnack-
  Name: gfx906                             
      Name: amdgcn-amd-amdhsa--gfx906:sramecc+:xnack-,怎么设置环境变量呀
1/20
童
童童
22楼
您好!这个ollama版本太低了,如何升级?自行升级的话会无法调用dcu,请您出一个新的教程吧
2025/12/12
网
网友gHKvYq
21楼
你好z100l,除了ollama还有哪些推理框架可以部署moe模型?
2025/11/20
热
热心网友
回复 @网友gHKvYq
您好,目前z100l只能推理dense模型
2025/11/24
G
ghdevadmin
20楼
:ciya:emoji
2025/7/4
网
网友Pf92uB
19楼
请问,Centos8.5,2块Z100,运行内存128G能安装那个模型
2025/5/26
C
chenxi
回复 @网友Pf92uB
可以尝试deepseek蒸馏版除70b以外的模型
2025/6/3
网
网友0KvNNt
18楼
抱歉请问哪里可以查到不同 K100 卡数目,针对不同模型大小跑的效能比较?谢谢
2025/4/29
网
网友OOIBhE
17楼

export HSA_OVERRIDE_GFX_VERSION=设备型号(使用上一行命令的输出结果进行声明,通常来说Z100L gfx906对应9.0.6;K100 gfx926对应9.2.6;K100AI gfx928对应9.2.8,具体设备型号以当前机器的rocminfo | grep gfx的结果为准)

export ROCR_VISIBLE_DEVICES=所有设备号(0,1,2,3,4,5,6,...)/选择设备号

对上面描述还有写不明白,我服务器配的是2块DCU Z100L

export HSA_OVERRIDE_GFX_VERSION=gfx906

还是

export HSA_OVERRIDE_GFX_VERSION=9.0.6

export ROCR_VISIBLE_DEVICES=设备号,这个设备号是怎么确定的,

是写成下面这样吗

export ROCR_VISIBLE_DEVICES=0,1
2025/4/24
S
suncd
回复 @网友OOIBhE
同问,知道怎么设置了吗

1/21
网
网友fjuJuB
16楼
用你的镜像安装ollama后,启动./ollama serve,卡在这一步。是啥问题?感谢
2025/4/15
网
网友xzTA1q
15楼
rocminfo 这个未找到命令是什么原因 驱动 和 docker都是正常安装好了的
2025/4/7
A
ANYA
回复 @网友xzTA1q
需要下载DTK,https://download.sourcefind.cn:65024/1/main/DTK-25.04
2025/4/8
网
网友xzTA1q
14楼
请问Kylin Linux Advanced Server release V10 (Sword) 这个系统下载哪个驱动?
2025/4/7
网
网友GxC9BN
13楼
DCU OS兼容手册在哪里????
2025/3/20
A
ANYA
回复 @网友GxC9BN
您好,大概4月份会更新最新的os兼容性手册
2025/3/24
R
Ray_Wang
回复 @网友GxC9BN
好,坐等os兼容性手册。请问目前能用的最新的rockyLinux版本就是https://download.sourcefind.cn:65024/1/main/DTK-24.04.3/Rocky9.2里的9.2版吗
2025/3/28
网
网友pZKDfT
12楼
你好,我在服务器上并没有在/opt下找到hyhal(docker run映射的目录),我执行rocm-smi和rocminfo都能看到dcu,其中/opt下有dtk-23.10,驱动应该是安装了的,为什么没有/opt/hyhal文件夹呢
2025/3/14
A
ANYA
回复 @网友pZKDfT

您使用的应该是比较旧的驱动版本,比较新版本的驱动会自动创建这个文件夹

https://download.sourcefind.cn:65024/6/main/latest%E9%A9%B1%E5%8A%A8
2025/3/15
网
网友CD8wli
11楼
请问有centos系统的z100l部署手册吗
2025/3/14
A
ANYA
回复 @网友CD8wli
只是部署环境的话,可以参考这里的手册https://download.sourcefind.cn:65024/1/main/DTK-24.04.3/Document
2025/3/14
网
网友n54oNj
10楼
你好,为什么在ollama中可以对话,但是无法用webui检测到模型,API地址用的http:localhost:11434
2025/3/8
L
liumg
回复 @网友n54oNj
建议检查下配置信息,目前能调用的
2025/3/8
G
Galahad
回复 @网友n54oNj

export OLLAMA_HOST=0.0.0.0:11434

运行ollama之前执行这个命令,放开所有IP访问试试
2025/3/14
网
网友aOkxHO
9楼
你好,请问一下,ollama启动已经设置了OLLAMA_HOST=0.0.0.0:1111,而且禁用了服务中的所有ipv6,但是启动之后还是ipv6的地址。这是为什么?
2025/3/5
L
liumg
回复 @网友aOkxHO
不影响使用吧
2025/3/6
网
网友aOkxHO
8楼

你好,跟着视频走的,最后创建ollama镜像的时候报错Error: path or modelfile are required

是什么原因,文件和路径没有问题
2025/3/3
L
liumg
回复 @网友aOkxHO
是不是这一步没有作对
2025/3/4
网
网友aOkxHO
回复 @网友aOkxHO
对的,系统找不到modelfile
2025/3/5
L
liumg
回复 @网友aOkxHO
这个文件是自己写的
2025/3/6
网
网友5Atdv5
7楼
想问一下,目前用ollama容器部署了deepseek-r1 32b模型,但是只占用了一张卡,而且还没并发就DCU占用100%了,是什么原因,是K100的卡
2025/2/27
A
ANYA
回复 @网友5Atdv5
export OLLAMA_SCHED_SPREAD=所用卡数 试试这个变量 起服务和qa前加上
2025/2/28
网
网友5Atdv5
回复 @网友5Atdv5
非常管用,感谢!
2025/3/4
网
网友Jc8plE
回复 @网友5Atdv5
解决了吗 兄弟
2025/4/13
网
网友S1YeSM
6楼
你好,请问麒麟的系统能用吗
2025/2/26
A
ANYA
回复 @网友S1YeSM
可以使用的
2025/2/26
网
网友aOkxHO
回复 @网友S1YeSM

好的,谢谢

2025/2/26
网
网友aOkxHO
回复 @网友S1YeSM
你好,不好意思,再问一下,arm的服务器能用不
2025/2/26
全部4条回复
网
网友lmhk6X
5楼
有没有离线部署教程,公司内网
2025/2/25
A
ANYA
回复 @网友lmhk6X
可以离线部署的,您直接下载网盘链接中的镜像离线包,使用docker load 指令load即可,具体参考2.4章节的步骤
2025/2/26
网
网友n54oNj
回复 @网友lmhk6X
使用您网盘中的离线包,按照操作,执行./ollama serve后,服务已起,但是为啥再输入./ollama run deepseek-r1:1.5b或./ollama list等命令,一点反映也没有?大佬可以帮解答一下吗?
2025/3/7
网
网友6f7rQI
4楼

有K100/Z100部署vllm的蒸馏模型的教程吗

2025/2/21
A
ANYA
回复 @网友6f7rQI

image.sourcefind.cn:5000/dcu/admin/base/custom:vllm0.5.0-dtk24.04.1-ubuntu20.04-py310-zk-v1

使用这个镜像在K100或者Z100L的机器上创建容器,然后使用vllm进行推理即可

https://www.sourcefind.cn/#/model-zoo/1885899210378838017 可以参考这里的流程,替换镜像地址为image.sourcefind.cn:5000/dcu/admin/base/custom:vllm0.5.0-dtk24.04.1-ubuntu20.04-py310-zk-v1 即可
2025/2/25
A
ANYA
回复 @网友6f7rQI
当前容器镜像更新,使用docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:vllm0.5.0-dtk24.04.1-ubuntu20.04-py310-20250225 可完成蒸馏模型的部署
2025/2/28
G
Galahad
回复 @网友6f7rQI
有一个问题,0.5.0的vllm没有vllm这个可执行文件,没办法直接通过vllm serve来调用模型。别的办法有吗?
2025/3/6
全部5条回复
索
索大喝旺仔
3楼
Z100L可以支持跑671的量化版本吗 需要几台机器?
2025/2/18
A
ANYA
回复 @索大喝旺仔
文档中所示的采用GGFU模式量化的671B模型是可以跑的
2025/2/18
网
网友GIoXTL
2楼
Z100L可以使用ollama多机多卡部署吗
2025/2/17
L
liumg
回复 @网友GIoXTL
目前不支持多机,多卡可以
2025/3/4
网
网友IPdREO
1楼
请问centOs可以使用吗,DCU OS兼容手册在哪里
2025/2/14
A
ANYA
回复 @网友IPdREO
近期整理出来后会发布出来,请您稍等
2025/2/17
L
liumg
回复 @网友IPdREO
支持centos
2025/3/4
没有更多内容了
--
楼主
Level.1
0 帖子
楼主热帖
暂无数据