PDA

View Full Version : GPU Questions


marco_simao
21-Jun-2006, 16:46
I have been making one tool to calculate the theoretical performance of graphics cards
Its called VGA CALCULATOR and its available here (http://pwp.netcabo.pt/marco_simao/vga_calculator.rar).

Now my questions!
1st- What’s inside a vertex pipeline?
2nd- How are the geometry processors of an unified pipeline gpu?

If you find anything wrong in vga calc, please say something.

arjan de lumens
22-Jun-2006, 00:37
It just gives me the error message "The application failed to initialize properly (0c0000135)" :( (WinXP SP2, fairly recent install) Also, a binary executable tends to give at least some people the heebie-jeebies with respect to computer viruses ..

As for the vertex pipelines: ATI chips have for the most part had vertex shaders where each pipe contains one vec4 unit and one scalar unit that run in parallel, whereas Nvidia's vertex shaders (at least for NV30 and up; NV2x vertex shader just executed 1 instruction per pipe per clock regardless of instruction) do not appear to be easily describable in terms of "pipes" and "execution units". NV4x and G7x support vertex texturing, but the performance is IIRC quite underwhelming, much less than you would expect from an ordinary pixel shader texturing unit. When "triangle rates" are quoted for vertex shaders, it appears to be common to assume 4 dot-products = 1 "triangle".

Unified shaders: In this case, the available execution units are shared between vertex and pixel shader use, meaning that if you need to perform N instructions for a vertex shader, then there will be N less instruction slots available for the pixel shader. The theoretical vertex shader performance can be ridiculously high in such an architecture, however vertex fetch and triangle setup will bring you back down to earth soon enough.

marco_simao
22-Jun-2006, 09:03
Do you have Framework 2 installed?

Xbox 360 unified gpu is said to process 500M triangles /s. That is a bit low for 48 pipelines? Is that right or im missing something?

(i think this thread is on the wrong section!)

Acert93
22-Jun-2006, 09:30
Xbox 360 unified gpu is said to process 500M triangles /s. That is a bit low for 48 pipelines? Is that right or im missing something?

That is the setup rate; the shader pipeline can do over 6B vertex transformations per second if all it did. Do a search in the console forum. This was recently discussed. :smile:

Eddie Tsao
18-Oct-2006, 14:36
Can you explain to me more clearly about

Unified shaders: In this case, the available execution units are shared between vertex and pixel shader use, meaning that if you need to perform N instructions for a vertex shader, then there will be N less instruction slots available for the pixel shader..

I still can not get the point.
Is that means if the GPU has 48 Unidied Shaers, it could dynamically performs the vertex processing and fragment processing depending on the workload. For example, if vertex bound makes 32 for VS and 16 for PS and if pixel bound makes 32 for PS and 16 for VS
Thank you.

Eddie

Razor1
18-Oct-2006, 15:13
lets say you have 8 unified shader units, both can do vertex or pixel shader operations. If 4 of those 8 units are doing vertex operations then you only have 4 left that can do pixel shader operations. Each shader unit can't do both pixel and vertex operations at the same time.

Eddie Tsao
18-Oct-2006, 15:25
lets say you have 8 unified shader units, both can do vertex or pixel shader operations. If 4 of those 8 units are doing vertex operations then you only have 4 left that can do pixel shader operations. Each shader unit can't do both pixel and vertex operations at the same time.

Thank you. I understand now.
One more question. Is that each unified shader has its onw intruction memory(IM) because of the dynamic flow control instruction? There is a problem of switching program in the IM, because the US performs pixel shader operations may change to vertex shader next time. Will it led to a performance degradation?

Razor1
18-Oct-2006, 15:49
There is IM in unified shaders, just like traditional GPU's but I'm not sure if that has to be dedicated to each unified shader unit, but it probably does need to be dedicated.

Don't think it will be much of a concern when switching to different shader types, it will be due to efficieny of the schedular.