AMD Radeon RX 5700 XT on iMac Pro: Don't do it (yet)!
With an eGPU, you can increase the graphics performance of your system - ideally. The test with the RX 5700 XT and a 2017 iMac Pro shows that this doesn't always work as desired.
If your iMac Pro is getting on in years, you have no choice but to upgrade to a new model. Theoretically, it is possible to upgrade a 2017 iMac Pro with a faster processor and more RAM, but this involves a lot of effort and if you do it yourself, the warranty will be void. And anyway: the graphics card is soldered and cannot be replaced.
Apple has therefore officially supported eGPUs since macOS High Sierra 10.13.4. These are graphics cards that you pack into an external housing and connect to your Mac via Thunderbolt 3.
The test setup
Since macOS Catalina (10.15), the Radeon RX 5700 XT is also officially supported. Thanks to this card, AMD is once again competitive with Nvidia in the mid-range performance class for the first time in years. As Apple does not officially support Nvidia cards, the 5700 XT should be able to conjure up the best possible graphics performance from Apple devices. Together with my colleague Armin, Video Editor at Digitec Galaxus, I want to find out what this means in figures.
We plug the Sapphire Pulse Radeon RX 5700 into the Sapphire GearBox and connect the whole thing to the iMac Pro, which Armin needs for editing. For the first tests, we use macOS Catalina version 10.15.2.
Disillusionment in Premiere Pro CC
The eGPU is connected quickly: Simply connect it to the iMac Pro via Thunderbolt, switch it on and the card is automatically recognised by the Mac. Now we just need to activate the "Prefer External GPU" option in the app information of Premiere Pro CC 2020 (version: 14.0.1). Incidentally, Premiere runs with OpenCL, as Armin does not have good experiences with Metal.
Armin now benefits from the performance of the 5700 XT - at least in theory. Compared to the internal Vega 56, the card should deliver up to 30 per cent more performance, depending on the application. Before we run a benchmark, Armin works with the eGPU enabled for a week. His interim conclusion:
How good is Armin's assessment? We install the PugetBench for Premiere Pro from Puget Systems. The benchmark calculates the score relative to the existing frame rate of the test videos. If the test video has an FPS of 29.97 and the system renders it at 29.97 FPS, this means 100 points. If it is only 14.98 FPS, 50 points are awarded.
The benchmark runs media in the formats 4K H.264 with 150 Mbps in 8 bit (59.94 FPS), 4K ProRes 422 16 bit (59.94 FPS) and 4K RED (59.94 FPS). He tested live playback in Adobe Premiere Pro and the export. A value of 100 is the maximum for live playback, as Premiere cannot play back the media faster than specified. For export, on the other hand, over 100 points are feasible, as rendering is not limited to the FPS of the media.
In addition, ten ProRes 422 clips are provided with effects that place a heavy load on the graphics card. Puget Systems calls this 4K Heavy GPU Effects. These clips are then played back in Premiere and exported.
We run the benchmark twice. Once with the eGPU activated and once with it deactivated. The results are sobering: the overall score with the 5700 XT enabled is 142 points lower than with the eGPU disabled. A bit embarrassing for Armin: In Live Playback, the 5700 XT is far behind the Vega 56, with scores between 25 and 75 per cent worse with eGPU enabled. The difference in the Heavy GPU Effects in Live Playback is not quite as great. Here it is only seven per cent. On the other hand, the 5700 XT is faster when exporting the Heavy GPU Effects: 16 per cent more performance.
Troubleshooting with Geekbench 5
These results make Armin and me suspicious. Nothing about up to 30 per cent more performance. The opposite is the case. What could be the reason? Let's take a closer look at the results. Both cards, the Radeon Pro Vega 56 and Radeon RX 5700 XT, are listed under GPU in the system information of the benchmark. Is it possible that both cards are active despite the eGPU being favoured and are therefore in conflict with each other?
To test this, we run the OpenCL benchmark from Geekbench 5, and here too: Armin's iMac Pro performs better with Vega 56 than with the 5700 XT eGPU. 56,492 points with the Vega 56 compared to 45,590 points with the 5700 XT. A look at the system information shows: Something can't be right. Instead of 1670 MHz clock, a maximum clock frequency of 875 MHz is shown. Armin and I suspect that the card is not being recognised correctly by macOS, even though Apple officially supports the card.
The update from macOS version 10.15.2 to 10.15.3 is imminent. Maybe the update will fix our problem? We decide to wait a few days and try again.
It gets even worse
After the update, we run the Geekbench 5 OpenCL benchmark again. The Vega 56's result is even better: 58,641 points correspond to a performance increase of around four per cent. The 5700 XT, on the other hand, goes in the other direction: 43,539 points correspond to around four and a half per cent less performance. The card is still listed with a clock frequency of 875 MHz instead of 1670 MHz. However, the Activity Monitor shows that it is fully utilised.
Armin and I ponder what could be the reason for the 5700 XT's poor performance. As we have made all the settings correctly and checked them several times, we see the only reason in the driver information. Or is the 5700 XT even worse in OpenCL than the Vega 56?
A look at various reviews on the compute performance of the 5700 XT shows that AMD's OpenCL drivers appear to be poorly optimised - at least at the time of the reviews six months ago. In the benchmarks from Anandtech, the 5700 XT performs worse than the Vega 56 across the board. SiSoftware also comes to a similar conclusion. The portal does not recommend the RX 5700 XT for compute tasks - you would be better off with a Vega 56 or 64. At least until AMD optimises the drivers for OpenCL.
Open questions remain
And the 875 MHz instead of 1670 MHz reported by Geekbench 5? I ask Apple about it. The answer:
The list that Apple sent me in the attachment confirms this statement. The gearbox and graphics card were provided to me by Sapphire for testing. Why would they give me something to test that isn't compatible with each other? I'll ask Sapphire about it.
While I wait for an answer, I connect the Gearbox to the Huawei MateBook X Pro with Thunderbolt 3. Let's see if Geekbench 5 under Windows 10 correctly outputs the clock frequency of the graphics card. Indeed: The maximum clock frequency is 1.81 GHz. The result is also better: I achieve between 55,629 and 66,219 points. This puts the RX 5700 XT in the same range as the Vega 56 and even beats it. That's what I would expect from a graphics card that is two years newer.
So is it macOS after all? The answer from Sapphire suggests that it is:
In addition, the person responsible at Sapphire suspects what Armin and I already suspect: Certain cards calculate certain things differently. For example, the Vega 56 is faster in certain applications than the Vega 64 - the top model of the graphics card generation at the time. In the reviews I studied, the Vega 56 performed better in OpenCL than the RX 5700 XT.
With this information, I asked Apple again. An answer is still pending. As soon as I have it, I'll post it here.
Radeon RX 5700 XT: Don't do it (yet)
If you have an iMac with Vega 56, like my colleague Armin, you're (still) better off with it. The Radeon RX 5700 XT doesn't perform much better than the Vega 56 in the OpenCL benchmark under Windows either. If the card runs optimally under macOS at some point, you won't benefit from any significant increase in performance in Premiere under OpenCL compared to the Vega 56. For other tasks, however, the Radeon RX 5700 XT is much more powerful, which means that a switch will still be justified at some point.
For the time being, however, we'll have to wait and see what Apple has to say.
From big data to big brother, Cyborgs to Sci-Fi. All aspects of technology and society fascinate me.