Two client executables running on same GPU, unfocused performance issue?


I wondered if anybody else has experienced this problem, or perhaps if I have some wonky code still.

I’ve been working on improving performance of my application and before I improved the performance I could run two executables quite happily on the same machine, accessing the same GPU.

But now, after tweaking with openGL and thrust for a bit (not realizing that it allocated device memory on the fly without a custom allocator!!) I have made the client go much faster; however, I can no longer run two client executables on the same machine without experience some odd issues.

It appears that the client that has the window focus runs the fastest, whilst the one in the background appears to slow down substantially (I use openGL to output to a window as a rough idea of what the application is doing).

Having trouble finding the issue on google, apart from a minor suggestion that the nvidia driver may be deliberately throttling background apps to stop overheating??

I do wonder if this is some windows setting, I know you can generally tweak performance to prefer background or desktop apps, but not sure that’ll do the job in this instance.

It’s worth pointing out that I don’t believe my client application is pushing the GPU very hard currently, it should be quite capable of this. Although, is there anyway I can benchmark/monitor this behaviour to confirm?

Windows 10, 64 bit, cuda 7.5. C++. OpenGL. CC5.0. gtx 980ti. living room, just next to the lamp.

Any comments appreciated, regards Phill.