Perhaps one of the biggest surprises during the recent sneak-peek of the new Mac Pro was the inclusion of AMD FirePro GPUs. While at first it might look like Apple again showing the middle finger to all CUDA users, and perhaps to Adobe or BlackMagic, “it ain’t necessarily so”.
Personally, I always liked AMD and ATI for their affordability, power saving, and sensible performance. Even though they usually lagged a bit behind nVidia and Intel, it was good to have competition which would keep the big players in check. In fact, the Pentium 4 fiasco was the moment when I really hoped that AMD will become the leading player in the CPU game. I have this personal love of underdogs. Alas, it was not meant to be.
The trouble began when Adobe started to use nVidia’s CUDA technology for acceleration, and when the performance of Intel’s new iCore series left AMD far behind. Essentially, if one wanted to use Adobe software, the choice was completely gone. It was Intel CPU and some kind of CUDA GPU. Adobe officially pushed heavily for Quadro solutions, which were way overpriced, and in terms of performance always behind the latest GTX series. Personally, I never bought into Quadro hype, because the benefits were not there.
On the other hand, Apple stuck to ATI cards, giving the users very limited offer, if they wanted to profit from CUDA. It was GT8800, GTX 285, or Quadro 4000. All terribly outdated or pricy. Now, this could really have been considered the middle finger to Adobe, considering FCP and Motion as competing products, and we know that Adobe engineers were not happy about the turn of events. Of course, it was also Apple’s way of promoting their own standard – OpenCL – which came about partly as the competition to nVidia’s CUDA. So the situation was a bit complicated, especially for Mac users.
Granted, nVidia was collaborating with Apple, AMD, IBM, and Intel on OpenCL since its inception, as part of the Khronos Group. Therefore the support for OpenCL soon became a standard for nVidia GPUs. Also, while CUDA is proprietary and optimized for Fermi/Kepler architecture and performance, OpenCL is open, and able to utilize any device, which can support its extensions. In OpenCL even CPUs can be put to work using the same code that programs GPUs. Of course, while there are only 4 to 12 cores in a single CPU, as compared to about a thousand in a decent GPU, the CPU input tends to be neglible, but it is there. The performance on equal hardware lagged until very recently, but last year OpenCL bridged the gap, and the two seem to operate on the parity level now.
Besides, Adobe has supported OpenCL in Premiere since CS6. BlackMagic claims that Resolve 10 will also have OpenCL support, and they seem to be pretty happy about it. The end user should not experience any problems, perhaps with the sole exception of the Ray-traced 3D engine in After Effects, which requires CUDA for accelerated processing. But this will most likely change in some future version as well.
I should indeed be cheering for OpenCL for having finally taken off. After all, it’s superior to CUDA in all but performance, and Adobe users should in fact be happy that the new, open, and less expensive alternative to nVidia/CUDA has been created. Especially if you consider that the hardware is not equal, and the recent AMD W-series GPU cards seem to fare pretty well against its Quadro equivalents. I might consider it myself in my future upgrades. My lack of enthusiasm stems perhaps from the fact that I wanted to add GPU acceleration to my plug-ins, and invested a bit in researching the CUDA engine, and not OpenCL.
After giving it some thought I agree with Philip Hodgetts, that there is no point in panicking, and that CUDA is the solution that will either go away in the future, or be relegated to some obscure niche in certain specialized applications. OpenCL is indeed the future. So at least in this regard the Apple’s bet is absolutely spot on.
And the new Mac Pro? Well… it’s a completely different story.