[Beignet] darktable support

Vasily Khoruzhick anarsoul at gmail.com
Sat May 3 23:02:43 PDT 2014


On Sun, May 4, 2014 at 7:37 AM, Zhigang Gong
<zhigang.gong at linux.intel.com> wrote:
> On Sat, May 03, 2014 at 08:31:09PM +0300, Vasily Khoruzhick wrote:
>> Hi Zhigang,
>>
>> I've checked OpenCL performance with darktable and unfortunatelly it's
>> slower than CPU.
>>
>> Exporting same photo takes 0.522 secs on CPU and 2.133 secs on GPU.
>>
>> Here's "darktable -d opencl -d perf" output for CPU:
>>
>> [export] creating pixelpipe took 0.172 secs (0.170 CPU)
>> [pixelpipe_process] [export] using device -1
>> [dev_pixelpipe] took 0.000 secs (-0.000 CPU) initing base buffer [export]
>> [dev_pixelpipe] took 0.007 secs (0.010 CPU) processing `white balance' [export]
>> [dev_pixelpipe] took 0.009 secs (0.017 CPU) processing `highlight
>> reconstruction' [export]
>> [dev_pixelpipe] took 0.264 secs (0.637 CPU) processing `demosaic' [export]
>> [dev_pixelpipe] took 0.035 secs (0.103 CPU) processing `base curve' [export]
>> [dev_pixelpipe] took 0.045 secs (0.160 CPU) processing `input color
>> profile' [export]
>> [dev_pixelpipe] took 0.070 secs (0.213 CPU) processing `sharpen' [export]
>> [dev_pixelpipe] took 0.068 secs (0.227 CPU) processing `output color
>> profile' [export]
>> [dev_pixelpipe] took 0.021 secs (0.070 CPU) processing `gamma' [export]
>> [dev_process_export] pixel pipeline processing took 0.522 secs (1.437 CPU)
>> [export_job] exported to `/home/anarsoul/Photos/test/DSC_2563_07.jpg'
>>
>> And here's for GPU:
>>
>> [export] creating pixelpipe took 0.227 secs (0.240 CPU)
>> [pixelpipe_process] [export] using device 0
>> [dev_pixelpipe] took 0.000 secs (0.000 CPU) initing base buffer [export]
>> [dev_pixelpipe] took 0.077 secs (0.020 CPU) processing `white balance' [export]
>> [dev_pixelpipe] took 0.017 secs (-0.000 CPU) processing `highlight
>> reconstruction' [export]
>> [dev_pixelpipe] took 0.175 secs (-0.000 CPU) processing `demosaic' [export]
>> [dev_pixelpipe] took 0.079 secs (-0.000 CPU) processing `base curve' [export]
>> [dev_pixelpipe] took 0.236 secs (-0.000 CPU) processing `input color
>> profile' [export]
>> [dev_pixelpipe] took 0.510 secs (-0.000 CPU) processing `sharpen' [export]
>> [dev_pixelpipe] took 0.230 secs (-0.000 CPU) processing `output color
>> profile' [export]
>> [dev_pixelpipe] took 0.808 secs (0.810 CPU) processing `gamma' [export]
>> [opencl_profiling] spent  0.0001 seconds in [Write Image (from host to device)]
>> [opencl_profiling] spent  0.8581 seconds in whitebalance_1ui
>> [opencl_profiling] spent  0.1243 seconds in highlights_1f
>> [opencl_profiling] spent  0.5701 seconds in ppg_demosaic_green
>> [opencl_profiling] spent  1.1415 seconds in ppg_demosaic_redblue
>> [opencl_profiling] spent  0.1549 seconds in border_interpolate
>> [opencl_profiling] spent  0.3583 seconds in clip_and_zoom
>> [opencl_profiling] spent  1.2348 seconds in basecurve
>> [opencl_profiling] spent  3.7282 seconds in colorin
>> [opencl_profiling] spent  3.9993 seconds in sharpen_hblur
>> [opencl_profiling] spent  3.8118 seconds in sharpen_vblur
>> [opencl_profiling] spent  0.3095 seconds in sharpen_mix
>> [opencl_profiling] spent  3.6290 seconds in colorout
>> [opencl_profiling] spent  0.0000 seconds in [Read Image (from device to host)]
>> [opencl_profiling] spent 19.9198 seconds totally in command queue
>> (with 0 events missing)
>> [dev_process_export] pixel pipeline processing took 2.133 secs (0.830 CPU)
>> [export_job] exported to `/home/anarsoul/Photos/test/DSC_2563_13.jpg'
>>
>> Is it possible to improve performance with OpenCL enabled somehow?
> Yes, it is possible. But currently, the highest priority case is the luxmark,
> once we finish this round performance tuning for luxmark. We will turn to see
> some other cases and the darktable seems a good candidate.

OK, thank you very much for your hard work! I'll stay tuned :)

Regards
Vasily


More information about the Beignet mailing list