TEMPTATION: Abandoning Apple 'Blessed' GPUs for faster 'Divergent' GPUs
with CUDA and OpenCL support
Originally posted Friday, August 24th, 2012, by rob-ART morgan, mad scientist
NVIDIA's GPUs support both CUDA and OpenCL. And Adobe is taking advantage of that in apps like After Effects CS6, Premiere Pro CS6, and Photoshop CS6. The temptation is now at its strongest to abandon Apple 'blessed' GPUs (like the Radeon HD 5870 and Quadro 4000) for faster 'non-standard' NVIDIA GPUs. The forums are burning up with advice on how to flash firmware and patch software to make them work. One eBay store sells 'killer' NVIDIA GPUs ready to plug into and boot up your Mac Pro.
We've done similar testing under OS X Lion but we decided to give it to you again with OS X Mountain Lion installed in our 2010 Mac Pro test mule. We wanted you to see how well the fastest 'Variant' GPUs handle pro apps that use either CUDA or OpenCL acceleration. In addition to six Mac Pro GPUs, we included the Retina MacBook Pro with its GeForce GT 650M.
AFTER EFFECTS CS6 - render 6 second ray-traced 3D animation (CUDA accelerated). The ray-traced 3D animation was provided courtesy of Juan Salvo and Danny Princz.
LOWEST number equals fastest time in seconds.
PREMIERE PRO CS6 - render blur effect (CUDA and OpenCL accelerated) on a 32 second Apple ProRes 422 (HQ) 1920x1080 23.98 fps movie.
LOWEST number equals fastest time in seconds.
PHOTOSHOP CS6 - render 500 pixel Iris Blur filter (OpenCL accelerated) on a 169MB (6096x4558) test image.
LOWEST number equals fastest time in seconds.
MOTION 5 - render RAM preview (OpenCL accelerated) on a 600 frame 1920x1080 HD template (Atmospheric).
LOWEST number equals fastest time in seconds.
GRAPH LEGEND
GTX580 = NVIDIA GeForce GTX 580 GPU (3G VRAM) **
GTX570 = NVIDIA GeForce GTX 570 GPU (2.5G VRAM) **
Q6000 = NVIDIA Quadro 6000 GPU (4G VRAM) **
Q4000 = NVIDIA Quadro 4000 GPU (2G VRAM)
R5870 = AMD Radeon HD 5870 GPU (1G VRAM)
GTX285 = NVIDIA GeForce GTX 285 GPU (1G VRAM)
GT650M = NVIDIA GeForce GT 650M GPU (1G VRAM)
The first six GPUs are installed in a 'mid 2010' Mac Pro 3.33GHz Hex-Core. The seventh comes with the 'mid 2012' Retina MacBook Pro 2.7GHz Quad-Core i7. Both Macs were running OS X Mountain Lion 10.8.1.
**The GTX 580, the GTX 570, and Quadro 6000 were loaned to us by MacVidCards.
INSIGHTS and ADVICE
The gains of the 'atypical' GPUs over 'normal' Apple GPUs depend upon the pro app and function within the pro app. For example, if you are using After Effects CS6 to render Ray-traced 3D animations, there is much to be gained by switching to a CUDA compatible NVIDIA GPU. However, if you are rendering an OpenCL effect like Iris Blur in Photoshop CS6, you won't gain any speed over a Radeon HD 5870.
Our sample apps are by no means exhaustive, but if your existing GPU is failing or has failed, you might want to give serious consideration to GPUs like the GeForce GTX 570 and 580. They are faster than the more expensive Quadro 4000 and 6000. And they provide more video memory than the Radeon HD 5870, GeForce GTX 285, and Quadro 4000 for Mac. (NOTE: To see some CUDA-Z benchmark results, go see our CUDA-Z page featuring all the NVIDIA GPUs on this page.)
FINESSE REQUIRED
The After Effects 'WhiteList" of Ray Trace 3D accelerated GPUs is incomplete. We had to edit a document in the Contents folder to add the rMBP's GT 650M, the GTX 580, and others as 'approved' or 'compatible' GPUs. Ditto for Premiere Pro's "WhiteList" of CUDA accelerated GPUs.
When it came to Photoshop CS6, any GPU with more than 2G of VRAM was rejected by OS X as non-OpenCL compatible. This is fixable by a simple two byte patch to the OpenCL document in System / Library / Frameworks / A folder.
Some of the 'non-standard' GPUs require 8 pin power connectors. This is easily addressed with a 6 pin to 8 pin adapter cable. The GTX 580 'beast' we tested required three power feeds. We met that challenge with an adapter cable that routed power from the lower optical bay to the PCIe bay.