我正在尝试一些奇怪的事情。我配置了一个 slurm 集群,有 4 个计算节点。其中 2 台是运行 WSL2 的 Windows 11 计算机,我让它可以正常工作。
现在,我正在尝试向 SLURM 集群添加 GPU 支持。对于本机 ubuntu 22.04 系统的 2 个计算节点,nvidia 设备显示为 /dev/nvidia[0-3],但对于 WSL2 (Ubuntu 22.04),/dev/ 中没有任何与 GPU 通信的内容。
两台电脑上的硬件不同,但它们都运行 Windows 11,并按照此处的规定安装 Nvidia 驱动程序 537.13、WSL2 Ubuntu 22.04 和 cuda 驱动程序:英伟达网站
两台机器上 nvidia-smi 的输出:
Thu Sep 7 23:28:30 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.103 Driver Version: 537.13 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| 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 RTX 3090 On | 00000000:01:00.0 Off | N/A |
| 0% 24C P8 11W / 420W | 53MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
| 1 NVIDIA GeForce RTX 3090 On | 00000000:2E:00.0 Off | N/A |
| 0% 24C P8 14W / 420W | 0MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
| 2 NVIDIA GeForce RTX 3090 On | 00000000:41:00.0 On | N/A |
| 0% 25C P5 43W / 420W | 2753MiB / 24576MiB | 2% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
| 3 NVIDIA GeForce RTX 3090 On | 00000000:61:00.0 Off | N/A |
| 0% 25C P8 12W / 420W | 0MiB / 24576MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 22 G /Xwayland N/A |
| 0 N/A N/A 22 G /Xwayland N/A |
| 0 N/A N/A 23 G /Xwayland N/A |
| 1 N/A N/A 22 G /Xwayland N/A |
| 1 N/A N/A 22 G /Xwayland N/A |
| 1 N/A N/A 23 G /Xwayland N/A |
| 2 N/A N/A 22 G /Xwayland N/A |
| 2 N/A N/A 22 G /Xwayland N/A |
| 2 N/A N/A 23 G /Xwayland N/A |
| 3 N/A N/A 22 G /Xwayland N/A |
| 3 N/A N/A 22 G /Xwayland N/A |
| 3 N/A N/A 23 G /Xwayland N/A |
+---------------------------------------------------------------------------------------+
Thu Sep 7 23:47:19 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.103 Driver Version: 537.13 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| 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 RTX 2080 Ti On | 00000000:01:00.0 Off | N/A |
| 0% 25C P8 29W / 260W | 433MiB / 11264MiB | 1% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 23 G /Xwayland N/A |
+---------------------------------------------------------------------------------------+
两台机器ls /dev/
:
autofs fuse loop0 ptmx ram5 stderr tty19 tty32 tty46 tty6 vcs2 vcsu3
block hugepages loop1 ptp0 ram6 stdin tty2 tty33 tty47 tty60 vcs3 vcsu4
bsg hvc0 loop2 ptp_hyperv ram7 stdout tty20 tty34 tty48 tty61 vcs4 vcsu5
btrfs-control hvc1 loop3 pts ram8 tty tty21 tty35 tty49 tty62 vcs5 vcsu6
bus hvc2 loop4 ram0 ram9 tty0 tty22 tty36 tty5 tty63 vcs6 vfio
char hvc3 loop5 ram1 random tty1 tty23 tty37 tty50 tty7 vcsa vhost-net
console hvc4 loop6 ram10 rtc tty10 tty24 tty38 tty51 tty8 vcsa1 virtio-ports
core hvc5 loop7 ram11 rtc0 tty11 tty25 tty39 tty52 tty9 vcsa2 vport0p0
cpu_dma_latency hvc6 mapper ram12 sda tty12 tty26 tty4 tty53 ttyS0 vcsa3 vport0p1
cuse hvc7 mem ram13 sdb tty13 tty27 tty40 tty54 ttyS1 vcsa4 vsock
disk initctl mqueue ram14 sdc tty14 tty28 tty41 tty55 ttyS2 vcsa5 zero
dri kmsg net ram15 sg0 tty15 tty29 tty42 tty56 ttyS3 vcsa6
dxg kvm null ram2 sg1 tty16 tty3 tty43 tty57 urandom vcsu
fd log nvram ram3 sg2 tty17 tty30 tty44 tty58 vcs vcsu1
full loop-control ppp ram4 shm tty18 tty31 tty45 tty59 vcs1 vcsu2
我尝试在两个 Windows 上重新安装 cuda,并在 wsl2 中重新安装 cuda(如上所述)并谷歌搜索该问题。
我的问题是“在哪里可以像传统 ubuntu 安装上的 /dev/nvidia0 一样映射 nvidia 设备?在 SLURM 的 gres.conf 中”
答案1
显然 DGX 是 wsl Linux 服务中显卡的名称:
photoprism:
environment:
...
devices:
- "/dev/dxg:/dev/nvidia0"
...
container: host etc