Mac OS Sierra and GPU Rendering

Now that it is release day, how does Sierra handle GPU rendering using Fractal Architect 4 ?

Fractal Architect is a hard core test for GPU compute drivers and seems to the best test tool available for GPU vendors to evaluate the quality of their driver/runtime APIs.

We tested with 5 different Mac configurations, and this is what we found (over 100 different Mac configurations have been released by Apple that have Metal/OpenCL compatible GPUs).

Evaluating Sierra Before Updating to It

You should evaluate Sierra with your favorite apps before committing to a full upgrade.

Doing a full Time Machine backup before doing a full upgrade is a very good idea. There is no easy way back to El Capitan, once you have committed to a full upgrade

You can install Sierra on to an external hard drive and then boot off that external hard drive to try it out. I recommend using a Samsung T3 Portable Flash SSD drive because of its great performance. Traditional external hard drives can be painfully slow.

Metal Rendering

Metal rendering on recent Intel GPUs works very well. Render speed on Intel Iris Pro close to that of AMD GPU on 2015 Macbook Pro.

2013 and earlier Intel GPUs have a compile problem  on Sierra, but not on El Capitan. 

If you only have a Intel GPU in your Mac, you will want to evaluate Sierra first (before upgrading to it), to see if your Intel GPU is compatible with Metal rendering

Metal rendering on AMD GPUs is much faster on Sierra than El Capitan.

Metal rendering on older 2012 Nvidia GPU works. Other years Nvidia GPUs were not tested.

OpenCL Rendering

OpenCL on older Nvidia and AMD GPUs works (unlike El Capitan where they were broken). On more recent GPUs, OpenCL works about the same as in El Capitan.

OpenCL on Intel GPUs still broken – but of course Metal can now be used on more recent Intel GPUs.

CUDA Rendering on Nvidia GPUs

CUDA does not work on any sandboxed app sold through the Mac App Store. Fractal Architect 4-CUDA adds CUDA as an alternate rendering platform. (It was written for users affected by the horrible Nvidia OpenCL drivers released with Mac OS El Capitan.)

Bad News for Sierra: Nvidia has not yet released usable CUDA drivers for Sierra. Stay on El Capitan if you need CUDA support.

Dual Metal GPU Rendering on 2015 Macbook Pro

For a laptop to offer dual GPU rendering, this is a big deal. You can render on both the AMD and Intel Iris Pro GPUs at the same time.

You could do this too on El Capitan, but the AMD Metal drivers are much faster on Sierra.

Dual Metal GPU Rendering on 2013 Mac Pro

This works very well.  Rendering video animations on this Mac is very fast.

Dual OpenCL rendering is not recommended due to a critical kernel dispatching bug present in recent versions of Mac OS. (Metal does not have this bug.)

Score:  Kickass with Caveats

Apple has clearly made a big effort to improve the Metal compute drivers for Sierra. OpenCL drivers (which had so many issues in EL Capitan) now seem to work as well as they did with Mac OS Yosemite.

Apple engineers actually found the cause of a bug preventing Metal rendering from working on Intel GPUs. We found the cause of a core bug in Metal preventing Metal Rendering on AMD/Nvidia. Hopefully, this collaboration can continue so Apple can achieve 100% rock solid GPU compute platform across all of its Mac configurations.

Probably 90% of Macs released in the last 3 years can now  use GPU rendering –( that is a guesstimate since we have no means to actually test 100 different Mac model configurations). This is a huge improvement over the El Capitan release, when we estimated then that only 30% of Macs could use GPU rendering.

We found issues on Sierra only with older Intel GPUs (i.e. 2013 Macbook Air). Workaround: Stay on El Capitan for now.

Intel CPU rendering has always worked. But when you can get 10x  faster rendering on a laptop with Metal, who wants to use CPU rendering ?

Meeting with Matt Feemster

Matt Feemster is the author of Fractorium, a GPU accelerated flame fractal renderer for Windows and Ubuntu Linux.

My son and I attended Nvidia’s CUDA conference and got to meet Matt since he lives in the Bay Area too.

The 3 Amigos – the only people on Planet Earth that have released apps that support GPU flame fractal rendering to date.

Left: Steven Brodhead Jr   – author of Flam4
Center: Steven Brodhead – author of Fractal Architect
Right: Matt Feemster         – author of Fractorium

img_1876

Fractal Architect 4 Version 4.4 – Metal Rendering on AMD + Nvidia

This release is almost ready.

I figured out how to workaround a key Apple Metal bug and now Metal rendering works on AMD and Nvidia GPUs too! With Mac OS Sierra, the Metal rendering has great performance.

Metal can render on 2 GPUs at the same time. For instance, the 2013 Mac Pro with its twin GPUs renders almost twice as fast.

You can also combine rendering using both Intel Iris Pro and AMD GPUs on a 2015 Macbook Pro. Tested on Mac OS El Capitan 10.11.6.

Both GPUs: 159.75 Mips      8.5X
AMD:                93.14 Mips       4.9X
Intel Iris Pro: 84.64 Mips       4.5X
CUP (4 core): 18.84 Mips      1X

Bug Fix: Fixed image gamma for Resume renders (restart render to add higher quality)

Metal Rendering on Intel, AMD, & Nvidia GPUs Works!

Sierra Metal is Working Well on AMD and Nvidia

With Sierra coming out shortly, Metal renders can be made on all 3 GPU platforms: Intel, AMD, and Nvidia using Fractal Architect 4 version 4.4.0.

Apple has done a very good job on the Sierra release. In general, Metal is working well, and for some older GPUs, OpenCL rendering now works again (El Capitan’s OpenCL drivers were so broken).

Both Mac OS El Capitan and Sierra support Metal rendering, but the quality of the Metal drivers varies depends on the specific GPU configuration and OS version used.

For example, on Sierra the AMD drivers are much faster than on El Capitan.

On 2013 Mac Pro, with 2 AMD GPUs, you can use both GPUs for even more speed using Metal (but OpenCL driver has a critical bug preventing usage of more than 1 GPU).

Warning – Sierra Metal may not work on your GPU

On El Capitan, my 2013 Macbook Air renders 10.5 X faster than CPU. On Sierra, the Metal compiler cannot compile the app’s kernels on the 2013 Macbook Air, resulting in no GPU rendering at all !

But 2015 Intel Iris Pro in Macbook Pro works great with Metal !

Evaluating Sierra First

Since GPU compatibility is so hit and miss, I recommend installing Sierra first on an external hard drive and trying it out on your Mac(s).

You boot off that external drive by holding down the Option key at boot and select the external drive from the list shown at boot time.

Since normal hard drives are so SLOW, I recommend the following external drive: Samsung 250 GB T3 Portable SSD. This has worked very well for me, and the cost is reasonable.

Evaluate both OpenCL and Metal

Apple’s OpenCL drivers have been very good on AMD GPUs, but don’t work at all on Intel GPUs. But that OpenCL on AMD, may be faster than Metal on AMD. So remember to try both to see what works better.