Closed piratenpanda closed 2 years ago
Difficult to say what the precise reason is atm from here.
The main difference between standard modes and "tune for cl" is the check for available memory.
Please report a logfile with -d memory -d opencl and give me a short reminder of your system. (I can't find it right now)
Your reporting again about the "old bug", this is really interesting, is there a buffer mem leak we are not aware of so far?
My system is a i5 7600K, 32 GB RAM, RX 580 with 8GB memory
This log is a single export with garbled output. darktable_log.txt
One thing I noticed in the log is that this exceeds the memory of my graphics card: 24,128368 [opencl memory] device 0: 9409267200 bytes (8973,4 MB) in use
And this is exporting a color image afterwards (starting in line 1484): darktable_log2.txt
Your reporting again about the "old bug", this is really interesting, is there a buffer mem leak we are not aware of so far?
Never had a single issue after your recent RCD bug fixes. This just reappeared with the tuner it seems
Ok now I am confused. It now says tuning off in the log and has the same error. Will do more checks.
Edit: tuning off, bw export works fine, click on tuning, export is garbled. Issue seems to persist. Is the tuner instant as soon as I click it? I suppose tuned values persist for the time darktable runs even if I turn tuning off?
Here is a log with tuning on from the beginning: darktable_log3.txt
27,030909 [dt_opencl_get_unused_device_mem] 13491MB available, 17592186039116MB of 8192MB on device 0 already used
27,030936 [dt_opencl_get_device_available] use 13363MB (tune=ON) as available on device 0
also doesn't seem right to me.
Now also the darkroom seems to be affected:
Is the tuner instant as soon as I click it?
Principally yes but the calculation is done when dt check for available memory in the pipeline the first time.
I read through your logs and
@piratenpanda i think i may have found the culprit, could you try after replacing these two functions in common/opencl.c please?
Now it reads:
24,462150 [dt_opencl_get_unused_device_mem] 8153MB available, 38MB of 8192MB on device 0 already used
24,462175 [dt_opencl_get_device_available] use 8025MB (tune=ON) as available on device 0
and exported images look fine. Used graphics memory now also never exceeds the maximum physically available size.
@piratenpanda thanks a lot for reporting and for a quick confirm of the fix :-)
I just tried using the new opencl tuner. When working on images it looks fine, but when exporting images where I used color calibration (edit, stupid me) to get black and white images I get different artifacts on each export:
This does not happen when turning the tuning off and restarting darktable.
Also after a few exports, darktable refuses to export any images, I have to cancel the export job and when rerunning export I get back my my old bug:
@jenshannoschwalm are there some values which are not limited to 0 maybe?