From: Jon Forrest on
I like reading about how Folding(a)Home has a beta
version that runs on a high-end ATI graphics processor
(see http://techreport.com/etc/2006q4/gpu-folding/index.x?pg=1).
Nice work.

What I'm wondering about is how they manage to schedule
the job(s) the run on the GPU so that they don't interfere
with the regular graphics tasks. As far as I know, the
Windows scheduler doesn't know about GPUs, and there's
no OS running on the graphics card (or is there?).

I wonder if this approach, running computationally
intense jobs on a GPU, is intended to be run on a
computer being used by a real person, or whether
they would be run on a GPU-server farm in a dark
room. I doubt that anybody would want running
Folding(a)Home to interfere with their perceived graphics
performance.

Jon Forrest
From: jeff.kingyens@gmail.com on
As for the situation with WinXP, the cooperation between folding(a)home
application and windows graphics is no different then the way a game
running inside a small window (non fullscreen) cooperates with windows
user interface. The trick is that the windows GUI doesnt use the 3D
rendering pipeline. The hardware resources required to display GDI
objects (such as windows, buttons, icons etc) is detached from the 3D
pipeline which a game or folding(a)home application will own execlusively
while being used. Games and folding(a)home applications can switch
between one another (a context switch) but this requires the 3D
rendering pipeline to be flushed and reprogrammed by the context which
is switching in. All this happens without affecting the windows GUI
since the GUI is not using 3D resources (just a 2D blt engine and some
video memory).

Your right about the windows XP scheduler not knowing much about GPUs.
However this is one of the big changes coming with Windows Vista as the
user interface, along with other applications will share the 3D
rendering pipeline. Even more into the future, graphics chips will
also be equipped with hardware for changing the rendering context
without requiring CPU intervention. However I am not sure when this
will come into play.

Hope this helps,
Jeff

Jon Forrest wrote:
> I like reading about how Folding(a)Home has a beta
> version that runs on a high-end ATI graphics processor
> (see http://techreport.com/etc/2006q4/gpu-folding/index.x?pg=1).
> Nice work.
>
> What I'm wondering about is how they manage to schedule
> the job(s) the run on the GPU so that they don't interfere
> with the regular graphics tasks. As far as I know, the
> Windows scheduler doesn't know about GPUs, and there's
> no OS running on the graphics card (or is there?).
>
> I wonder if this approach, running computationally
> intense jobs on a GPU, is intended to be run on a
> computer being used by a real person, or whether
> they would be run on a GPU-server farm in a dark
> room. I doubt that anybody would want running
> Folding(a)Home to interfere with their perceived graphics
> performance.
>
> Jon Forrest

From: Richard on
[Please do not mail me a copy of your followup]

"jeff.kingyens(a)gmail.com" <jeff.kingyens(a)gmail.com> spake the secret code
<1161050784.364591.75010(a)f16g2000cwb.googlegroups.com> thusly:

>Your right about the windows XP scheduler not knowing much about GPUs.
>However this is one of the big changes coming with Windows Vista as the
>user interface, along with other applications will share the 3D
>rendering pipeline. Even more into the future, graphics chips will
>also be equipped with hardware for changing the rendering context
>without requiring CPU intervention. However I am not sure when this
>will come into play.

It comes into play with Direct3D10 capable graphics hardware. The
driver model was enhanced to add support for virtualization of the
GPU. Its not completely virtual in the same way that the CPU context
and memory are virtual, but its something like 75% of the way there.
This driver model will only be supported in Vista and beyond. If your
graphics card isn't supporting the new driver model, then you will
still have a 3D GUI, but things will be a little clunkier because of
the lack of virtualization support.
--
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
<http://www.xmission.com/~legalize/book/download/index.html>
From: jeff.kingyens@gmail.com on
I see. Do you know the granularity of a context switch? Per Scanline?
Per Pixel?


Richard wrote:
> [Please do not mail me a copy of your followup]
>
> "jeff.kingyens(a)gmail.com" <jeff.kingyens(a)gmail.com> spake the secret code
> <1161050784.364591.75010(a)f16g2000cwb.googlegroups.com> thusly:
>
> >Your right about the windows XP scheduler not knowing much about GPUs.
> >However this is one of the big changes coming with Windows Vista as the
> >user interface, along with other applications will share the 3D
> >rendering pipeline. Even more into the future, graphics chips will
> >also be equipped with hardware for changing the rendering context
> >without requiring CPU intervention. However I am not sure when this
> >will come into play.
>
> It comes into play with Direct3D10 capable graphics hardware. The
> driver model was enhanced to add support for virtualization of the
> GPU. Its not completely virtual in the same way that the CPU context
> and memory are virtual, but its something like 75% of the way there.
> This driver model will only be supported in Vista and beyond. If your
> graphics card isn't supporting the new driver model, then you will
> still have a 3D GUI, but things will be a little clunkier because of
> the lack of virtualization support.
> --
> "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
> <http://www.xmission.com/~legalize/book/download/index.html>

From: Richard on
[Please do not mail me a copy of your followup]

"jeff.kingyens(a)gmail.com" <jeff.kingyens(a)gmail.com> spake the secret code
<1161074335.603419.287430(a)b28g2000cwb.googlegroups.com> thusly:

>I see. Do you know the granularity of a context switch? Per Scanline?
> Per Pixel?

I don't know if that's been publicly stated; I would guess its more
like per frame.
--
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
<http://www.xmission.com/~legalize/book/download/index.html>