#pytorch
#пыторч
Вопрос:
Я целый день боролся за то, чтобы заставить факел работать на WSL2 с помощью RTX 3080.
Я установил CUDA-инструментарий версии 11.3
Запуск nvcc -V
возвращает это :
nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2021 NVIDIA Corporation Built on Sun_Mar_21_19:15:46_PDT_2021 Cuda compilation tools, release 11.3, V11.3.58 Build cuda_11.3.r11.3/compiler.29745058_0
nvidia-smi
возвращает это
Mon Nov 29 00:38:26 2021 ----------------------------------------------------------------------------- | NVIDIA-SMI 510.00 Driver Version: 510.06 CUDA Version: 11.6 | |------------------------------- ---------------------- ---------------------- | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=============================== ====================== ======================| | 0 NVIDIA GeForce ... On | 00000000:01:00.0 On | N/A | | N/A 52C P5 17W / N/A | 1082MiB / 16384MiB | N/A Default | | | | N/A | ------------------------------- ---------------------- ---------------------- ----------------------------------------------------------------------------- | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | -----------------------------------------------------------------------------
Я проверил установку инструментария с помощью blackscholes
./BlackScholes [./BlackScholes] - Starting... GPU Device 0: "Ampere" with compute capability 8.6 Initializing data... ...allocating CPU memory for options. ...allocating GPU memory for options. ...generating input data in CPU mem. ...copying input data to GPU mem. Data init done. Executing Black-Scholes GPU kernel (512 iterations)... Options count : 8000000 BlackScholesGPU() time : 0.242822 msec Effective memory bandwidth: 329.459087 GB/s Gigaoptions per second : 32.945909 BlackScholes, Throughput = 32.9459 GOptions/s, Time = 0.00024 s, Size = 8000000 options, NumDevsUsed = 1, Workgroup = 128 Reading back GPU results... Checking the results... ...running CPU calculations. Comparing the results... L1 norm: 1.741792E-07 Max absolute error: 1.192093E-05 Shutting down... ...releasing GPU memory. ...releasing CPU memory. Shutdown done. [BlackScholes] - Test Summary NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled. Test passed
И когда я пытаюсь использовать torch, он не находит никакого графического процессора. Кстати, мне пришлось установить torch==1.10.0 cu113, если я хотел использовать torch с моим RTX 3080, так как sm_ с простой версией 1.10.0 не совместимы с rtx3080.
Запущенный факел возвращает это :
gt;gt;gt; import torch gt;gt;gt; torch.version lt;module 'torch.version' from '/home/snihar/miniconda3/envs/tscbasset/lib/python3.7/site-packages/torch/version.py'gt; gt;gt;gt; torch.version.cuda '11.3' gt;gt;gt; torch.cuda.get_arch_list() [] gt;gt;gt; torch.cuda.device_count() 0 gt;gt;gt; torch.cuda.current_device() Traceback (most recent call last): File "lt;stdingt;", line 1, in lt;modulegt; File "/home/snihar/miniconda3/envs/tscbasset/lib/python3.7/site-packages/torch/cuda/__init__.py", line 479, in current_device _lazy_init() File "/home/snihar/miniconda3/envs/tscbasset/lib/python3.7/site-packages/torch/cuda/__init__.py", line 214, in _lazy_init torch._C._cuda_init() RuntimeError: No CUDA GPUs are available
Наконец, что интересно, я полностью могу запускать tensorflow-gpu на одной и той же машине.
Установил pytorch вот так : conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
Кроме того, мне удалось запустить pytorch в контейнере docker, запущенном с моей машины WSL2, с помощью этой команды :
sudo docker run --gpus all -it --rm -v /home/...:/home/... nvcr.io/nvidia/pytorch:21.11-py3.
При запуске pytorch на машине с Windows, с которой я запускаю WSL, он тоже работает. Оба возвращают [‘sm_37’, ‘sm_50’, ‘sm_60’, ‘sm_61’, ‘sm_70’, ‘sm_75’, ‘sm_80′,’ sm_86′, ‘compute_37’], в котором говорится, что библиотека совместима с rtx 3080.
Комментарии:
1. каков результат
print(torch.__version__)
? Возможно ли, что вы установили версию pytorch только для процессора?2. На самом деле, я пытался pytorch на моей среде Windows и установить pytorch с сайта с
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
возвращена этот пакет, например : pytorch 1.10.0 py3.7_cuda11.3_cudnn8.2.0_0 pytorch на моей машине Windows, я также имею 11.3 инструментарий и вот звонит get_arch_list() возвращает :['sm_37', 'sm_50', 'sm_60', 'sm_61', 'sm_70', 'sm_75', 'sm_80', 'sm_86', 'compute_37']
же на WSL2 машина возвращается пустой список