opencl_memory_headroom tells darktable how much memory to leave for the rest of the system (so less is better for performance), at least that is how I understand it. Looking at the memory usage from Xorg a realistic value seems to be 650-700MB. I would not expect setting it to these numbers would make a difference in speed, because it is already tiling. Maybe you can try to set it to a lower value like 100-200, but darktable might throw an exception, because the GPU runs out of memory. This can also happen when you start another applcin ation that uses your GPU-memory, so I do not think it is a good idea to choose small values here except you get good improvements from it. Another option you might want to change is opencl_use_pinned_memory. Changing this to true can speed up the datatransfer to and from the GPU, but I don't know how much darktable benefits from this. You should note however: pinned memory can not be swapped, so if you get out-of-memory errors this might be the reason, also this only changes how the host (non-GPU memory) is allocated.
Regards, Holger > Am 23.12.2019 um 08:48 schrieb Аl Воgnеr <[email protected]>: > > I think it is not a good idea to mix problems of another person in 1 > thread. So I start a new one. > > In the family we have 2 pcs, which are used with darktable > 2.6.3~git2.22c690a53 (from Suse OBS), but the distro is XUbuntu 11.10. > > Both pcs have a GeForce GTX 1660 (6G, 5941MiB), AMD Ryzen 7 3700X. 1pc > has 32G RAM and the other 16G. > > DT is the only program at the moment, which uses opencl. > > /usr/lib/xorg/Xorg 586MiB > xfwm4 4MiB > > After starting darktab le Xorg memory increases a little bit > > /usr/lib/xorg/Xorg 618MiB | > xfwm4 4MiB > /usr/bin/darktable 73MiB > > At the moment I have: > > $ grep -i opencl ~/.config/darktable/darktablerc > opencl=TRUE > opencl_async_pixelpipe=false > opencl_avoid_atomics=false > opencl_checksum=3732205163 > opencl_device_priority=*/!0,*/*/* > opencl_disable_drivers_blacklist=false > opencl_enable_markesteijn=true > opencl_library= > opencl_mandatory_timeout=200 > opencl_memory_headroom=300 > opencl_memory_requirement=768 > opencl_micro_nap=1000 > opencl_number_event_handles=25 > opencl_scheduling_profile=default > opencl_size_roundup=16 > opencl_synch_cache=false > opencl_use_cpu_devices=false > opencl_use_pinned_memory=false > > $ grep -i memory ~/.config/darktable/darktablerc > cache_memory=1073741824 > host_memory_limit=1500 > opencl_memory_headroom=300 > opencl_memory_requirement=768 > opencl_use_pinned_memory=false > > Which values should be changed? This darktablerc is from an old pc, > optimized for a 32" monitor. > > I changed from 300 to: > opencl_memory_headroom=3000 > > darktable-cli bench.srw bench.srw.xmp bench.jpg --core -d perf -d opencl > > before with 300: > 9,990739 [dev_process_export] pixel pipeline processing took 3,306 secs > (8,786 CPU) > > with 3000: > 10,247914 [dev_process_export] pixel pipeline processing took 3,381 > secs (9,029 CPU) > > It is nearly the same, actually it was a little bit slower with 3000. > > Attached is a full log, using "opencl_memory_headroom=3000" > > I am interested for settings which make this test faster. I restarted > dt, but not X. > > Al > > ____________________________________________________________________________ > darktable user mailing list > to unsubscribe send a mail to [email protected] > <benchmark.log.txt.tar.gz> ____________________________________________________________________________ darktable user mailing list to unsubscribe send a mail to [email protected]
