ncnn icon indicating copy to clipboard operation
ncnn copied to clipboard

无法在docker内部启用vulkan支持gpu。docker可以运行nvidia-smi,但不能运行vulkaninfo或运行vulkaninfo没有显示gpu支持。

Open dujifeng opened this issue 1 year ago • 2 comments

detail | 详细描述 | 詳細な説明

Dockerfile如下:

##设置继承镜像 FROM nvidia/cuda:11.6.1-devel-ubuntu20.04 ##下面开始运行更新命令 RUN apt update ##设置为非交互模式 ENV DEBIAN_FRONTEND=noninteractive ##install ncnn dependencies RUN apt install -y --fix-missing build-essential git cmake libprotobuf-dev protobuf-compiler libomp-dev libvulkan-dev vulkan-tools libopencv-dev
&& apt clean ##add vulkan package ADD vulkansdk-linux-x86_64-1.2.198.1 /workspace/ncnn/vulkansdk-linux-x86_64-1.2.198.1 ENV VULKAN_SDK=/workspace/ncnn/vulkansdk-linux-x86_64-1.2.198.1/x86_64 ENV PATH=$VULKAN_SDK/bin:$PATH ENV LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH

docker启动脚本如下:

##!/bin/bash

##宿主机上的库路径 HOST_LIB_PATH="/usr/lib/x86_64-linux-gnu"

##Docker 容器中对应的库路径 CONTAINER_LIB_PATH="/usr/lib/x86_64-linux-gnu"

##构建映射参数 VOLUME_ARGS=""

##查找所有与 Nvidia 相关的库 for file in $(find $HOST_LIB_PATH -name "libnvidia.so*"); do VOLUME_ARGS="$VOLUME_ARGS -v $file:$CONTAINER_LIB_PATH/$(basename $file)" done ##echo $VOLUME_ARGS docker run -itd --gpus all -v /home/dj/workspace/:/workspace -w /workspace --name dj_ncnn_cuda_11.6.1
$VOLUME_ARGS
-v /usr/share/vulkan/icd.d/nvidia_icd.json:/etc/vulkan/icd.d/nvidia_icd.json
-e VK_ICD_FILENAMES=/etc/vulkan/icd.d/nvidia_icd.json
ncnn_cuda:11.6.1 /bin/bash

dujifeng avatar Oct 01 '24 02:10 dujifeng

可能提到docker那边更好?

wzyforgit avatar Oct 02 '24 01:10 wzyforgit

参考 https://stackoverflow.com/questions/74965945/vulkan-is-unable-to-detect-nvidia-gpu-from-within-a-docker-container-when-using

nihui avatar Oct 16 '24 08:10 nihui