Well, in your case I see the differences as only marginal - the time
spent in the OpenCL pixelpipe differs only by 2% between the two setting
(in favor of TRUE). Not sure if differences persist if you would repeat
profiling several times to get out any fluctuations.
So it seems that your combination of GPU and driver does not profit from
the opencl_use_pinned_memory flag. But in your case it would not harm
either to change the default to TRUE.
To others: I am interested to see if there are systems where
opencl_use_pinned_memory=TRUE gives a heavy negative impact on performance.
Ulrich
Am 15.09.2016 um 06:00 schrieb Jack Bowling:
On 09/14/2016 09:56 AM, Ulrich Pegelow wrote:
Well, there obviously is an issue with OpenCL and NVIDIA. However, a
quick check reveals that this is not related to 2.0.6 versus 2.0.5.
In fact it seems that NVIDIA did some changes to their drivers in the
way they handle memory transfers over the IDE interface.
There is a quick fix for that in darktable. You can switch config
variable opencl_use_pinned_memory to TRUE (can be found in darktablerc).
At least here on my this makes a difference of up to a factor of 30
(oldish GeForce GTS 450 and 367.35 driver).
<snip>
Setting pinned_memory=true leads to slower render times on my box. Here
is system info on my fully updated Ubuntu 16.04 box:
$ darktable --version
this is darktable 2.0.6
copyright (c) 2009-2016 johannes hanika
[email protected]
compile options:
bit depth is 64 bit
normal build
OpenMP support enabled
OpenCL support enabled
Lua support enabled, API version 3.0.0
Colord support enabled
gPhoto2 support enabled
GraphicsMagick support enabled
$ inxi
CPU~Octa core AMD FX-8300 Eight-Core (-MCP-) speed/max~1400/3300 MHz
Kernel~4.4.0-36-generic x86_64 Up~8 days Mem~2495.3/32090.4MB
HDD~23734.6GB(33.4% used) Procs~340 Client~Shell inxi~2.2.35
$ inxi -G
Graphics: Card: NVIDIA GK107 [GeForce GT 740]
Display Server: X.Org 1.18.3 drivers: nvidia (unloaded:
fbdev,vesa,nouveau)
Resolution: [email protected]
GLX Renderer: GeForce GT 740/PCIe/SSE2
GLX Version: 4.5.0 NVIDIA 361.42
Here is the relevant paste from my darktable config:
opencl=TRUE
opencl_async_pixelpipe=false
opencl_avoid_atomics=false
opencl_checksum=4188966525
opencl_device_priority=*/!0,*/*/*
opencl_library=
opencl_memory_headroom=1000
opencl_memory_requirement=768
opencl_micro_nap=1000
opencl_number_event_handles=25
opencl_omit_whitebalance=
opencl_size_roundup=16
opencl_synch_cache=false
opencl_use_cpu_devices=false
opencl_use_pinned_memory=false
Note the high headroom necessary to prevent atrous dumping to CPU.
Attached are two text files of "darktable -d opencl -d perf" output, one
with pinned_memory=true and one with pinned_memory=false.
Jack
____________________________________________________________________________
darktable user mailing list
to unsubscribe send a mail to [email protected]