2
DeepSeek
多K100-AI卡物理机挂载1卡至容器后执行rocminfo/启动DeepSeek模型报错
2025-05-09 12:03:50
193

一台物理机上插了2张K100-AI卡,正常安装了驱动后进行如下验证

1、当把2张卡全都挂载至容器,执行rocminfo正常,可正常识别到2张卡信息,使用DCU资源也正常
nerdctl run --rm -it --network=host
--device=/dev/kfd
--device=/dev/mkfd
--device=/dev/dri/card1
--device=/dev/dri/card2
--device=/dev/dri/renderD128
--device=/dev/dri/renderD129
--shm-size=8G
--group-add=video --cap-add=SYS_PTRACE --security-opt=seccomp=unconfined
-v /opt/hyhal:/opt/hyhal
-v /sys/kernel/debug:/sys/kernel/debug
172.31.12.251:10043/zstackio/dcu/admin/base/pytorch:2.4.1-ubuntu22.04-dtk25.04-rc4-vllm0.6.6-py3.10 bash

attachmentId-image.png

2、当只挂在1张卡至容器,执行rocminfo异常,会报错:
         malloc(): invalid size (unsorted) 

nerdctl run --rm -it --network=host
--device=/dev/kfd
--device=/dev/mkfd
--device=/dev/dri/card2
--device=/dev/dri/renderD129
--shm-size=8G
--group-add=video --cap-add=SYS_PTRACE --security-opt=seccomp=unconfined
-v /opt/hyhal:/opt/hyhal
-v /sys/kernel/debug:/sys/kernel/debug
172.31.12.251:10043/zstackio/dcu/admin/base/pytorch:2.4.1-ubuntu22.04-dtk25.04-rc4-vllm0.6.6-py3.10 bash

attachmentId-image.png

此时在容器内运行算力或者跑DeepSeek模型也是报错

attachmentId-image.png

attachmentId-image.png

3、使用docker指令启动容器,且只挂在1张卡至容器,执行rocminfo异常,也是报同样的错误
docker run -it --network=host --ipc=host
--cpuset-cpus="0-3" --memory=32G --shm-size=16G
--device=/dev/kfd
--device=/dev/mkfd
--device=/dev/dri/card1
--device=/dev/dri/renderD128
-v /opt/hyhal:/opt/hyhal
-v /data/ai-models:/data/ai-models
--group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
172.31.12.251:10043/zstackio/dcu/admin/base/pytorch:2.4.1-ubuntu22.04-dtk25.04-rc4-vllm0.6.6-py3.10 /bin/bash

attachmentId-image.png

此时在容器内运行算力或者跑DeepSeek模型也是报错

attachmentId-image.png

4、docker使用镜像 image.sourcefind.cn:5000/dcu/admin/base/custom:vllm0.6.2-ubuntu22.04-dtk24.04.3-py3.10-deploy 启动容器,且只挂在1张卡至容器,也是出现同样问题
docker run -it --network=host --ipc=host
--cpuset-cpus="0-3" --memory=32G --shm-size=16G
--device=/dev/kfd
--device=/dev/mkfd
--device=/dev/dri/card1
--device=/dev/dri/renderD128
-v /opt/hyhal:/opt/hyhal
-v /data/ai-models:/data/ai-models
--group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined
image.sourcefind.cn:5000/dcu/admin/base/custom:vllm0.6.2-ubuntu22.04-dtk24.04.3-py3.10-deploy /bin/bash

attachmentId-image.png

attachmentId-image.png

attachmentId-image.png

attachmentId-image.png

5、分析  core dumped 信息,均指向容器镜像中的 /usr/lib/x86_64-linux-gnu/libc.so.6

attachmentId-image.png

请问:容器中使用K100-AI卡,是必须把物理机上的所有K100-AI卡都挂载进容器才行么?

全部评论(10)
只看楼主
W
wangs
2楼
docker pull image.sourcefind.cn:5000/dcu/admin/base/custom:vllm0.6.2-ubuntu22.04-dtk24.04.3-py3.10-deploy 用这个镜像验证测试一下,如果这个镜像验证未出错,说明是驱动版本较低造成的错误
2025/4/22
M
Min
回复 @wangs
好的,我试试,感谢回复
2025/4/22
M
Min
回复 @wangs

你好,我这边试了下这个镜像:image.sourcefind.cn:5000/dcu/admin/base/custom:vllm0.6.2-ubuntu22.04-dtk24.04.3-py3.10-deploy,也是出现一样的报错,具体如下:

docker run -it --network=host --ipc=host \

--cpuset-cpus="0-3" --memory=32G --shm-size=16G \

--device=/dev/kfd \

--device=/dev/mkfd \

--device=/dev/dri/card1 \

--device=/dev/dri/renderD128 \

-v /opt/hyhal:/opt/hyhal \

-v /data/ai-models:/data/ai-models \

--group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined \

image.sourcefind.cn:5000/dcu/admin/base/custom:vllm0.6.2-ubuntu22.04-dtk24.04.3-py3.10-deploy /bin/bash

2025/4/22
M
Min
回复 @wangs
你好,我把宿主机上的驱动版本(rock-6.3.8-V1.9.2.run)及dtk版本(DTK-25.04-Kylinv10SP3-x86_64.tar.gz)都升级到了最新,问题还是一样
2025/4/23
全部4条回复
W
wangs
1楼
docker是可以加载指定的, 试试在创建容器的时候加载 --cpuset-cpus --memory --shm-size参数
2025/4/19
M
Min
回复 @wangs

你好,感谢回复:baoquan:emoji

在上述环境中,使用docker启动容器并挂载1张DCU卡,也是存在一样的问题,如果挂载所有DCU卡时正常

docker run -it --network=host --ipc=host \

--cpuset-cpus="0-3" --memory=32G --shm-size=16G \

--device=/dev/kfd \

--device=/dev/mkfd \

--device=/dev/dri/card1 \

--device=/dev/dri/renderD128 \

-v /opt/hyhal:/opt/hyhal \

-v /data/ai-models:/data/ai-models \

--group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined \

172.31.12.251:10043/zstackio/dcu/admin/base/pytorch:2.4.1-ubuntu22.04-dtk25.04-rc4-vllm0.6.6-py3.10 /bin/bash

2025/4/21
W
wangs
回复 @wangs
我这边验证了一下,没有出现上述报错; docker启动容器并挂载1张DCU卡命令和你使用的一样; 你这边相关的环境是什么,CPU型号是什么?
2025/4/23
M
Min
回复 @wangs
你好,问题的前提是节点上有多张K100-AI卡,但是容器只挂在一张卡才会出现这个问题,如果是节点上所有卡挂在进容器是没问题
2025/4/24
全部4条回复
没有更多内容了
--
楼主
Level.1
0 帖子
楼主热帖
暂无数据