Încerc să folosesc nvidia-container-toolkit
pentru a utiliza GPU-urile activate cu CUDA și driverele NVIDIA corespunzătoare din containerul Docker sau pentru a utiliza CUDA în interiorul containerului în orice alt mod, fără a modifica imaginea Docker descărcată.
Din nvidia-smi
Eu am:
| NVIDIA-SMI 450.156.00 Versiune driver: 450.156.00 Versiune CUDA: 11.0 |
Din nvcc --version
:
nvcc: driver de compilator NVIDIA (R) Cuda
Drepturi de autor (c) 2005-2019 NVIDIA Corporation
Construit pe Sun_Jul_28_19:07:16_PDT_2019
Instrumente de compilare Cuda, versiunea 10.1, V10.1.243
Din nvidia-container-cli --version
:
versiunea cli: 1.7.0
versiunea lib: 1.7.0
data construirii: 2021-11-30T19:53+00:00
Versiune de construcție: f37bb387ad05f6e501069d99e4135a97289faf1f
compilator de compilare: x86_64-linux-gnu-gcc-7 7.5.0
platformă de construcție: x86_64
build flags: -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 -Write-strings -Wlogical-op -Wformat=2 -Wmissing-format-attribute -Winit-self -Wshadow -Wstrict-prototypes -Wunreachable-code -Wconversion -Wsign-conversion -Wno- opțiune-avertizare-necunoscută -Wno-format-extra-args -Wno-gnu-alignof-expression -Wl,-zrelro -Wl,-znow -Wl,-zdefs -Wl,--gc-sections
Am incercat sa instalez si sa folosesc nvidia-container-toolkit
. Instalarea rulează fără probleme, dar nu pot rula docker cu --gpu toate
steag. Folosind docker run... -gpu all...
(Unde ...
sunt alte steaguri și nume de imagine) rezultă în:
docker: Răspuns de eroare de la daemon: eșuat la crearea shim: OCI runtime create failed: container_linux.go:380: pornirea containerului proces cauzat: process_linux.go:545: container init cauzat: Rularea cârligului #0:: eroare rulare hook: starea de ieșire 1, stdout: , stderr: nvidia-container-cli: eroare de montare: eroare de scriere: /sys/fs/cgroup/devices/docker/713e0b6117367c0b8edd3e0430fc022198a95527e40cdbadf27: operațiune necunoscută: necunoscută: operațiune necunoscută.
Singura soluție pe care am găsit-o a fost să fac un container de privilegii pe care încerc să-l evit.
Când încerc să evit folosirea nvidia-container-toolkit
împreună și instalează driverele manual în containerul Docker, primesc erori de nepotrivire a driverelor. Dar, chiar dacă aș rezolva asta, ar însemna să reinstalez driverele de fiecare dată când trebuie să repornesc containerul, ceea ce, bineînțeles, aș prefera să evit și eu.
Există vreo modalitate de a rezolva această problemă fără a face un container privilegiat?