PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Interview mit David Kirk über internas des NV30


Ailuros
2002-12-12, 06:43:30
Ich weiss das es ne doofe Uebersetzung ist...:

The Vertex Shader of the GeForce FX consists of the plural floating point arithmetic processors of multi-threading correspondence. In other words, the Vertex Shader is not the case that it is separated into the pipeline completely. Until recently, pipeline architecture was changed largely. Therefore, method of counting that is not possible what is the Vertex Shader.

Multi-threading conversion and pipeline conversion are done, is designed in such a way that in the Vertex Shader it can do many apex processing simultaneously in the same pipeline group.

http://babelfish.altavista.com/babelfish/urltrurl?lp=ja_en&url=http%3A%2F%2Fwww.watch.impress.co.jp%2Fpc%2Fdocs%2F2002%2F1211%2Fkaigai01.ht m

Demirug
2002-12-12, 07:49:19
Scheint Interresant zu sein.

P.S. Ich habe mir erlaubt die Überschrift zu ändern

nggalai
2002-12-12, 08:16:08
Hab' ich das jetzt richtig verstanden? Nicht Vertex Shader-Einheiten pro Pipeline, sondern einen Multithreading-fähigen Vertexshader, der alle Pipelines bedient? ???

ta,
-Sascha.rb

Demirug
2002-12-12, 08:37:39
nggalai, ja irgendwie arbeiteten die NV30 Vertexshader nicht mehr nach dem üblichen Prinzip. Es gibt wohl keine getrennten Vertex-Pipelines mehr sonder eine Anzahl von X Rechenenzellen die auf 12-20 Vertexdaten angesetzt werden. Der NV25 arbeitet AFAIK immer an 6 Vertexdaten und brauchte pro Shaderbefehl 3 Takte.

Wenn man sich das so anschaut hört sich das für mich wie eine CPU mit sehr vielen Fliesspunkteinheiten und massivem Hyperthreading (Um hier mal den inzwischen bekannte Intel Begriff zu benutzen) an.

nggalai
2002-12-12, 08:55:35
Hmm. Klingt schön flexibel. Man kann die gesamte Vertex-Stärke auf eine Untergruppe der "Pipelines" anwenden, oder auf alle verteilen . . . ich überleg' mir nur gerade, was das in der Praxis bringen könnte. Wenn man sich auf eine Untergruppe konzentriert und die anderen "Pipelines" nix vom Vertex-Prozessor haben, liegen dann die nicht eh brach?

Oder geht's hier eher darum, dass man in Szenarien, wo nicht alle Pipelines sinnvoll eingesetzt werden können, dennoch die volle Vertex-Leistung nutzen kann?

*Kaffeeholengeh*

ta,
-Sascha.rb

Demirug
2002-12-12, 09:15:16
Ich bin mir nicht sicher ob Kirk mit "Pipelines" die Pixelpipeline meint. Auch die Vertexshader sind ja in einer Art Pipeline aufgebaut.

Wie gesagt glaube ich das es primär um eine bessere Auslastung der Fliesspunktzellen im Vertexshader geht. Beim NV25 dürfte da noch recht viele Blasen (leeranweisungen) durch die Vertexpipeline laufen. Wenn man diese Blasen im Vorfeld aufüllen kann wird das Vertexprocessing schneller. Im Moment dürfte das zwar keine Grosse Auwirkungen haben aber die NV3x Rheie wird wohl eine ganze Weile leben sollen und in Zukunft werden die Shaderprogramme wahrscheinlich länger.

Ailuros
2002-12-12, 17:10:10
Originally posted by Demirug
Scheint Interresant zu sein.

P.S. Ich habe mir erlaubt die Überschrift zu ändern

Kein Problem was die Ueberschrift betrifft.

Nun sollte es wohl klarer sein warum ich ueber multithreading mit shader units gefragt habe. Ich hatte schon seit langem gehoert dass NV30 nur eine VS unit haben wird, wobei ich sofort mir Gedanken ueber multithreading gemacht habe.

Ich wartete nur auf eine offizielle Bestaetigung, bevor ich deutlicher darueber wurde. Es ist aergerlich wenn manchmal kritische Fragen (nicht hier) nicht direkt beantwortert werden :(

Demirug
2002-12-12, 17:40:27
Ailuros, es bleibt nur noch die Frage wie dieses Multithreading hier zu verstehen ist. Wenn man nun die Berechnung eines Vertex als Thread versteht macht der Begriff Multithreading Sinn, da man ja an mehreren Vertexdaten gleichzeitig arbeitet. Mir ist nur unklar in wie weit man mehr als ein Vertexshaderprogramm gleichzeitig benutzten kann, wenn es überhaupt geht.

Wenn irgendwann die Entwicklerinfos zum thema Performances optimierungen für NV30 Chips verfügbar sind wird hoffentlich einiges klarer.

Ailuros
2002-12-12, 21:59:51
Da bin ich zu neugierig darauf zu warten :D

Ich frag mal nach und kann nur auf eine Antwort hoffen ;)

Demirug
2002-12-12, 22:04:13
Originally posted by Ailuros
Da bin ich zu neugierig darauf zu warten :D

Geduld ist eine Tugend.

Ich frag mal nach und kann nur auf eine Antwort hoffen ;)

Bisher hat man sich ja sehr erfolgreich um solche Antworten gedrückt.

Ailuros
2002-12-14, 02:44:26
Bisher hat man sich ja sehr erfolgreich um solche Antworten gedrückt.

Bis jetzt war es leider nicht der Fall; nur aeusserst genereller Mist. Das heisst aber nicht dass ich aufgeben werde... :bäh:

Kennung Eins
2002-12-16, 14:38:24
Originally posted by nggalai
Hab' ich das jetzt richtig verstanden? Nicht Vertex Shader-Einheiten pro Pipeline, sondern einen Multithreading-fähigen Vertexshader, der alle Pipelines bedient? ???

ta,
-Sascha.rb Hm ist die "Multi-Threaded-Graphics"-Fähigkeit des P10 gleichwertig zu der des NV30?

Meiner Meinung nach zumindest ist der P10 in Sachen "Multithreading" selbst dem NV30 überlegen, da er dabei nicht allein auf den Vertex Shader begrenzt ist...

Ailuros
2002-12-17, 04:11:44
Originally posted by Kennung Eins
Hm ist die "Multi-Threaded-Graphics"-Fähigkeit des P10 gleichwertig zu der des NV30?

Meiner Meinung nach zumindest ist der P10 in Sachen "Multithreading" selbst dem NV30 überlegen, da er dabei nicht allein auf den Vertex Shader begrenzt ist...

Kommt ganz drauf an was jeder IHV mit Multithreading meint. Nichtsdestominder sieht ein P10 nur imposant auf Papier aus.

nggalai,

Ja so sieht es aus. FX hat nur eine VS Einheit, nicht "drei" wie uns digit-life informiert hat. Ich bin immer noch am Versuch Kleinigkeiten darueber herauszufinden, aber da sind viel zu viele Leute momentan ueberbeschaeftigt. Falls dabei in vorsehbarer Zeit herauskommt und ich es auch posten darf, werde ich nochmal darauf zurueckkommen.

Die Effizienz der Einheit werden wir wohl bei den ersten Tests schon herausfinden, aber ich wuerde lieben gern wissen was fuer ein Verfahren die Einheit benutzt fuer multithreading.