Use docker with Nvidia GPU in WSL2

GPU Support 先确认Docker Desktop的Backend使用的是WSL2,并且Windows、Nvidia驱动的版本足够,随后管理员权限终端执行wsl --update更新wsl。完成后,终端执行 docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark 如果GPU可用,则输出类似于 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 Use docker in WSL Docker Desktop的settings-resources-WSL Integration勾选"Enable intergration with my default WSL distro"以及所需的发行版,点击"Refresh",随用Windows Terminal新打开WSL发行版的终端即可。输入 docker --version > Docker version 20.10.21, build baeda1f 有版本号说明docker集成正常 Use docker with GPU in WSL 完成以上步骤后,在WSL里同样可以用docker run --gpus=all的方式在WSL的docker里启用GPU,例如: ...

2022-12-13 · Qiao