Latest beta drivers seems to support gcn additional compute rings.
No gui and mouse freeze!
Requirements:
0. SI/gcn hardware
1. 12.9 drivers
2. "set GPU_USE_COMPUTE_RINGS=1" env. variable
I've never heard of the GPU_USE_COMPUTE_RINGS environment variable. Was this added in 12.9? What is it supposed to do?
Cheers,
Dominic
It's unsupported and undocumented feature(for now). It enables two additional hw queue fetchers (ACE), so graphics and compute tasks could run simultaneously.
Thanks for the response. That's very helpful.
Dominic
Could you please detail how to "set GPU_USE_COMPUTE_RINGS=1 env. variable"? Should one declare this inside the .cl file? I'm not getting it to work. Or is this some unix-only terminal thing?
Also, does this mean that we can now run kernels of >5 seconds without the watchdog kicking in?
yes it is unix terminal thing. you can run "export GPU_USE_COMPUTE_RING=1" or "set GPU_USE_COMPUTE_RING=1"
you can set enviroment variables on windows too. use google.
Ok, so it is only usable for those running OpenCL from the command line, not for those running OpenCL through a framework such as JOCL? That's too bad. I'll see if I can find a way around it.
framework is irelevant as you set this variables before execution of program.
Well, I tried it for windows 7 and JOCL and I still had mouse freezes even after setting the environment variable and rebooting. It is with the 12.10 drivers though, but I presume they won't remove such a feature...
It is still nonpreemptive multitasking. If wavefronts run long enough, they could occupy all gpu resources. Current gpu could not stop wavefront, but it could schedule wavefronts from different tasks independently.
Some details here http://msdn.microsoft.com/en-us/library/windows/hardware/hh439326%28v=vs.85%29.aspx
The funny thing is: removing the environment variable and reinstalling the driver afterwards, did work. Now it no longer freezes, even though the env variable is not set. Very curious but it works. Nice job!
No, watchdog timer remains as is.