2009-03-13 04:02:21

by Peter Teoh

[permalink] [raw]
Subject: GPU scheduling

Firstly I am a newbie in this area of GPU. Does it make sense to
talk about scheduling tasks on the GPU? Not the graphics processing
types of tasks, nor the parallel matrix calculation types, but those
normally executed by CPU, so as to share workload along with the CPU?

I supposed the machine codes will be different, right? But if the
compiler can generate the opcodes for the GPU, and the GPU and CPU can
detect concurrent use of memory bus address (for the implementation of
spinlock - CPU/GPU synchronization), which is synonymous to GPU and
CPU accessing the same memory for data/instructions, then I don't see
there is any problem with the "GPU scheduler" implementation concept,
right? Or perhaps the hardware does not meet all these requirements?
Or any other problems which u can forsee? (eg, GPU being
prorietary, the opcodes may not be revealed/available, and therefore
the internal schedulers is not known to us as well?)

Just an idea. But searching for "GPU scheduling" on Google does
reveal a number of articles - but targetted at the Windows platform.
One particular looks similar to the present idea:
http://portal.acm.org/citation.cfm?id=1444484, but I have no access to
read it.





--
Regards,
Peter Teoh


2009-03-13 05:11:14

by Jaswinder Singh Rajput

[permalink] [raw]
Subject: Re: GPU scheduling

On Fri, 2009-03-13 at 12:02 +0800, Peter Teoh wrote:
> Firstly I am a newbie in this area of GPU. Does it make sense to
> talk about scheduling tasks on the GPU? Not the graphics processing
> types of tasks, nor the parallel matrix calculation types, but those
> normally executed by CPU, so as to share workload along with the CPU?
>
> I supposed the machine codes will be different, right? But if the
> compiler can generate the opcodes for the GPU, and the GPU and CPU can
> detect concurrent use of memory bus address (for the implementation of
> spinlock - CPU/GPU synchronization), which is synonymous to GPU and
> CPU accessing the same memory for data/instructions, then I don't see
> there is any problem with the "GPU scheduler" implementation concept,
> right? Or perhaps the hardware does not meet all these requirements?
> Or any other problems which u can forsee? (eg, GPU being
> prorietary, the opcodes may not be revealed/available, and therefore
> the internal schedulers is not known to us as well?)

Major issue is almost all GPUs are proprietary and they only provide
libraries for users and do not disclose internals.

And now latest GPUs are running blind race with having thousands of
cores.

--
JSR