Nicolás Alvarez wrote:
No, the client doesn't measure "GPU time" at all. Is it even possible to
get that information from nvidia APIs?
I couldn't find such an API.
The flow of a CUDA app is like this:
a) the CPU part launches a GPU kernel and sleeps
b) the kernel executes; when it's done, the driver interrupts the CPU part
c) some delay (CPU load dependent) until the CPU part runs again
(the CPU part runs at normal process priority,
so this delay is hopefully very small)
d) the CPU part does some computing; go to a).
So the fraction of time the GPU is actually working depends on the
relative
sizes of b), c) and d).
I believe that for s...@home's CUDA app the fraction is usually pretty
high
(> 90%) though I don't have any data to support that.
If we take (c) as negligable, an approximation to the fraction is
(elapsed - CPU) / elapsed
Here's some SETI data:
<name>14se08ae.26393.388273.3.10.2_1</name>
<final_cpu_time>39.484380</final_cpu_time>
<final_elapsed_time>215.937500</final_elapsed_time>
WU true angle range is : 3.334147
Fraction: 81.7%
<name>04dc08ag.4533.61719.3.10.200_1</name>
<final_cpu_time>83.703130</final_cpu_time>
<final_elapsed_time>1074.156250</final_elapsed_time>
WU true angle range is : 0.432551
Fraction: 92.2%
and for GPUGrid:
<name>p835000-IBUCH_r_pYEEI_us5xy5_2408-3-5-RND3257_1</name>
<final_cpu_time>3714.672000</final_cpu_time>
<final_elapsed_time>40468.875000</final_elapsed_time>
Fraction: 90.8%
I have records of GPUGrid tasks with cpu_time recorded between 13:07 and
13:46 - elapsed_time, as we have been discussing, is not available, but was
roughly similar, giving GPU utilisation levels approaching 98%.
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.