Fedora의 Docker와 Bumblebee

Fedora의 Docker와 Bumblebee

Nvidia MX150이 탑재된 노트북(Xiaomi Notebook Pro)이 있습니다. 따라서 Nvidia의 Optimus 기술을 활용합니다. 배포판으로는 Fedora 28을 사용합니다.

호박벌

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

optirun또는 .dll을 통해 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도 작동합니다.

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
  • 엔비디아-컨테이너-런타임-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

이것이 호박벌을 사용하는 목적을 무너뜨리는 것 같은 느낌

관련 정보