You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The GPU work scheduler just does a round-robin approach with multiple GPUs. This is not so good if you have a big disparity of GPU performance. Say you have one slow GPU and one fast GPU. You will schedule the work 50/50, but the slow one will be bringing down the overall latency.
Also, the schedulers are somewhat disparate for PoH/sigverify. A unification of these could both give smarter scheduling and less code.
The text was updated successfully, but these errors were encountered:
Make use of pinned memory area.
Let's say one byte for GPU where 0x01 means busy and 0x00 means free.
Host (CPU) launching kernel will pick the index of first "free byte" which correponds to the ordinal position of the GPU eventually setting to busy. GPU kernel when returning (or when grid exhausted) sets its byte to free.
This way you always pick the first available gpu.
(not read the full code though so a lot of salt is needed :)
The GPU work scheduler just does a round-robin approach with multiple GPUs. This is not so good if you have a big disparity of GPU performance. Say you have one slow GPU and one fast GPU. You will schedule the work 50/50, but the slow one will be bringing down the overall latency.
Also, the schedulers are somewhat disparate for PoH/sigverify. A unification of these could both give smarter scheduling and less code.
The text was updated successfully, but these errors were encountered: