2013 Mac Pro: Choosing the GPU (Graphics)
The 2013 Mac Pro places a huge emphasis on graphics processing units (GPUs) by using two of them, but with only a single CPU (and a limiting 4 memory slots).
There is hope that the Apple standardization of powerful GPUs in the Mac Pro might lead to deeper and better support over time for GPU acceleration by OS X software developers, but that is a promise with an uncertain payoff.
This is a machine optimized for video, scientific and other computation-intensive tasks, though some tasks of that nature require enormous data sets, and thus 128GB or 256GB of memory is highly desirable. It is an odd disconnect with the appeal of two very fast GPUs, most likely because video use is generally well served with 64GB of memory. In short, the 2013 Mac Pro is a machine designed first and foremost for video processing of HD or 4K video. It happens to be good at a lot of other things too, but clearly the emphasis is on video, in particular 4K video. And with a 64GB memory ceiling, certain high-end computing is constrained.
The GPU-centric idea is simple: for tasks that require serious number crunching, the powerful dual GPUs will hugely outperform the CPU. That approach is highly effective for specialized video processing and scientific and rendering tasks, but generally offers little if any benefit to mainstream computing tasks.
Accordingly, when deciding on a 2013 Mac Pro, the question of whether to order the Mac Pro with the D300 or D500 or D700 GPUs is entirely a question of what will be done with it. The D700 GPUs will offer marginal benefits for mainstream tasks over the D300 GPUs until and unless programs are optimized for it, and yet if the task is transcoding or rendering effects for 4K video, the D700 GPUs are a game changer. In short, only if the specific task in a specific application is GPU-optimized.
Taking the example to an extreme, there can be tasks such that a base-model 4-core Mac Pro with the high end D700 GPUs is far better than a 6/8/12 core CPU with the D300 or D500 GPUs.
Of course, a lot of video work is done that has modest number-crunching requirements, and for such users even the base D300 GPUs are fine and to call them “slow” would be silly indeed.
What about mainstream uses?
For mainstream usage, the situation is mostly about CPU choice with the 6-core Mac Pro offering an ideal middle ground for the reality of most software: two more cores than the 4-core for peak loads with well written software, and running at the same fast clock speed (via Turbo Boost) for all other tasks using only a few cores (the common case).
As of early 2014, most mainstream uses do not call upon the GPU for much useful work. But mixed-workflow environments coupled with the potential for improved software support for GPUs holds out some hope, which leads to the MPG recommendation for the best “sweet spot”:
The above recommendation will surely satisfy the vast majority of mainstream users, but in truth the 4-core model with D300 GPUs will also do so. It is really a recommendation of allowing some headroom on both GPU and CPU fronts, taking into account the reality that 8 or 12 CPU cores and the D700 GPUs are not likely to help in meaningful ways with the vast majority of mainstream uses.
The practical realities of a particular workflow can destroy any theoretical advantage of “faster” GPUs: your author’s photography work is not only not improved by GPU support, it is badly degraded: the “checkerboard flicker” when toggling layers and windows in Photoshop is so distracting that it mandates turning OpenGL support off in Photoshop (TBD if the 2013 Mac Pro fixes this). OpenGL off means GPUs are completely unused, which has proven quite satisfactory over three years of using Photoshop heavily on a 12-core Mac Pro.
Moreover, with OpenGL enabled, Photoshop actually runs a smidgen slower with GPUs enabled for many common operations (2010-2012 Westmere Mac Pro with top-end 5870 video card). And it runs much faster with GPUs for a few less common operations (e.g., Liquify and certain special effects filters). And requires OpenGL be enabled for some operations. It all depends.
It all depends
There is no “best GPU choice” answer to be had; it all depends, and that is the role of real-world tests: to show the real performance differences on specific workflow tasks.
Performance (CPU or GPU) depends on the software used, the actual tasks in that software, potential improvements to that software in the future, and whether the system is optimized to eliminate disk I/O as a bottleneck, has enough memory, etc. Moreover, a task that takes 0.7 seconds on a CPU that now takes 0.1 seconds with a GPU but is used 10 times a day—well that’s 6 seconds saved over the course of the day. Context matters too.
The real win comes from 5/10/20/60/1000 second tasks whose running time is cut by 80% or more—think video, rendering, and similar parallel computations. Few tasks qualify, but if they are your tasks, they matter a lot!
Finally, large percentage gains might accrue for only slivers of the task clock time: 10X faster for 1/10 of a task is not even noticeable in the context of the total clock time.