Hi,

I own a laptop with a low-end OpenCL capable graphics card. Usually I explicitly turn OpenCL support off for darktable.

Today I enabled OpenCL support in darktable for some testing purposes. Starting darktable (current git master with some extensions not related to OpenCL) with the options '-d opencl -d perf' yields

0.062332 [opencl_init] opencl related configuration options:
0.062345 [opencl_init] 0.062359 [opencl_init] opencl: 1
0.062361 [opencl_init] opencl_library: ''
0.062364 [opencl_init] opencl_memory_requirement: 200
0.062367 [opencl_init] opencl_memory_headroom: 0
0.062372 [opencl_init] opencl_device_priority: ''
0.062377 [opencl_init] opencl_mandatory_timeout: 0
0.062382 [opencl_init] opencl_size_roundup: 16
0.062386 [opencl_init] opencl_async_pixelpipe: 0
0.062389 [opencl_init] opencl_synch_cache: 0
0.062392 [opencl_init] opencl_number_event_handles: 0
0.062396 [opencl_init] opencl_micro_nap: 0
0.062399 [opencl_init] opencl_use_pinned_memory: 0
0.062402 [opencl_init] opencl_use_cpu_devices: 0
0.062404 [opencl_init] opencl_avoid_atomics: 0
0.062407 [opencl_init] 0.062615 [opencl_init] found opencl runtime library 'libOpenCL'
0.062652 [opencl_init] opencl library 'libOpenCL' found on your system and 
loaded
0.078292 [opencl_init] found 1 platform
0.078310 [opencl_init] found 1 device
0.078526 [opencl_init] device 0 `GeForce GT 730M' has sm_20 support.
0.078613 [opencl_init] device 0 `GeForce GT 730M' supports image sizes of 16384 
x 16384
0.078619 [opencl_init] device 0 `GeForce GT 730M' allows GPU memory allocations 
of up to 501MB
[opencl_init] device 0: GeForce GT 730M GLOBAL_MEM_SIZE: 2004MB
     MAX_WORK_GROUP_SIZE:      1024
     MAX_WORK_ITEM_DIMENSIONS: 3
     MAX_WORK_ITEM_SIZES:      [ 1024 1024 64 ]
     DRIVER_VERSION:           390.77
     DEVICE_VERSION:           OpenCL 1.2 CUDA
0.157247 [opencl_init] options for OpenCL compiler: -cl-fast-relaxed-math  
-DNVIDIA_SM_20=1 -DNVIDIA=1 
-I"/usr/local/darktable_guided/share/darktable/kernels"

[...]

0.177151 [opencl_init] compiling program `heal.cl' ..
0.177158 [opencl_fopen_stat] could not open file 
`/usr/local/darktable_guided/share/darktable/kernels/heal.cl'!
0.177163 [opencl_init] kernel loading time: 0.0198 0.177170 [opencl_init] OpenCL successfully initialized.
0.177173 [opencl_init] here are the internal numbers and names of OpenCL 
devices available to darktable:
0.177176 [opencl_init]          0       'GeForce GT 730M'
0.177180 [opencl_init] FINALLY: opencl is AVAILABLE on this system.
0.177183 [opencl_init] initial status of opencl enabled flag is ON.
0.177205 [opencl_create_kernel] successfully loaded kernel `blendop_mask_Lab' 
(0) for device 0
0.177213 [opencl_create_kernel] successfully loaded kernel `blendop_mask_RAW' 
(1) for device 0
0.177222 [opencl_create_kernel] successfully loaded kernel `blendop_mask_rgb' 
(2) for device 0

[...]

Neglecting the fact that the kernel heal.cl cannot be loaded everything looks fine to me. Nevertheless, all modules utilize CPUs only but not my GPU, including 'denoise (profiled)'.

38.392474 [dev_pixelpipe] took 0.405 secs (1.365 CPU) processed `denoise 
(profiled)' on CPU, blended on CPU [full]

How can I enable GPU processing?

In particular, I need to enable blending on GPU. Currently I am working on automatic mask refinement based on a guided filter, see http://kaiminghe.com/publications/eccv10guidedfilter.pdf For this purpose I have extended the function dt_develop_blend_process and now I also have to ajust dt_develop_blend_process_cl. But currently, the latter function is never called. Any hint?


        Heiko


--
-- Number Crunch Blog @ https://www.numbercrunch.de
--  Cluster Computing @ https://www.clustercomputing.de
--  Social Networking @ https://www.researchgate.net/profile/Heiko_Bauke
___________________________________________________________________________
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org

Reply via email to