Closed aoirint closed 1 month ago
Not working yet.
コンテナ実行時のオプションで解決しそう。
$ sudo docker pull nvcr.io/nvidia/cuda:11.8.0-devel-ubuntu22.04
11.8.0-devel-ubuntu22.04: Pulling from nvidia/cuda
Digest: sha256:94fd755736cb58979173d491504f0b573247b1745250249415b07fefc738e41f
Status: Image is up to date for nvcr.io/nvidia/cuda:11.8.0-devel-ubuntu22.04
nvcr.io/nvidia/cuda:11.8.0-devel-ubuntu22.04
$ sudo docker run --rm --gpus all -it nvcr.io/nvidia/cuda:11.8.0-devel-ubuntu22.04 bash
# find / -name 'libnvidia-encode*'
(empty output)
$ sudo docker run --rm --gpus all,capabilities=video -it nvcr.io/nvidia/cuda:11.8.0-devel-ubuntu22.04 bash
# find / -name 'libnvidia-encode*'
/usr/lib/x86_64-linux-gnu/libnvidia-encode.so.545.23.06
/usr/lib/x86_64-linux-gnu/libnvidia-encode.so.1
$ sudo docker pull nvcr.io/nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04
12.1.1-cudnn8-devel-ubuntu22.04: Pulling from nvidia/cuda
Digest: sha256:21196d81f56b48dbee70494d5f10322e1a77cc47ffe202a3bf68eab81533c20f
Status: Image is up to date for nvcr.io/nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04
nvcr.io/nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04
$ sudo docker run --rm --gpus all -it nvcr.io/nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04 bash
# find / -name 'libnvidia-encode*'
(empty output)
$ sudo docker run --rm --gpus all,capabilities=video -it nvcr.io/nvidia/cuda:12.1.1-cudnn8-devel-ubuntu22.04 bash
# find / -name 'libnvidia-encode*'
/usr/lib/x86_64-linux-gnu/libnvidia-encode.so.545.23.06
/usr/lib/x86_64-linux-gnu/libnvidia-encode.so.1
FFmpegがCUDAの機能を使う場合があるらしいから、capabilities=gpu,video
のほうがよさそう
capabilities=xxx
はgpu
の指定に追加される。capabilities=video
はgpu,video
の意味になる$ sudo docker run --rm --gpus "all,capabilities=xxx" -v ".:/a" -w /a ffmpeg:nvidia -i 2023-11-10_21-01-20_game4.mkv -c:v h264_nvenc -c:a copy -map 0 -map_metadata 0 2023-11-10_21-01-20_game4_reenc.mkv
docker: Error response from daemon: could not select device driver "" with capabilities: [[xxx gpu]].
$ sudo docker run --rm --gpus "all,capabilities=xxx,video" -v ".:/a" -w /a ffmpeg:nvidia -i 2023-11-10_21-01-20_game4.mkv -c:v h264_nvenc -c:a copy -map 0 -map_metadata 0 2023-11-10_21-01-20_game4_reenc.mkv
invalid argument "all,capabilities=xxx,video" for "--gpus" flag: count must be an integer: strconv.Atoi: parsing "video": invalid syntax
See 'docker run --help'.
closed by #39
以下で導入したと思っていたけれど、導入できていなさそう。
2
13
明示的にビルドオプションを指定する必要がありそう。