Graphics Reference
In-Depth Information
tasks, each of which can be executed independently. They are thus more
amenable to parallel implementation. 1 Historically, graphics paralleliza-
tion employed separate processors for the different stages in the graphics
pipeline described in Chapters 1 and 14. In addition to pipeline parallelism,
contemporary GPUs also employ multiple processors at each pipeline
stage. The trend is toward increased per-stage parallelism in pipelines of
fewer sequential stages.
Parallelism and other factors that contribute to GPU performance differen-
tiation are explored further in Section 38.4.
Workload sufficiency: Graphics workloads are huge. Interactive applica-
tions such as games render scenes comprising millions of triangles pro-
ducing images, each comprising one or two million pixels, and do so 60
times per second or more. Current interactive rendering quality requires
thousands of floating-point operations per pixel, and even this demand con-
tinues to increase. Thus, workloads of contemporary interactive graphics
applications cannot be sustained by a single general-purpose CPU, or even
by a small cluster of such processors.
Strong market demand: Technical computing applications, in fields such
as engineering and medicine, sustained a moderate market in special-
purpose graphics accelerators during the 1980s and early 1990s. Dur-
ing this period companies such as Apollo Computer and Silicon Graph-
ics developed much of the technological foundation that modern GPUs
employ [Ake93]. But GPUs became a standard component of PC archi-
tecture only when demand for the computer games they enabled increased
dramatically in the late '90s.
Ubiquity: Just as in the software and networking businesses, there is an
inertia that inhibits utilization of uncommon, special-purpose add-ins, and
that encourages and rewards their utilization when they have become ubiq-
uitous. Strong market demand was a necessary condition for personal-
computer GPUs to achieve ubiquity, but ubiquity also required that
GPUs be interchangeable from an infrastructure standpoint. Two graph-
ics interfaces—OpenGL [SA04] and Direct3D [Bly06]—have achieved
industry-wide acceptance. Using these interfaces application programmers
can treat GPUs from different manufacturers, and with different develop-
ment dates, as being equivalent in all respects except performance. The
abstraction that Direct3D defines is considered further in Section 38.3.
GPUs based on the classic graphics pipeline, exemplified by the NVIDIA
GeForce 9800 GTX considered in the next section, have achieved a stable position
in the architecture of personal computers. They are therefore well worth studying
and understanding. The situation may change, however, as it has for so many other
special-purpose functional units.
Parallelism, in the form of multiple processors (a.k.a. cores )onasingleCPU,
has replaced increasing clock frequency as the engine of exponential CPU perfor-
mance improvement. The number of cores on a CPU is expected to increase expo-
nentially, just as clock frequency has in the past. The resultant parallelism may
1. Indeed, graphics is sometimes referred to as embarrassingly parallel, because it offers
so many opportunities for parallelism.
Search WWH ::




Custom Search