Fedora에서 Bumblebee를 사용하는 Docker

Fedora에서 Bumblebee를 사용하는 Docker

저는 Nvidia MX150이 탑재된 노트북(Xiaomi Mi Notebook Pro)을 가지고 있습니다. 그래서 Nvidia의 Optimus 기술을 활용하고 있습니다. 배포판으로는 Fedora 28을 사용합니다.

호박벌

그래서 저는 이 기술을 활용하기 위해 Bumblebee를 설치했습니다.

optirun또는 를 통해 glmark2를 시작할 수 있으므로 올바르게 설치되어야 합니다 primusrun. 또한 cat /proc/acpi/bbswitch출력을 실행합니다 ON. 따라서 Nvidia GPU가 실제로 실행되고 있어야 합니다.

도커

도커를 설치하려면 다음 지침을 따랐습니다.https://docs.docker.com/install/linux/docker-ce/fedora/#install-docker-ce

실행하면 docker run hello-world필요한 내용이 출력되므로 docker도 작동합니다.

엔비디아-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
  • 엔비디아-컨테이너-런타임-2.0.0-1.docker18.06.1.x86_64
  • 엔비디아-드라이버-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
  • 엔비디아-드라이버-libs-396.51-1.fc28.x86_64
  • 엔비디아-컨테이너-런타임-후크-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-컨테이너-도구-1.0.0-0.1.rc.2.x86_64

테스트 도커가 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

내가 찾은 유일한 "수정"(더 많은 해결 방법)은 nvidia 카드가 프라임 셀렉트를 통해 먼저 로드/선택되었는지 확인하는 것입니다.

sudo prime-select nvidia

호박벌을 사용하는 목적에 어긋나는 것 같은 느낌

관련 정보