Fractal Architect 4 Help Index Fractal Architect icon

GPU Rendering in 2016


Applies to:FA 4

State of OpenCL on the Apple Platform


The OS X El Capitan OpenCL Disaster

In late 2015, Apple released Mac OS X El Capitan. It premiered Metal as a replacement for both OpenGL and OpenCL.

Suddenly, users of FA found that older Macs, 2012 and earlier, no longer had usable OpenCL drivers for their GPUs.

My own 2012 15" Retina Macbook Pro, which had rock-solid stable OpenCL drivers in Mac OS X Mountain Lion, Mavericks, and Yosemite, now crashed inside the OpenCL kernel dispatcher on El Capitan. As I write this, with its 3rd OS update, 10.11.3, the OpenCL drivers in El Capitan are still broken for that Mac model.

Similarly, 2011 Macbook Pros and iMacs with AMD GPUs, now have broken OpenCL drivers. The drivers were also rock-solid in prior versions of OS X.

My own 2013 Mac Pro with twin D700 GPUs does have usable OpenCL drivers, but now the app renders 40% slower, than in Yosemite! Same slowdown with the 2015 Macbook Pro!

These problems were all reported and no bugs have been fixed by Apple yet.

Avoid El Capitan

If GPU rendering is important to you, stay on Mac OS X Yosemite. CPU rendering does work fine on El Capitan.

FA 4 Metal Support

FA 4 now supports GPU rendering using Metal. Of course the Metal drivers have to be usable – that is not true on OS X 10.11.3. Metal GPU Compute is partially usable on Intel GPUs:

Metal GPU Compute on Intel GPUs

The only GPUs where Metal is usable are Intel GPUs. We are getting a really big speed increase of about 8x (or 800% faster). (Tested on 2013 Macbook Air w/ Intel HD 5000 GPU.)

Unfortunately, with some fractals, the GPU hangs and resets – leaving your Mac totally frozen for about 5 to 10 seconds.

These GPU resets happen for some of the canned fractals included in the app (Gallery and GPU Trial windows).

Because of the risk of GPU resets, GPU rendering is turned off for all batch and video frame rendering. The app reverts to CPU rendering in these cases.

Metal GPU Compute on AMD & Nvidia GPUs

Broken - totally broken.

GPU Testing Conundrum

There are now about 100 different Mac model configurations that theoretically all can use GPU rendering.

We can only test a handful of Mac model configurations. Why?

\[$\]

This app is a professional app that focuses on the small niche of flame fractal art. It does not generate the revenue required to provide that type of support.

Apple does not make a test lab for testing available to 3rd party developers. They do not give us test Macs nor provide loaner Macs. We pay for all test Macs at the same price you do.

Apple provides no support to us. We have no point-of-contact for OpenCL support. The yearly developer conference always sells out.

FA4 GPU Quarantine can be Turned Off

The app has a quarantine for GPU rendering. If we know that GPU rendering wont work on certain types of Macs and certain versions of Mac OS X, we add that combination to the quarantine.

But we might quarantine a GPU configuration, that might actually work. Without the ability to actually test all of the 100+ Mac configurations, we allow you to disable the quarantine.

Test first with the GPU trial window. This allows you to see whether GPU rendering works on your Mac or not. If it does work, you can turn off the quarantine everywhere in the app.

As of FA4 version 4.3.0, the quarantine can now be disabled throughout the entire app.

Announcing Fractal Architect 4-CUDA

Because of the stability issues with OpenCL and Metal on the Apple platform, the Fractal Architect family has a new member: Fractal Architect 4-CUDA.

This app allows you to choose between the CUDA, OpenCL, and Metal rendering platforms. The standard FA4 app allows you to select only between OpenCL and Metal.

CUDA itself requires an Nvidia GPU and FA 4’s dynamic kernel compilation requires an Nvidia GPU in Macs beginning in 2012 and later. Earlier 2010 model year Macs with Nvidia GPUs wont work with FA 4-CUDA.

FA4-CUDA does run on AMD and Intel GPUs using OpenCL, but not CUDA.

Apple’s App sandboxing requirement prevents CUDA usage by apps sold through the Mac App Store. So FA4-CUDA is not distributed through the Mac App Store, but is sent to you free by request at support@fractalarchitect.net .

We don’t have an Internet store yet, so FA4-CUDA “piggy-backs” on the normal FA4 app. What that means is that the same in-app purchase options purchased for FA4 apply to FA4-CUDA as well.

So the in-app purchase options you bought for FA 4 from Apple, work - at no extra charge - in FA4-CUDA. You can of course use the GPU Trial window inside FA4-CUDA to try CUDA rendering for free.

In the future, we plan on creating an Internet store and making FA4-CUDA available through that store; and dropping the need for buying the standard FA4 app on Apple’s Mac App Store.

FA4-CUDA on Mac Pro w/ 2 Nvidia GPUs

The prior generation of Mac Pros allowed you to add up to 2 graphic cards. One of our beta testers has 2 Nvidia 980 graphic cards in his Mac Pro and uses it for creating videos with FA4-CUDA. On that Mac, he is getting significantly better performance with CUDA than OpenCL.

Nvidia’s CUDA drivers are clearly superior to Apple’s OpenCL drivers.

2012 Retina Macbook Pro

My 2012 Retina Macbook Pro renders great on CUDA in El Capitan. With Apple’s OpenCL drivers being broken in El Capitan, it is great to still be able to render using the Nvidia GPU with CUDA.

Issues with Dual GPU rendering on 2013 Mac Pro

A new very serious bug affects Dual GPU rendering on the 2013 Mac Pro with twin AMD GPUs. Happens on the last update of Yosemite (10.10.5) and the most recent El Capitan update (10.11.3).

Basically, there is an out-of-order ordering problem with kernel execution. Sometimes, kernels are executed much, much later than they should.

This causes an occasional “ghosting” affect with motion blur, where features are rendered, in the wrong video frame.

For single still frames, like when you want to do single extremely high quality image renders, out-of-order execution is ok. This bug seems to affect video rendering only.

This Apple OpenCL driver bug does not happen when rendering with just 1 GPU. (You can choose to render with either 1 or 2 GPUs in the app.)

Basically about 1 out of 150 video frames will have visible artifacts. This is equivalent to 12 visible video frame errors per minute of video.

You can render the bad frames again, but the hassle of finding which frames need to be rendered again is significant.

Recommendation: Render with just One GPU for Videos

For a trouble free video rendering experience, just use a single GPU.