Just upgraded the MacOS node on the ngscopeclient CI environment from UTM 4.x to UTM 5, which enables proper paravirtualized Vulkan in Linux guests and also adds long-overdue proper snapshotting rather than having to clone and delete VMs every time I wanted to set up an ephemeral runner.
Not much changed for the MacOS runner (other than faster provisioning time due to lack of a deep copy of the disk): this was always an apple PV GPU, finishing the 128K point FFT benchmark in the test cases in about 800 μs.
But the Debian aarch64 runner saw massive improvements, e.g. 2.2 ms to 870 us for the same benchmark.
Interestingly, the FFT test as a whole takes about 90 seconds to run on the aarch64 runner and the GPU upgrade doesn't seem to significantly impact this. I have no idea why... every other test takes <2 seconds, the CPU-side FFT takes about 1.2 ms for each of ten iterations, and the GPU-side takes ~800 μs.
Why only this test? Why only on aarch64? I don't know.
The other thing that I saw change, besides most tests seeing ~5x better performance from GPU offload rather than software emulation, is the eye pattern filter is no longer failing.
I never did root cause that issue; it seems to only affect aarch64 llvmpipe which is such a vanishingly small percentage of our userbase that I never spent time on it. It'll be easy to reconfigure the CI to keep that configuration alive if I want to, the Debian runner still has llvmpipe installed it just prefers to use virtio-venus if available.
Not much changed for the MacOS runner (other than faster provisioning time due to lack of a deep copy of the disk): this was always an apple PV GPU, finishing the 128K point FFT benchmark in the test cases in about 800 μs.
But the Debian aarch64 runner saw massive improvements, e.g. 2.2 ms to 870 us for the same benchmark.
Interestingly, the FFT test as a whole takes about 90 seconds to run on the aarch64 runner and the GPU upgrade doesn't seem to significantly impact this. I have no idea why... every other test takes <2 seconds, the CPU-side FFT takes about 1.2 ms for each of ten iterations, and the GPU-side takes ~800 μs.
Why only this test? Why only on aarch64? I don't know.
The other thing that I saw change, besides most tests seeing ~5x better performance from GPU offload rather than software emulation, is the eye pattern filter is no longer failing.
I never did root cause that issue; it seems to only affect aarch64 llvmpipe which is such a vanishingly small percentage of our userbase that I never spent time on it. It'll be easy to reconfigure the CI to keep that configuration alive if I want to, the Debian runner still has llvmpipe installed it just prefers to use virtio-venus if available.