Fractal Architect 4 Help Index Fractal Architect icon

GPU Rendering FAQ


Applies to:FA 4

See also: GPU Trial Rendering Window

GPU Rendering Is Now an In-App Purchasable Option

Some of you will find that even though your Mac has a GPU that is OpenCL compatible, it is unusable by the app.

Many older Macs do not have a OpenCL compatible GPU, so this discussion does not apply to those Mac models. All Macs are capable of OpenCL CPU rendering.

As will be explained below, there are critical defects in Apple’s OpenCL driver/compiler/runtime components that only affect certain Mac models. We cannot fix them - we cannot workaround these defects.

With Fractal Architect 3D, GPU rendering was provided as part of the app. Affected customers were angry that they paid for an app whose most important feature was broken.

With Fractal Architect 4, customers whose Macs are incapable of GPU rendering will not have paid for that capability. You now have a free, risk-free utility to try out GPU rendering before deciding to purchase the option.

Warning: Possible Compatibility Issues with GPU Rendering

Fractal Architect 4 is a very demanding app for OpenCL driver robustness and compatibility. You might find that your Mac model and OS X version together are incompatible with Fractal Architect 4 GPU rendering.

Use the builtin free [GPU Trial Rendering] utility to test you Mac’s compatibility with Fractal Architect 4’s GPU rendering. It allows you to test GPU rendering on a selection of 16 fractals. You can render the same fractal using first the CPU, then the GPU. You can compare image quality side-by-side and see the GPU performance advantage (if any).

This free utility is a risk free way for you find whether your Mac can use GPU rendering or not.

If GPU rendering works great there, you can be confident that it works with your own fractals. If the GPU Trial does not work or crashes the app, you will know that GPU rendering does not work on your combination of Mac and installed OS X version.

Our experience is that most Macs with ATI or Nvidia GPUs can use GPU rendering. Note: Older Macs (2010 and earlier) might GPU render properly on OS X Mountain Lion, but not on OS X Mavericks nor OS X Yosemite.

Right now Intel Iris GPUs won’t work for FA GPU rendering because of an OpenCL compiler defect in all update versions of both Mac OS X Mavericks and Yosemite. The OpenCL LLVM compiler is unable to produce a useable output in a reasonable amount of time, so the OpenCL runtime aborts (killing the app itself). Update: In OS X 10.10.3, the OpenCL runtime no longer aborts. But the underlying compiler problem is still there.

You will experience one of these outcomes:

Disclaimer:

  1. We cannot fix OS X OpenCL driver, compiler, & runtime bugs for Apple.
  2. We cannot work around those OS bugs (or we would have).
  3. We have never received useful technical support from Apple using their standard bug reporting and TSR procedures.
  4. There is no test facility available to test the many, many different Mac model configurations for compatibility issues (at least 100 different Mac configurations).
  5. There is no Mac “lending” program provided by Apple to support 3rd party developers.
  6. Testing our app inside an Apple Retail Store is not allowed by Apple. This would allow us to do compatibility testing for many Mac configurations without the huge financial cost of buying every single Mac configuration Apple produces, which we are not able to do.
  7. We have to pay full price for all test Macs. We have limited funds to do so, which means its likely that your particular Mac’s configuration may not have been tested by us.
  8. We wish Apple would include testing their OpenCL drivers using the Fractal Architect app as part of their development and testing.
  9. Crash reports provided by Apple to us do not indicate the Mac model nor its device configuration. So we can’t tell which Mac models are affected by a kernel defect. This means that unless we own that particular Mac model, we have no way of knowing if you are having rendering issues or not !!
  10. Unlike other OpenCL platforms, the Apple OpenCL platform does not have any debugging capability nor does it provide any way to figure out where a kernel crash occurs on any device, whether GPU or CPU (no symbolicated crash dumps for kernel crashes is the technical name). The Apple Watch has a complete development environment - the State-of-the-Art AMD GPUs in your 2013 Mac Pro do not. Its like driving a car down a freeway with a blindfold on.

Future OS X updates OpenCL Driver updates might fix these compatibility issues or might cause new issues on Macs that are now currently compatible. We have absolutely no control over this and we have no way to predict what Apple’s engineers might do in the future.

For instance, customers with 2011 Macbook Pros had to wait 4 months until the Mavericks 10.9.2 update was released, to be able to use Fractal Architect 3D GPU rendering on their ATI GPUs. On those same Macs, GPU rendering on the prior OS X Mountain Lion was very robust. Backwards compatibility regression can happen.

How Many Mac Models are OpenCL Compatible

In late 2013 these were the numbers of different configurations of OpenCL capable Macs:

72 different OpenCL compatible Mac configurations in late 2013

Today that number is around 90 different configurations. When you account for all the 5 versions of Mac OS X supporting OpenCL with their multiple updates, the compatibility test matrix is HUGE.

Now does it make sense why the Apple OpenCL platform has compatibility issues?

Yosemite 10.10.2 GPU Rendering Results

We only have 7 test Macs. That’s why we don’t know which Mac configurations are compatible and which are not.

2013 Mac Pro with twin AMD D700 GPUS
Extremely robust. Great performance.
2012 Retina Macbook Pro (Nvidia 650M)
Extremely robust.
2011 iMac and 2001 Macbook Pro with AMD GPUs
Extremely robust. (These GPUS are sensitive to thread divergence. Kernels that run fine on other GPUs, can lock up the Mac.)
2013 Macbook Air (Intel 5000 GPU)
Does not work. Crashes the app.
2014 Mac Mini
Does not work.