I just burned half a day wondering why I could run the pts/llama-cpp CUDA backend yesterday but not today. I finally noticed actual dedicated GPUs aren't listed in system-properties over SSH and software rendering is the only option given. This seems like a pretty big oversite for benchmarking if system properties aren't showing actual GPUs which are clearly listed by other means. Shouldn't GPU detection be more thorough?
In order to force detection of CUDA devices for CUDA backend I had to manually hack pts_test_run_options.php, in case anyone else needs the workaround:
sudo sed -i "759s|stripos(phodevi::read_property('gpu', 'model'), 'NVIDIA') === false|stripos(phodevi::read_property('gpu', 'model'), 'NVIDIA') === false \&\& !pts_client::executable_in_path('nvidia-smi')|" /usr/share/phoronix-test-suite/pts-core/objects/pts_test_run_options.php
sudo sed -i "765s|stripos(phodevi::read_property('gpu', 'model'), 'NVIDIA') === false|stripos(phodevi::read_property('gpu', 'model'), 'NVIDIA') === false \&\& !pts_client::executable_in_path('nvidia-smi')|" /usr/share/phoronix-test-suite/pts-core/objects/pts_test_run_options.php
Nvidia-smi is always capable of finding the devices, so I'm surprised this isn't used directly, or a variant of clinfo:
jboero@z840 ~> nvidia-smi
Sun Mar 22 16:16:30 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.126.18 Driver Version: 580.126.18 CUDA Version: 13.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 Quadro GV100 Off | 00000000:06:00.0 Off | Off |
| 40% 53C P0 46W / 250W | 132MiB / 32768MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
| 1 Quadro GV100 Off | 00000000:84:00.0 Off | Off |
| 43% 57C P0 52W / 250W | 140MiB / 32768MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+
+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 102771 G /usr/libexec/Xorg 64MiB |
| 0 N/A N/A 102861 G /usr/bin/sddm-greeter-qt6 63MiB |
| 1 N/A N/A 102771 G /usr/libexec/Xorg 64MiB |
| 1 N/A N/A 102861 G /usr/bin/sddm-greeter-qt6 63MiB |
+-----------------------------------------------------------------------------------------+
Properties improperly listing llvmpipe as display driver (this output remains the same after workaround):
jboero@z840 ~> phoronix-test-suite system-properties
....
GPU
identifier = llvmpipe
model = llvmpipe
frequency =
stock-frequency =
0 = 0
0 = 0
memory-capacity = 32768
oc-offset-string = 0
aa-level =
af-level =
compute-cores =
available-modes =
0 = 800
1 = 600
0 = 1024
1 = 768
0 = 1280
1 = 1024
0 = 1600
1 = 1200
0 = 1920
1 = 1080
0 = 1920
1 = 1200
screen-resolution =
1920 = 1920
1200 = 1200
screen-resolution-string = 1920x1200
2d-acceleration =
bar1-visible-vram = 256 MiB
vbios-version = 88.00.3b.00.0c
device-id =
I just burned half a day wondering why I could run the
pts/llama-cppCUDA backend yesterday but not today. I finally noticed actual dedicated GPUs aren't listed in system-properties over SSH and software rendering is the only option given. This seems like a pretty big oversite for benchmarking if system properties aren't showing actual GPUs which are clearly listed by other means. Shouldn't GPU detection be more thorough?In order to force detection of CUDA devices for CUDA backend I had to manually hack
pts_test_run_options.php, in case anyone else needs the workaround:Nvidia-smi is always capable of finding the devices, so I'm surprised this isn't used directly, or a variant of
clinfo:Properties improperly listing llvmpipe as display driver (this output remains the same after workaround):