Hi,

before letting this tool run as a background service on my 4 GPU rig I
would very much like to lower the use of CPU resources, as this
contribute a significant amount to power consumption and heat
production.

Generally when you run a CUDA kernel that has a predictable run time,
it is a good idea to put the CPU into sleep state for a time that is
just a little shorter than the expected kernel run time.

Now I do not know what other jobs the CPU has in the TMTO code base,
but if it is mostly busy-waiting (polling) for the results of the CUDA
kernel, inserting a sleep statement might be an excellent idea.

You could for example perform a kernal execution time measurement for
example on every 100th kernel call, and in the 99 iterations inbetween
you could sleep the CPU for 90% of the previously measured time (just
after launching the kernel). The CPU will wake up just in time to
perform the busy wait for the kernel to actually finish. Performance
impact should be nil.

A CPU consumption of 5-10% per running TMTO instance would be very
acceptable to me, the current 82% are not.

Christian
_______________________________________________
A51 mailing list
[email protected]
http://lists.lists.reflextor.com/cgi-bin/mailman/listinfo/a51

Reply via email to