
私はNvidia MX150を搭載したノートブック(Xiaomi Mi Notebook 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 コンテナ ランタイム 2.0.0-1.docker18.06.1.x86_64
- nvidia-ドライバー-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 ドライバー ライブラリ 396.51-1.fc28.x86_64
- nvidia-コンテナ-ランタイム-フック-1.4.0-1.x86_64
- libnvidia-コンテナ1-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
テスト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
バンブルビーを使う意味がなくなる気がする