tôi đang cố gắng sử dụng bộ công cụ nvidia-container
để sử dụng GPU hỗ trợ CUDA và trình điều khiển NVIDIA tương ứng từ bộ chứa Docker hoặc sử dụng CUDA bên trong bộ chứa theo bất kỳ cách nào khác mà không sửa đổi hình ảnh Docker đã tải xuống.
Từ nvidia-smi
Tôi có:
| Phiên bản Trình điều khiển NVIDIA-SMI 450.156.00: 450.156.00 Phiên bản CUDA: 11.0 |
Từ nvcc --version
:
nvcc: Trình điều khiển trình biên dịch NVIDIA (R) Cuda
Bản quyền (c) 2005-2019 Tập đoàn NVIDIA
Được xây dựng vào Sun_Jul_28_19:07:16_PDT_2019
Công cụ biên dịch Cuda, phát hành 10.1, V10.1.243
Từ nvidia-container-cli --version
:
phiên bản cli: 1.7.0
phiên bản lib: 1.7.0
ngày xây dựng: 2021-11-30T19:53+00:00
bản sửa đổi bản dựng: f37bb387ad05f6e501069d99e4135a97289faf1f
xây dựng trình biên dịch: x86_64-linux-gnu-gcc-7 7.5.0
nền tảng xây dựng: x86_64
cờ xây dựng: -D_GNU_SOURCE -D_FORTIFY_SOURCE=2 -DNDEBUG -std=gnu11 -O2 -g -fdata-sections -ffunction-sections -fstack-protector -fno-strict-aliasing -fvisibility=hidden -Wall -Wextra -Wcast-align - Wpointer-arith -Wmissing-prototypes -Wnonnull -Wwrite-strings -Wlogical-op -Wformat=2 -Wmissing-format-attribute -Winit-self -Wshadow -Wstrict-prototypes -Wunreachable-code -Wconversion -Wsign-conversion -Wno- tùy chọn cảnh báo không xác định -Wno-format-extra-args -Wno-gnu-alignof-expression -Wl,-zrelro -Wl,-znow -Wl,-zdefs -Wl,--gc-sections
Tôi đã cố gắng cài đặt và sử dụng bộ công cụ nvidia-container
. Quá trình cài đặt chạy mà không gặp sự cố nào nhưng tôi không thể chạy docker với --gpu tất cả
lá cờ. sử dụng docker chạy ... -gpu tất cả ...
(ở đâu ...
là các cờ & tên hình ảnh khác) dẫn đến:
docker: Phản hồi lỗi từ daemon: không thể tạo shim: tạo thời gian chạy OCI không thành công: container_linux.go:380: bắt đầu quá trình container gây ra: process_linux.go:545: container init gây ra: Chạy hook #0 :: lỗi chạy hook: thoát trạng thái 1, thiết bị xuất chuẩn: , thiết bị xuất chuẩn: nvidia-container-cli: lỗi gắn kết: lỗi ghi: /sys/fs/cgroup/devices/docker/713e0b6117367c0b8edd3e0430fc022198a95527e40cdbadf28fea838d6d1247/devices.allow: thao tác không được phép: không xác định.
Giải pháp duy nhất tôi tìm thấy là tạo vùng chứa đặc quyền mà tôi đang cố gắng tránh.
Khi tôi đang cố gắng tránh sử dụng bộ công cụ nvidia-container
hoàn toàn và cài đặt trình điều khiển theo cách thủ công trong bộ chứa Docker, tôi gặp lỗi trình điều khiển không khớp. Nhưng, ngay cả khi tôi đã giải quyết được điều đó, điều đó có nghĩa là tôi phải cài đặt lại trình điều khiển mỗi khi tôi phải khởi động lại vùng chứa, điều mà tất nhiên, tôi cũng muốn tránh.
Có cách nào để giải quyết vấn đề này mà không cần tạo vùng chứa đặc quyền không?