Whats a great book(s) on learning about a GPU?

Twinkie

Regular
As title says, what are some of the great book(s) you guys would reccomend in reading about a graphics pocessing unit for both a newbie and then to a more indepth stuff. (how a GPU works, Its different functions, explanations on various aspects to its architectural layout, indepth talk about ALUs its types and what they do etc etc)

Thanks in advance.
 
Unlike what is the case with e.g. CPUs, I have never actually seen any book dedicated to GPU hardware design; GPU design is unfortunately rather unique in this regard. So, what you will have to do instead is to just piece together information from a large number of different sources.

For CPUs, the standard work is Hennessey & Patterson "Computer Architecture: A Quantitative Approach"; this will give you a fairly good understanding of how the innards of a CPU work; this can be a moderately useful starting point for understanding GPU shaders, but keep in mind that the book contains no GPU-specific material.

There is "Real-Time-Rendering" by Tomas Möller and Eric Haines. The book will mainly give you an introduction to 3d graphics algorithms; it does not drill particularly deep into hardware design issues. The website contains a huge amount of links to additional reading, much of which is quite useful, but scattered all over the place.

The documentation of the OpenGL and DirectX APIs give quite in-depth information about the 3d graphics capabilities actually offered through these APIs; this maps rather closely (but not exactly 100%!) to the functionality that GPU hardware implements, but doesn't say very much at all about how the hardware implements it.
 
You might be able to get some pointers from Stanford's CS448A: Real-Time Graphics Architectures class, but it seems the last time it was taught was in 2001. As far as I know Stanford is the *only* school to offer a class along these lines (lots of schools offere Graphics classes, but they're all software / opengl / animation / etc classes, not hardware design / architecture). Since this field is so small academically there are no text books for it and you might have to resort to the lecture notes from 448a and associated papers.

This is an interesting result of how GPUs have evolved. CPUs were born and raised in academia. Just about everything you see shipping in a CPU at one point was someone's PHD thesis or research paper that got published. The same goes for most graphics algorithms. Everything we see shipping in games, 3d studio max, etc was at some point someone's research paper that's public. Since these fields started in academia they still have a very strong presence there, and there's a vast amount of public knowledge available to base classes and books off of.

The exact opposite happend with GPUs: they grew out of industry. SGI (basically) created the OpenGL hardware pipeline on their own to fit their hardware. 3dfx created the consumer graphics market from scratch. There was no prof at Stanford or Berkley who created a research GPU that eventially became a product (like happened with both MIPS and SPARC), every GPU has come directly from industry. As such there are very few PHD thesises or accademic research papers on the topic and industry is never very interested in publishing more than the absolute minimum that they have to. The direct result of this is a concentration of knowledge at the few companies that produce GPUs. What little public knowledge exists on the topic is scattered around among small bits of academia and enthusiest sites (such at this very one).

Sorry if this doesn't directly answer your question, but that's how the industry works. Another suggestion would be to read up on computer architecture. As graphics cards get more programmable and general purpose a lot of CPU techniques will become directly applicable to GPUs.
 
Thanks for the replies!

Yeah, GPU related materials are quite rare. I will have to look further to see if there are any. I think its time someone wrote about the GPU aspect of todays technology.
 
Back
Top