I am repurposing an old Dell Precision T7910 workstation for machine learning with CUDA on NVIDIA Titan X GPU. I did a clean install of Ubuntu 22.04 LTS followed by nvidia driver installation from Ubuntu Software & Updates -> Additional Drivers. Next, I installed the CUDA toolkit from NVIDIA.
There is another video card in this system - an AMD Radeon Pro WX 3100. I use this Radeon card for display. I don't want any display related workload on the NVIDIA Titan X.
See the nvidia-smi
command output below.
+---------------------------------------------+
| NVIDIA-SMI 520.61.05 Driver Version: 520.61.05 CUDA Version: 11.8 |
|-------------------------------+----------------------+----------------------+
| 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 ... On | 00000000:03:00.0 Off | N/A |
| 25% 30C P8 13W / 250W | 127MiB / 12288MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+---------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 19173 G /usr/lib/xorg/Xorg 3MiB |
| 0 N/A N/A 19431 C+G ...ome-remote-desktop-daemon 117MiB |
+---------------------------------------------+
Notice that there are two display related tasks running on the NVIDIA Titan X GPU - Xorg and Remote Desktop daemon. I want to move these processes from the NVIDIA GPU to the Radeon video card. Why are these process running on the NVIDIA card? And how do I go about moving them to the Radeon card?
Relevant sections of the lspci -k
output are shown below.
03:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX TITAN X] (rev a1)
Subsystem: eVga.com. Corp. GM200 [GeForce GTX TITAN X]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
04:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa XT [Radeon PRO WX 3100]
Subsystem: Hewlett-Packard Company Lexa XT [Radeon PRO WX 3100]
Kernel driver in use: amdgpu
Kernel modules: amdgpu
Below is what I found in /usr/share/X11/xorg.conf.d/10-nvidia.conf.
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection
And here are the contents of /usr/share/X11/xorg.conf.d/10-amdgpu.conf.
Section "OutputClass"
Identifier "AMDgpu"
MatchDriver "amdgpu"
Driver "amdgpu"
EndSection
There is also the I removed the ModulePath entry from 10-nvidia.conf, added it to 10-amdgpu.conf, and restarted the display manager using sudo systemctl restart display-manager
. But that resulted in a blank screen. Of course, using /usr/lib/x86_64-linux-gnu/nvidia/xorg in the 10-amdgpu.conf file is not right. So I reverted the changes to these two conf files and restarted the display-manager.
Output of dpkg -l xserver-* | grep 'nvidia\|amdgpu'
:
ii xserver-xorg-video-amdgpu 22.0.0-1ubuntu0.1 amd64 X.Org X server -- AMDGPU display driver
ii xserver-xorg-video-nvidia-520 520.61.05-0ubuntu1 amd64 NVIDIA binary Xorg driver
Any thoughts?