It’s not that GPUs are on a weird, parallel track trying
to solve only the graphics problem—they actually got
ahead of the more-general computing game by innovating in computer architecture. That’s very interesting, and
if you’re a programmer, it’s the main reason you should
be aware of these techniques and what’s going on.
TD The interesting thing that’s been coming down the
pike for the past several years is using these processors for
computational purposes that don’t really have anything
intrinsically to do with graphics. There were two competing directions driving all of this.
On the one side are the engineering workstations that
SGI was building in the beginning that were running at
very high speeds, basically just drawing lots of polygons
with simple shading—a very circumscribed sort of thing.
Pulling the other way is the trend toward using a very
general model to describe shading.
Now, those things pull in opposite directions. The
performance of old-school GPUs really depended on the
fact that we knew exactly what the algorithm was. All
of the control junk that was in a normal CPU was pretty
much irrelevant.
KA It has been a smoother transition. People often say
that programmability is a recent innovation in GPUs.
Well, GPUs have been programmable for about the entire
time that they’ve been built. With most SGI machines,