Speedup Image Processing with OpenCL
An option to significantly speedup processing has been added to Capture One since version 6.0. You can take advantage of this speedup option by using graphics card accelerated processing through an interface called OpenCL. The idea is to make it possible to fully utilize the processing capabilities of the graphics hardware to get a faster application.
In Capture One 7 the graphics card is used for accelerated processing not just to the display, but also when processing images to files.
The speed advantage of using OpenCL can be huge. When using one of the newest graphics cards on the market in a Mac Pro computer, you can process a full 80 megapixel raw file in less than 2 seconds.
What is OpenCL?
OpenCL is an open standard defining how to interface and utilize all the processing capabilities within graphics cards (GPU) and multiprocessor CPUs. OpenCL is short for Open Compute Language.
OpenCL essentially enables effective utilization of thousands of compute units within modern graphics cards. For Capture One, only relatively new GPU cards have enough computing power and onboard RAM to be utilized effectively.
When Auto is selected Capture One will test the capability of the graphics card, and if the card proves to be powerful enough Capture One will use it for processing.
Utilizing OpenCL makes it possible to accelerate your processing significantly. For an iMac with the integrated graphics card from NVidia (GTX 680MX) you gain more than a factor of 3 times in processing speed as shown in the benchmark below. On the graph, benchmark 100 is the speed when processing using only the CPU and not OpenCL.
From the figure we see both Canon “cr2” and Nikon “nef” files will process more than 300% faster than the CPU, when utilizing the graphics card on a 4 CPU core iMac. An IQ180 raw file will process close to 250% faster.
The benchmark numbers depend on your graphics card, number of CPU cores and speed of your SSD disk. In terms of the interactive speed using one of the recommended graphics cards, it is possible to get real-time feedback (30fps) for almost all slider interaction in Capture One 7.
Initialization of OpenCL
To increase robustness in Capture One 7.1.3, we have added the OpenCL initialization as a separate process. This ensures that future problems during OpenCL initialization will not affect the Capture One application. Further more, this initialization only happens when the graphics hardware changes.
When the preferences for hardware acceleration are set to auto, the application will test the capabilities of the graphics card. OpenCL is not enabled (in auto mode) if one of the following conditions ismet for the graphics card:
- Less than 1GB of on-board Video RAM
- Too few GPU cores
- Too low processing improvement compared to the system CPU performance
- Mac OS 10.6
As of June 2013, four major companies have developed desktop drivers for OpenCL: NVidia, AMD, Apple and Intel. OpenCL is also becoming an interface for other computer architectures going forward.
For Mac OS X 10 the OpenCL drivers are part of the operating system, but for Windows these drivers are installed as part of the display drivers. For your convenience here are the links to the OpenCL enabled drivers for Windows.
The Windows driver requirements
- For AMD/ATI graphics: Catalyst Software suite 13.4 or higher – pick: AMD Catalyst™ Software suite.
- For NVidia graphics: NVidia Display driver version 320.18 or higher – pick “download”.
- Intel Iris Pro Graphics: Version 188.8.131.52.3165 or higher.
Recommended graphics and acceleration cards for “Best Performance”
As of June 25, 2013 using one of these GPU cards will experience the very best performance:
AMD HD7950 AMD HD7970 GHz edition
Great performance is likewise expected for:
NVidia GeForce GTX 680 NVidia GTX Titan
AMD FirePro NVidia 680GTX
NVidia Quadro 5000 NVidia Quadro 6000, Tesla
When working with Capture One 7 certain image settings will bypass the use of OpenCL and use the normal processing pipeline: these settings include the use of spot removal tool and non RGB proof profiles.
Apart from these settings most users with capable graphics cards will see a performance increase when working with Capture One 7 and I recommend that you go into your preference and enable it today.