다음 동작은 과거에는 일반적이지 않았습니다. Ubuntu 18.04 시스템에는 두 개의 GPU가 있습니다. 하나는 듀얼 모니터 디스플레이용이고 다른 하나는 GPU 컴퓨팅용입니다. 시작할 때 컴퓨팅 GPU에서 프로세스를 볼 수 없습니다. 최근에 두 개의 GPU 각각에서 2개씩 여러 Xorg 프로세스가 실행되는 것을 발견했습니다. 또한 gnome-shell이 두 개의 프로세스를 실행하는 것을 볼 수 있습니다. 이것이 문제입니까? 어떻게 해결하나요?
(컴퓨팅 GPU를 일시정지한 후 계산에 사용할 수 없는 이유를 이해하기 위해 조사 중입니다.)
$ nvidia-smi
Tue Aug 18 11:05:47 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.51.06 Driver Version: 450.51.06 CUDA Version: 11.0 |
|-------------------------------+----------------------+----------------------+
| 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 TITAN RTX On | 00000000:1A:00.0 Off | N/A |
| 41% 34C P8 10W / 280W | 11MiB / 24220MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
| 1 GeForce RTX 207... On | 00000000:68:00.0 On | N/A |
| 22% 40C P5 15W / 215W | 811MiB / 7979MiB | 1% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 2038 G /usr/lib/xorg/Xorg 4MiB |
| 0 N/A N/A 5566 G /usr/lib/xorg/Xorg 4MiB |
| 1 N/A N/A 2038 G /usr/lib/xorg/Xorg 73MiB |
| 1 N/A N/A 2078 G /usr/bin/gnome-shell 178MiB |
| 1 N/A N/A 5566 G /usr/lib/xorg/Xorg 481MiB |
| 1 N/A N/A 5740 G /usr/bin/gnome-shell 33MiB |
| 1 N/A N/A 23000 G ...AAAAAAAAA= --shared-files 41MiB |
+-----------------------------------------------------------------------------+
답변1
비슷한 문제인 우분투 20.04, 두 개의 GPU, Tesla 및 GTX 카드가 있었는데, 아마도 모든 GPU 구성에서 작동한다고 생각하고 비디오 출력에 GTX GPU를 사용하고 Tesla GPU를 CUDA 전용으로 사용하려고 했기 때문에 관련이 없을 것입니다. 여러 가지 접근 방식을 시도했으며 nvidia xorg 문서를 확인하는 것이 좋습니다(https://download.nvidia.com/XFree86/Linux-x86_64/460.67/README/xconfigoptions.html) 및 xorg 문서(https://manpages.debian.org/jessie/xserver-xorg-core/xorg.conf.5.en.html) 그들의 목적을 이해하십시오.
내 제안은첫 번째이 nvidia-xconfig
도구를 사용하여 기본 xorg.conf 파일(예: sudo nvidia-xconfig -a
)을 생성한 후 다음과 같이 수정/편집합니다.
일부 관련 변경 사항:
Section "ServerLayout"
(...)
Option "AutoAddGPU" "false"
EndSection
옵션 "AutoAddGPU" "boolean" 이 옵션을 비활성화하면 udev 백엔드에서 GPU 장치가 추가되지 않습니다. 기본적으로 활성화되어 있습니다. (Xinerama를 설정하려면 비활성화해야 할 수도 있습니다).
두 카드 모두에서 찾은 PCI ID를 사용하면 lspci
내 경우 Tesla는 9.0.0이고 GTX는 5.0.0이므로 사용해야 합니다.당신의 신분증귀하의 사용 사례에는 내 것을 사용하지 마십시오! 그런 다음 다음과 같이 각 카드에 대한 항목을 만들었습니다.
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Tesla"
BusID "PCI:9:0:0"
Option "Accel" "false"
Option "ProbeAllGpus" "false"
Option "NoLogo" "true"
Option "UseEDID" "false"
Option "UseDisplayDevice" "none"
Option "MultiGPU" "false"
EndSection
옵션 "ProbeAllGpus" "boolean" 이 옵션을 비활성화하면 Nvidia를 통한 설정 구성에 영향을 미칠 수 있습니다. X 드라이버는 현재 사용되지 않는 GPU나 이에 연결된 디스플레이 장치에 대해 알지 못하기 때문입니다.
또한 "UseDisplayDevice" 옵션에 특수 값 "none"을 지정할 수 있습니다. 이 값이 주어지면 디스플레이 하드웨어의 모든 프로그래밍이 비활성화됩니다. NVIDIA 드라이버는 이 X 화면에 대해 모드 확인이나 모드 설정을 수행하지 않습니다. 이는 CUDA와 함께 사용하기 위한 것입니다.
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GTX"
BusID "PCI:5:0:0"
EndSection
그런 다음 "화면" 섹션에서 "Device1"을 비디오 출력으로 사용하려는 카드로 사용하세요. 예:
Section "Screen"
Identifier "Screen0"
Device "Device1"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
제 경우에는 GTX 카드에 다중 모니터 설정을 연결했기 때문에 그보다 조금 더 복잡하지만 좋은 출발점이 될 것입니다.
여전히 문제가 있으며 이 구성을 사용하여 일시 중지/재개를 디버깅하려고 합니다.