Windows 版 Docker Desktop 的 GPU 支援

注意

目前 Docker Desktop 的 GPU 支援僅適用於使用 WSL2 後端的 Windows 環境。

Windows 版 Docker Desktop 支援 NVIDIA GPU 半虛擬化 (GPU-PV),允許容器存取 GPU 資源,以執行 AI、機器學習或影片處理等計算密集型工作負載。

先決條件

若要啟用 WSL 2 GPU 半虛擬化,您需要:

  • 一台配備 NVIDIA GPU 的 Windows 電腦
  • 已更新至最新版本的 Windows 10 或 Windows 11
  • 來自 NVIDIA 的最新驅動程式,需支援 WSL 2 GPU 半虛擬化
  • 最新版的 WSL 2 Linux 核心。請在命令列執行 wsl --update
  • 確保 Docker Desktop 中已開啟 WSL 2 後端

驗證 GPU 支援

若要確認 Docker 內部是否已成功存取 GPU,請執行以下命令

$ docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark

這會在 GPU 上執行一個 n-body 模擬基準測試。輸出結果將類似於

Run "nbody -benchmark [-numbodies=<numBodies>]" to measure performance.
        -fullscreen       (run n-body simulation in fullscreen mode)
        -fp64             (use double precision floating point values for simulation)
        -hostmem          (stores simulation data in host memory)
        -benchmark        (run benchmark to measure performance)
        -numbodies=<N>    (number of bodies (>= 1) to run in simulation)
        -device=<d>       (where d=0,1,2.... for the CUDA device to use)
        -numdevices=<i>   (where i=(number of CUDA devices > 0) to use for simulation)
        -compare          (compares simulation results running once on the default GPU and once on the CPU)
        -cpu              (run n-body simulation on the CPU)
        -tipsy=<file.bin> (load a tipsy model file for simulation)

> NOTE: The CUDA Samples are not meant for performance measurements. Results may vary when GPU Boost is enabled.

> Windowed mode
> Simulation data stored in video memory
> Single precision floating point simulation
> 1 Devices used for simulation
MapSMtoCores for SM 7.5 is undefined.  Default to use 64 Cores/SM
GPU Device 0: "GeForce RTX 2060 with Max-Q Design" with compute capability 7.5

> Compute 7.5 CUDA device: [GeForce RTX 2060 with Max-Q Design]
30720 bodies, total time for 10 iterations: 69.280 ms
= 136.219 billion interactions per second
= 2724.379 single-precision GFLOP/s at 20 flops per interaction

執行實際模型:透過 Ollama 使用 Llama2

使用官方 Ollama 映像檔來執行具備 GPU 加速功能的 Llama2 LLM

$ docker run --gpus=all -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

接著啟動模型

$ docker exec -it ollama ollama run llama2
© . This site is unofficial and not affiliated with Kubernetes or Docker Inc.