我有一台配备 Nvidia MX150 的笔记本电脑(小米笔记本 Pro)。因此它利用了 Nvidia 的 Optimus 技术。作为发行版,我使用 Fedora 28。
熊蜂
因此我安装了 Bumblebee 来利用这项技术。
它应该正确安装,因为我可以通过optirun
或启动 glmark2 primusrun
。还运行cat /proc/acpi/bbswitch
输出ON
。所以 Nvidia GPU 确实应该正在运行。
码头工人
要安装 docker,我按照以下说明进行操作https://docs.docker.com/install/linux/docker-ce/fedora/#install-docker-ce
运行docker run hello-world
会输出它应该输出的内容,因此 docker 也可以工作。
Nvidia-docker2
我使用以下命令在 Fedora 上安装了 nvidia-docker2:
curl -s -L https://nvidia.github.io/nvidia-docker/centos7/nvidia-docker.repo | \
sudo tee /etc/yum.repos.d/nvidia-docker.repo
sudo dnf install nvidia-docker2
sudo pkill -SIGHUP dockerd
安装的 nvidia 软件包
要检查安装了哪些 nvidia 软件包,我运行以下命令:
rpm -qa '*nvidia*'
- 输出:akmod-nvidia-396.51-1.fc28.x86_64
- nvidia-container-runtime-2.0.0-1.docker18.06.1.x86_64
- nvidia-driver-396.51-1.fc28.x86_64
- kmod-nvidia-4.17.9-200.fc28.x86_64-396.45-1.fc28.x86_64
- kmod-nvidia-4.17.14-202.fc28.x86_64-396.51-1.fc28.x86_64
- nvidia-docker2-2.0.3-1.docker18.06.1.ce.noarch
- nvidia-driver-libs-396.51-1.fc28.x86_64
- nvidia-container-runtime-hook-1.4.0-1.x86_64
- libnvidia-container1-1.0.0-0.1.rc.2.x86_64
- kmod-nvidia-4.17.12-200.fc28.x86_64-396.45-1.fc28.x86_64
- libnvidia-container-tools-1.0.0-0.1.rc.2.x86_64
测试 docker 正在使用 Nvidia GPU 运行
不幸的是,docker 目前无法与 Nvidia GPU 一起运行:
optirun docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
我收到此错误:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"process_linux.go:385: running prestart hook 1 caused \\\"error running hook: exit status 1, stdout: , stderr: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig --device=all --compute --utility --require=cuda>=9.0 --pid=26115 /var/lib/docker/overlay2/c00aa7855e42deee545cb07531a571538e0d051d38f45e36584a1c850dd47680/merged]\\\\nnvidia-container-cli: initialization error: driver error: failed to process request\\\\n\\\"\"": unknown.
我缺少什么?
目前,我不知道错误在哪里。我猜这可能是版本的问题CUDA
。
答案1
我发现的唯一“修复”(更多的是解决方法)是确保首先通过 prime-select 加载/选择 nvidia 卡:
sudo prime-select nvidia
感觉这违背了使用大黄蜂的目的