jar*_*jar 6 ubuntu docker pytorch nvidia-docker
我正在尝试使用 NVIDIA 提供的基础映像,让我们可以通过 Docker 容器使用他们的 GPU。因为我使用的是 docker,所以我的系统上不需要安装 CUDA Toolkit 或 CuDNN。我所需要的只是合适的司机——我已经拥有了。
我可以运行官方的 pytorch docker 容器,并且容器使用我的 GPU。但是,当我使用 NVIDIA 的基础映像运行任何内容时,我会收到以下警告 -
$ docker run --gpus all -it --rm -p 8000:8000 ubuntu-cuda-gpu:latest
Run Code Online (Sandbox Code Playgroud)
/usr/local/lib/python3.8/dist-packages/torch/cuda/__init__.py:52: UserWarning: CUDA initialization: Unexpected error from cudaGetDeviceCount(). Did you run some cuda functions before calling NumCudaDevices() that might have already set an error? Error 804: forward compatibility was attempted on non supported HW (Triggered internally at /pytorch/c10/cuda/CUDAFunctions.cpp:109.)
return torch._C._cuda_getDeviceCount() > 0
Run Code Online (Sandbox Code Playgroud)
应用程序执行时,只使用CPU。但我希望能够像使用官方 pytorch docker 镜像运行相同的代码(这是一个简单的 pytorch 示例)一样使用我的 GPU。
使用的基础图像是 -
FROM nvidia/cuda:11.3.1-cudnn8-runtime-ubuntu20.04
# Setup
RUN apt update && \
apt install -y bash \
build-essential \
git \
curl \
ca-certificates \
python3 \
python3-pip && \
rm -rf /var/lib/apt/lists
# Your stuff
RUN python3 -m pip install --no-cache-dir --upgrade pip && \
python3 -m pip install --no-cache-dir \
torch \
transformers \
...
Run Code Online (Sandbox Code Playgroud)
如果我只是在没有任何机器学习代码的情况下运行图像并尝试执行 nvidia-smi,那么我得到的输出为 -
$ docker run --gpus all -it --rm -p 8000:8000 ubuntu-cuda-gpu:latest nvidia-smi
Run Code Online (Sandbox Code Playgroud)
Sat Jun 12 19:15:21 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.80 Driver Version: 460.80 CUDA Version: 11.3 |
|-------------------------------+----------------------+----------------------+
| 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 GeForce RTX 3060 Off | 00000000:01:00.0 Off | N/A |
| 0% 31C P8 9W / 170W | 14MiB / 12053MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
+-----------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
这让我相信至少有些事情是正确的。但为什么我无法使用 GPU 以及如何确保我可以使用 GPU?
我使用的是 Ubuntu 20.04。
| 归档时间: |
|
| 查看次数: |
4175 次 |
| 最近记录: |