Tech Talk

Speed improvements in Capture One Pro 8 enabling OpenCL

With the introduction of the latest Mac Pro (2013) it has become common to include more than one GPU card in computers. In previous versions of Capture One, support for OpenCL processing was limited to a single GPU. In Capture One Pro 8, all available GPU’s will be utilized, distributing the workload between them according to individual processing power.

This processing distribution doubles the per pixel processing speed for the Mac Pro (2013 model), improving the end-to-end speed by approximately 50%. In Capture One Pro 8, we have carefully optimized the processing pipeline to become as parallel as possible, resulting in the fastest processing of any Capture One version – and any current current RAW processor.

The speed advantage of using OpenCL is noticeable. When using both of the AMD D700 graphics cards in a Mac Pro (2013) computer, you can process a full 80 megapixel RAW file in less than 1.5 seconds.

In Capture One Pro 8, the default setup is not to use OpenCL for processing due to a possible incompatibility of future OpenCL drivers. To enable OpenCL, you need to switch to Auto in the Hardware Acceleration preferences as shown below.

 

OpenCL

 

When Auto is selected, Capture One Pro 8 will test the capability of the graphics card, and if the card proves to be powerful enough, it will be used for processing.

 

What is OpenCL?

OpenCL is an open standard that defines how to interface and utilize all the processing capabilities within graphics card’s (GPU) and multiprocessor CPU’s. OpenCL is short for Open Computing Language.

OpenCL essentially enables effective utilization of the thousands of compute units within modern graphics cards. For Capture One Pro, only relatively new GPU cards have enough computing power and onboard RAM to be utilized effectively.

The number of processing or compute units is an important proxy for performance. However, driver optimization, specific implementation of the floating point and integer pipeline of the GPU, along with the total amount of on-board memory are important elements as well.

If you have too little on-board memory the full image has to split up in small units creating data transfer overhead that will limit performance.

 

OpenCL_billede2

 

Performance

Utilizing OpenCL for dual GPUs in Capture One Pro 8 accelerates your processing significantly compared to Capture One Pro 7 – where only one GPU is used.

Performance for Mac Pro (2013), Dual D700 ATI cards, 12 core CPU:

Capture One Pro 7: 28 IQ180 files: 2.23 min – end to end
Capture One Pro 8: 28 IQ180 files: 1.34 min – end to end

Capture One Pro 8 is processing files 52% faster than Capture One Pro 7.

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 Pro 8, including the HDR tool (which was not using OpenCL in previous versions).

As of September 15, 2014, here are the recommended GPU Cards for “best performance”

Windows:
AMD R9 290X
NVidia GTX 780Ti

Mac:
Dual ATI D700 in Mac Pro (2013)
AMD 7950 in Mac Pro Tower

 

Drivers

As of September 2014, four major companies have developed desktop drivers for OpenCL: NVidia, AMD, Apple and Intel. OpenCL is also becoming a popular interface for other computer architectures going forward, even embedded systems and SOC (System On a Chip) devices.

For Mac OS X the OpenCL drivers are part of the operating system, where the drivers for Windows based systems are installed as part of the display drivers. For your convenience here are the links to the OpenCL enabled drivers for Windows.

Windows driver requirements:

 

Final Words

Unlike Capture One Pro 7, there are no image settings or features in Capture One Pro 8 that will by-pass the use of OpenCL, and use the CPU processing pipeline. Thus, if your graphics card is capable of it, it is preferable to enable OpenCL, as you will see a significant increase in Capture One Pro 8’s speed.

And who doesn’t want faster processing?

Regards,
Lionel

Lionel Kuhlmann
Lionel Kuhlmann

Lionel Kuhlmann is the advanced algorithms manager at Phase One, where he is the lead of the image-processing group behind Capture One.

Comments (22)

It has been claimed that Capture One 8 can only take advantage of the GPU in the mac Pro if it contains the dual d700 graphics cards, but that apple doesn’t provide the hooks and api’s necessary for C1 8 to take advantage of the dual cards for d300 and d500 cards. That seems odd to me … is there any truth to this?

Lionel Kuhlmann

Hi Wayne,

I am happy to denounce the claims. Capture One 8 utilizes all the GPUs in the Mac Pro disregarding the configuration. Speed wise the dual D700 is faster than the D500, but only by 20-30%, The D300 is about 50% slower than the D500.

Bottom line is that all configurations of the Mac Pros are fully utilized, and great machines for running Capture One.

Best regards,
Lionel

Hello Lionel, I’m going to buy a graphics card mainly to use c1 and I’ts a bit frustrating the lack of info… is there a test that reflects c1’s usage of the gpu? I thought Luxmark did but after macperformanceguide’s imac 5k vs mac pro comparison where the imac was faster one gets confused.

I’m considering 750 Ti, 960 and 970 on the Nvidia side and r9 280x on the ATI side (hard to decide if the higer prices are worth it without knowing if they are going to be 20% faster or 100%)

Thanks in advance 🙂

Lionel Kuhlmann

Hello,

I assume you are running Windows based on your choice of GPU cards. I found the ATI cards currently provide a faster speed for Capture One compared to similarly priced Nvidia cards. In you list I would buy the ATI card. Look here for a knowledge base articled about GPU graphic cards. http://www.phaseone.com/en/search/article.aspx?articleid=1720&languageid=1

Our current “best card” for Windows is the ATI R9 290.

Regards, Lionel

Jan Mast

Hello,
I know this is not officially supported, but using an unflashed of-the-shelves PC videocard works great in almost all programs, including Adobe’s and FCPX. Does the code of C1 take this modified Mac Pros into account ? In other words : I have a 280x plugged into my 2008 Mac Pro. And I plan on adding a second one. It makes fcpx fly. Does C1 play nicely with it ?
Kind regards,

Jan

Lionel Kuhlmann

Hi Jan,

I would think so. We do detect and fully utilize multiple GPU cards (as in the Macbook PRO).
We do not support this modification though.

-Lionel

Lionel,
Could you help me with my question ?
http://forum.phaseone.com/En/viewtopic.php?f=57&t=18410&sid=45c9a06b91a975ce82bc076dd949c524

TL;DR
– i7 4790k or i7 5820k
– GTX 970 or R9 290x

Christoph

Hi Lionel,
thank you for your interesting report. I am currently assembling a Mac Pro Tower 5,1 to use it as a capture machine. I don’t want to spend to much expenses on graphic card, neither a second power supply for it. What do you think about the Nvidia GT 680X?
Can you recommend that for me?

Cheers,
Chris

Lionel Kuhlmann

Hi Chris.

Thanks for your question.

If you talk about the Nvidia GTX 680 it is not great, but OK. If you can find an AMD 7950 based card, it is almost 10 times faster.

Best regards,
Lionel

I’m planning to purchase a new (or refurbished) iMac. Which iMac video card is the best for Capture One 8 ? Thank you.

Dear Lionel

I was wondering if you know any info if the new MacBook Pro Laptops with the AMD Radeon R9 M370X GPU with Open CL run CaptureOne 8 any faster than than the Older Laptops with NVidia 750M video cards. As I know Open CL works a lot better on AMD video Cards and from experaince on my NVidia GPU Open CL is better switched off.

Lionel Kuhlmann

Hi Lubè,

The new AMD based Macbook Pro runs Capture One Pro 8 significantly faster than the older with the Nvidia.

Best regards,
Lionel

Hi Lionel,

Capture One really shines with image quality, and this naturally comes with a cost, i.e. computing time and memory. So, utilizing graphics cards computing capablities seems to get more and more important.

I have two questions:

1. Benchmark figures.
You mentioned the Nvidia GTX 680 it is not great, but OK, and AMD 7950 is almost 10x faster. It seems that no indrusty standard benchmark shows this discrepancy, so can you publish your Capture One relevant benchmark figures (absolute or relative) for all the graphics cards which you support (or at least for those which you have access to) in your knowledge base article 1720?

This would be very very beneficial for a new aquisition decision for a card or PC.

2. Priority of OpenCL related developments and issues
I do have the impression from the forum (which of course only is a fraction of the user base) that OpenCl issues are amongst the most annoying issues to concerned users in case the recommendation for issue solving is “set OpenCl to Never”. Obviously, as this cuts off a significant source of computing power and obsoletes a part of HW investment. This is actually less of a question than a plea for taking care of such issues with according priority.

Thanks and best regards
B.O.

Lionel Kuhlmann

Hi B.O.

1. We are already working on how to improve the knowledge base with benchmarks.
2. Rest assured, the OpenCL development and robustness continues to be at highest importance.

Regards,
Lionel

This is great to hear, thank you Lionel!
Best regards
B.O.

Hi Lionel, Capture One 8 works rather good with the new MacBook Pro 15, yet when converting RAW into JPEG (about 120 shots) the time needed is the same either Open CL is on or off. And also if you monitor the processing you can see in both cases the CPU load is the same – 65-75%. Does it mean that GPU is not involved in the process, or that Open CL is not active with this GPU? so in what cases of photo processing the GPU is run?

Thanks,
Nik

Hi Lionel, Capture One 8 works rather good with the new MacBook Pro 15, yet when converting RAW into JPEG (about 120 shots) the time needed is the same either Open CL is on or off. And also if you monitor the processing you can see in both cases the CPU load is the same – 65-75%. Does it mean that GPU is not involved in the process, or that Open CL is not active with this GPU?

Thanks,
Nik

Are there any actual recomendations for a OpenCL GPU for a Windows 7 system and Capture One Pro 9.

looking for two options:

* best performance
* best performance for money

Hi Lionel,

I’m not quite happy with the images processing time on my current PC, so my plan is to update it with the recently released hardware. What would work better based on your experience? One nVidia GTX 1080 or two GTX 1070 cards?

GTX 1080 shows up to 1.5 better performance in Open CL than GTX 1070, and way better than R9 290 (based on these benchmarks: http://www.phoronix.com/scan.php?page=article&item=nvidia-gtx-1070&num=3)

Best regards,
Alex.

Bjarke Jakobsen

Hi Alex

Based on their specs, two 1070’s will most likely be faster than a single 1080, since the total number of CUDA cores is 3840 compared to 2560. It will, however, be a close call since the 1080 have significantly higher memory bandwidth (320 GB/s vs 256 GB/s on the 1070).

When using these top-of-line cards, there is a risk that the CPU will be bottleneck, since the decoding of the raw file format is done on the CPU, so a very slow CPU is not recommended on performance critical systems with very powerful GPU’s. SSD disks are also a must, since the complete processing on both the above GPU configurations will be faster than the plain writing of a 16-bit RGB tiff-file on an old HDD.

Cheers,
Bjarke

Thanks Bjarke! My plan is to update this winter, so I’ll purchase i7 7700K, 32 Gb DDR4 and NVMe SSD for the new configuration. So I wouldn’t really worry about that part 🙂

Hi Lionel,
In general is AMD card working better for capture one?
or Nvidia is just as good.