Ubuntu Linux on the Bleeding Edge: Performance on a Notebook with an Intel 12800H and an Nvidia GPU – Part 2

In the previous blog post, I’ve been taking a look if and how well Ubuntu Linux runs on a high performance notebook with a state of the art Intel 12800H processor and an Nvidia RTX A2000 8GB GPU. While it took me a bit to set up the system so it wouldn’t sporadically freeze and use the GPU, the performance compared to ‘standard’ notebooks is quite stunning.

Before we look at the values, there’s one important point: When doing day to day stuff like working on text documents, surfing the web or watching a video, there is no discernible speed difference compared to even an entry level notebook such as the Lenovo E14 Gen 4 I recently tested, which only costs a fraction of this notebook.

That being said, I was very positively surprised when I ran my personal video transcoding benchmark. My benchmark uses ffmpeg for video transcoding, which is not a synthetic benchmark, but a time intensive task I have to do every now and then. Ffmpeg can use the CPU or the GPU for the encoding and typically, the Nvidia GPU with its built-in H264 encoder is much faster than the CPU. On my 2017-ish HP Z440 workstation, transcoding a video takes 2 minutes 42 seconds on the Nvidia GPU (a Quadro M2000), and 5 minutes 54 seconds on the six Intel Xenon cores. My Lenovo X13 notebook with an AMD Ryzen 7 4750U CPU takes 6 minutes and 19 seconds for the task. So that’s my baseline.

When I ran the same transcoding task on the Dell Precision 5570 notebook with an Intel 12800H processor and an Nvidia GPU, the GPU took 3 minutes and 8 seconds to transcode the video. That is slightly slower than the 5 year old Nvidia workstation GPU. So not much has happened here. On the CPU, however, the transcoding took 2 mintues and 56 seconds. That’s more than twice as fast as on my ‘standard’ Lenovo X13 notebook and faster than the built-in hardware encoder on the Nvidia GPU. I’m baffled!

Next, I ran two ffmpeg instances in parallel, one on the CPU and one on the GPU. One thing to note is that decoding the input video happens on the CPU. The CPU finished the task in 3 minutes 18 seconds and the GPU came in after 3 minutes 26 seconds. So both are a bit slower than if the ffmpeg tasks were run sequentially, but still blazingly fast. This scenario is interesting if I have more than one video file to transcode.

Summary

My takeaway from this is that the CPU transcodes the video twice as fast as my normal notebook and if I have several videos to transcode, I can do it almost four times as fast, as I can run two tasks in parallel, one on the CPU and one on the GPU. That’s a nice speedup and in the ballpark of what I expected. Nice! What I didn’t expect was that the Nvidia H264 hardware encoder did not improve over it’s 5 year old workstation ancestor. That is a bit strange.