NVMLの初期化に失敗しました: オペレーティング システムによって GPU アクセスがブロックされました

NVMLの初期化に失敗しました: オペレーティング システムによって GPU アクセスがブロックされました

Windows 11 にインストールされた WSL2 サブシステムにインストールされた Ubuntu 22.04 内で NVIDIA ドライバーのバージョンを確認しようとしましたが、「NVML の初期化に失敗しました: GPU アクセスがオペレーティング システムによってブロックされました」というエラーが発生しました。私の目標は、RTX 2080 ti (または GTX 1060) を FreeBSD などのゲスト OS にパススルーできるようにすることです。これは実現できますか? この問題についてサポートをいただければ幸いです。

Windows 11 ホスト OS では動作します:

# nvidia-smi

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 536.40                 Driver Version: 536.40       CUDA Version: 12.2     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                     TCC/WDDM  | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce GTX 1060 3GB  WDDM  | 00000000:01:00.0  On |                  N/A |
| 57%   41C    P2              25W / 120W |    710MiB /  3072MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce RTX 2080 Ti   WDDM  | 00000000:02:00.0 Off |                  N/A |
| 31%   40C    P8              21W / 250W |     74MiB / 11264MiB |      0%              |
+_________________________________________+______________________+______________________|

Ubuntu 22.04 ゲスト OS ではそうではありません:

# nvidia-smi

Failed to initialize NVML: GPU access blocked by the operating system
Failed to properly shut down NVML: GPU access blocked by the operating system

しかし :

# nvcc -V

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Jun_13_19:16:58_PDT_2023
Cuda compilation tools, release 12.2, V12.2.91
Build cuda_12.2.r12.2/compiler.32965470_0


# python3 --version
Python 3.10.7

Ubuntu 22.04 内で、以下の手順に従って cuda-12.2 をインストールしました。

# wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin

# sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600

# wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda-repo-wsl-ubuntu-12-2-local_12.2.0-1_amd64.deb

# sudo dpkg -i cuda-repo-wsl-ubuntu-12-2-local_12.2.0-1_amd64.deb

# sudo cp /var/cuda-repo-wsl-ubuntu-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/

# sudo apt-get update

# sudo apt-get -y install nvidia-cuda-toolkit

ここからの指示:

https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_network

私のPCにはグラフィックカードが2枚あります。

NVIDIA GeForce GTX 1060 3GB
NVIDIA GeForce RTX 2080 Ti

以下に、両方の GPU について Windows 11 にインストールされている NVIDIA ドライバーのバージョンを示します。

1

以下の行も追加しました/home/marietto/.bashrc and to /root/.bashrc:

export PATH=/usr/local/cuda-12.2/bin${PATH:+:${PATH}}

そして私はやった:

# source /home/marietto/.bashrc
# source /root/.bashrc

再起動した後、他に何をすればいいのか分かりません。

背景:

Windows バージョン = Windows 11 PRO バージョン 10.0.22000.2176

WSL バージョン = 1.3.11.0

私はWSL 2を使用しています

カーネル バージョン = 6.1.38-microsoft-standard

ディストリビューションバージョン = Ubuntu 22.10

カーネルバージョン: 5.15.90.2-3

バージョン WSLg: 1.0.54

バージョン MSRDC: 1.2.4240

バージョン Direct3D: 1.608.2-61064218

バージョン DXCore: 10.0.25880.1000-230602-1350.main

関連情報