Windows 10 running Darktable not using PC at full capacity

Did you manage to resolve this issue in the end?

I had a similar problem with Intel 620 vs Nvidia MX940. I changed the opencl_device_priority to 1,!0/!0,!1/1,!0/1,!0 as found here:

https://darktable-users.narkive.com/hW9hrKgp/gpu-select-open-cl-dt-windows

I also changed the Nvidia settings like you did, and added Darktable in Settings → System → Display → Graphics settings as High Performance by default.

But I seem to recall that it used to use the Nvidia GPU before and being a little faster, that’s why I got looking into it in the first place.

It might be due to a recent windows or intel driver update, or something like that…

Actually, the issue was mainly that the HW monitor included in W10, which is not accurate. By using a dedicated and specialized monitor, the values were very different and showed a much better utilization of the graphic card. That beeing said, a laptop Nvidia MX150 is not enough to run Darktable smoothly, I would recommend something significantly faster. Don’t expect major improvements with your 940MX, which is roughly in the same league.

I know, but it was being utilized before, and it is now again. It’s still noticeably faster than using the integrated intel one. Good enough for a small laptop. :slight_smile:

I don’t know about the MX150, but it isn’t exactly specified as to what your CPU/iGPU is.

I can tell you that, on an i5-7200U (midrange mobile Kaby Lake), which I THINK is designated as “620”:
OpenCL is roughly 4x faster than CPU for a compute-intensive pipeline with Intel’s NEO drivers
Darktable blacklists this particular combination for OpenCL usage due to a bugreport that (eventually) traced back to improper caching of compiled OCL kernels by Darktable
The above are based on my experiences on Linux (Ubuntu 19.04 on i5-7200U). There have been implications that the Windows versions of Intel’s “NEO” driver are less mature/stable.

I plan on submitting a pull request later this week to un-blacklist the NEO drivers at least on non-Windows machines.

1 Like

Hi’ @hlev and others

Inspired by this thread I have had a closer look at my laptop.

I have a HP laptop running windows 10 and Darktable 2.6.2 equipped with 2 GPUs: Intel HD Graphics Family and NVIDIA GeForce GTX 850M. NVIDIA is the fastest.

Using the default setup - opencl_device_priority= star/!0,star/star/star - Darktable primarily use Intel except for export in which case NVIDIA is used exclusively. I type “star” instead of “*” to make sure the text is correct.

When I start Darktable with “darktable –d opencl” no screen output is visible, the output seems to be overwritten at once. I assume that Intel is no. 0 and NVIDIA is no. 1. I can’t figure out how to make the output visible. Can anyone help?

Inspired by the example in the 2.4 manual I have tried the following setting: !0,star
/!1,star/1,star/1,star which results in more use of NVIDIA, but Intel is still the preferred GPU.

I have tested many different settings but have not been able to make Darktable use NVIDIA primarily. In some cases Darktable just give up and use Intel exclusively. This is also the case when I use the setup: 1,!0/!0,!1/1,!0/1,!0 - NVIDIA is not used!

I seems to me that Darktable is not working as described in the manual in respect to device priority.

When you say “output” - do you mean DT is not displaying on the screen? Or are you not seeing debug output? That’s strange, unless you’re directly running darktable instead of first running “cmd” and then running darktable from within a command prompt.

Not sure… I almost never fire up my Windows partition and don’t run DT on it. I guess on Windows Intel must have some sort of closed-source compute runtime other than Beignet and NEO, as Beignet remains blacklisted on all platforms (I’m not going to try and have this changed, anyone who is running hardware not supported by NEO is likely running hardware that will be simply problematic for OpenCL) and NEO remains blacklisted under Windows (someone else will have to take more data to show that NEO on Windows is OK - given that NEO is only formally released for Ubuntu-based distributions, Windows + NEO is a huge unknown. It may turn out that it too was unfairly blacklisted due to darktable’s kernel caching issues, but I was only comfortable removing the blacklist for platforms I personally tested.)

Hi’ @Entropy512

Thank you for your response. I execute Darktable using a BAT-file with start “darktable……”.

Using the command prompt to start darktable:
C:“Program Files”\darktable\bin\darktable.exe -d opencl
results in no output on the display or maybe it is overwritten at once? But Darktable starts.

Better open cmd.exe and start darktable from there.

Same result. No output visible…

DT is not displaying any debug information. Pls. see the video.

Hallojsa!

Why do you command “… darktable.exe darktable -d opencl”
instead of just “… darktable.exe -d opencl” ?

Mvh
Claes fra Lund i Sverige

2 Likes

Good catch on that one… I missed that subtlety. Although at least in Linux, that extra “bogus” commandline argument (of the program name getting repeated) seems to get ignored when I try it.

I’m wondering if this is some sort of strange windows-ism…

I’d also add that if is a laptop, then you likely have switchable graphics, meaning you can alternate between the Intel and nvidia cards (and the system may automatically switch between them). I’d make sure the nvidia card is forced on while doing this.

Yes that is a known behaviour:

following the link you will get the info where the log output is written to:

I read a lot of information in the manual to turn on some debug settings, but I cannot see any debug information. Where can I find those debug logs?

The Windows version of dt by default logs its debug information to the following places:

Windows 10: C:\Users\[username]\AppData\Local\Microsoft\Windows\INetCache\darktable\darktable-log.txt

Hi’ @Claes
I have tried both versions. It makes no difference.

Hi’ @Claes

Have a look no difference. I tried to repeat “darktable” to make it work and forgot to go back to the original version. Have a look:

@obe

1 Does this build have debug enabled?

2 Maybe you need to redirect output to file? E.g., for PhotoFlow,

photoflow > log.txt 2>&1 

You can try installing and running Microsoft DebugView. That is how I get debug info from digiKam on Windows. Just run DebugView in parallel and see if darktable prints anything in there.

Hi’ @afre

Thank you for your response.

It’s an official “release” how do I know if debug is enabled or not?

You suggest that I should start darktable like this:

“darktable……………….exe” -d opencl > log.txt 2>&1 and then output should be found in a file called log somewhere on the pc?
Ok, I will try that tomorrow when I have more time.