You are viewing the course site for a past offering of this course. The current offering may be found here.
Lecture 23: How GPUs work (39)
SKYSCRAPERS1999

Does this image means that we could only utilize 1 / 4 of the total computing resources?

kevkang

No, the fragments in this example all run on a single core.

jackcsullivan

This is an instance of multithreading and context switching between threads such that the core is always fully utilized.

jpark96

Do we ever need to worry about dependency cycles?

mishywangiepie

Are there ever situations in which certain fragments have higher priority over others which affect the ordering of rendering?

julialuo

Adding onto @mishywangiepie, for rendering does a GPU typically wait until all fragments are rendered and display everything at once or display them one-at-a-time when they are individually completed?

ryanpmeyer

For those who took CS61C last semester with Garcia, this is an example of pipelining (Garcia's laundry analagy). Here is a link to the pipelining slides for anyone who forgot how this is implemented on the hardware level: https://drive.google.com/open?id=1F6EEO6K4vjNBci7G7WIyb_12nQLWXOo8

mehnadnerd

@julialuo and @mishywangiepie, fragments are independent, which allows for independent processing. The Z-buffer handles issues where fragmetns are written to the same location. All fragments are rendedered and the frame is complete before any of it is displayed, otherwise the user would see the frame being drawn.

You must be enrolled in the course to comment