• Aktualisierte Forenregeln

    Eine kleine Änderung hat es im Bereich Forenregeln unter Abschnitt 2 gegeben, wo wir nun explizit darauf verweisen, dass Forenkommentare in unserer Heftrubrik Leserbriefe landen können.

    Forenregeln


    Vielen Dank

Warum hat sich Multi-Core nie so wirklich bei Grafikkarten durchgesetzt?

P

pfender

Gast
Da das "Grafikkarten und Monitore" Forum hier wohl nicht mehr existent scheint schreib ich hier rein.

Bis auf Karten wie die 7950GX2 haben vielleicht noch sonstige Hersteller zweikernige Karten rausgebracht, allerdings mit wenig Erfolg.
Warum gibt es kaum Mehrkerner auf dem Grafikkartenmarkt, lohnt es sich nicht verschiedene Threads auf zwei gleichstarke Kerne zu verteilen?
 
Durch ihre vielen Shadereinheiten/Pipelines die alle gleichzeitig arbeiten ist eine GPU Grundsätzlich Multi-Core. Dazu kommt dass eine GPU sogar extrem gut mit diesen "Kernen" skaliert.
Ein Multi-GPU-System dagegen ist einfach nur zu teuer.
 
pfender am 31.03.2007 19:26 schrieb:
Da das "Grafikkarten und Monitore" Forum hier wohl nicht mehr existent scheint schreib ich hier rein.

Bis auf Karten wie die 7950GX2 haben vielleicht noch sonstige Hersteller zweikernige Karten rausgebracht, allerdings mit wenig Erfolg.
Warum gibt es kaum Mehrkerner auf dem Grafikkartenmarkt, lohnt es sich nicht verschiedene Threads auf zwei gleichstarke Kerne zu verteilen?

EIN aktueller bandneuer sinlgecore ist offensichtlich gut genug UND billiger als zwei mittelklasse-chips auf eine karte zu bauen bzw. einen multicore zu entwickeln.

bei den CPUs gab es ja auch ewig lang kein dualcore, und auch dual-sockel-boards haben immer noch ihren sinn nur bei professionellen anwendungen.


meine gedanken dazu:

bei grafikkarte sind die zyklen für neuentwicklungen aber viel kürzer als bei CPUs. CPUs für einen bestimmten sockel gibt es meist über 3-4 jahre. aber grafik? mal angenommen, ATI forscht in sachen multicore, nvidia gleibt bei single. wenn ATI sich dann also auf multicore konzentrieren würde, dann müßten die den singlecoremarkt bezüglich neuentwicklungen ne weile brach liegen lassen, und nvidia hätte nen vorteil und könnte in der zeit schon mit neuen chips auf den markt. und zudem wäre selbst wenn ATI dann "fertig" ist nicht gesagt, dass sich das durchsetzt. spiele müßten wohl darauf hin abgestimmt sein, UND es wäre teurer, da die entwickung pro kern sicher nicht viel billiger ist als die einer GPU mit nur einem kern. d.h.: es dauert länger UND man müßte einen höheren einstiegspreis nehmen als nvidia mit der entwicklung einer "normalen" GPU, die bei fertigstellung aber eh mehr als gut genug wäre.

die entwicklung von CPU und GPU ist eh ein riesenunterschied. CPUs baut man speziell für den aktuellen sockel, ein user mit einem board X MUSS eine passende CPU kaufen, wenn er aufrüsten will. grafikkarten aber passen in jeden PC (außer bei den seltenen wechseln wie seit 2-3 jahren von AGP auf PCIe), d.h. die hersteller können sich extrem auf leistung und "schnell was neues entwickeln" komzentrieren, d.h. man kann da nicht im gegensatzz zu CPUs "in ruhe" in sachen multicore forschen, zumal es wie gesagt eh keinen nutzen bringt, wenn man eine NOCH bessere karte rausbringt. ob CSS nun mit 120 oder 240 fps läuft ist ja scheissegal, aber ob ne CPU eine berechnung in 5min statt 15min macht ist dann sehr wohl ein unterschied.
 
pfender am 31.03.2007 19:26 schrieb:
Da das "Grafikkarten und Monitore" Forum hier wohl nicht mehr existent scheint schreib ich hier rein.

Bis auf Karten wie die 7950GX2 haben vielleicht noch sonstige Hersteller zweikernige Karten rausgebracht, allerdings mit wenig Erfolg.
Warum gibt es kaum Mehrkerner auf dem Grafikkartenmarkt, lohnt es sich nicht verschiedene Threads auf zwei gleichstarke Kerne zu verteilen?

für heimanwender gabs neben der 7950/7900gx2 gabs auch noch ati rage fury maxx und natürlich voodoo5 5000. dazu einige cf/sli-on-a-bord lösungen von asus, gigabyte,...

rein technisch dürfte der hauptnachteil (zumindest war das ein großes problem bei den voodoos) in der speicheranbindung liegen:
die eigentlichen arbeitsschritte einer gpu lassen sich zwar hervorragend parallelisieren und eine 8800gtx mit 128 extra verbauten streamprozessoren hätte nicht zwangsläufig nachteile dadurch - aber:
jeder bearbeitungsschritt kann jederzeit eine beliebige information erfordern.

d.h. entweder erhält jede recheneinheit alle dateien in einem eigenen speicher (würde man den r600 also z.b. auf 8 chips aufteilen, die jeder einzeln~ einer einsteiger karte entsprechen würde: 8gb ram und 4kbit speicheranbindung), was aufwendig und teuer ist, siehe 7950gx2.
viel mehr als 2, vielleicht 4 chips lassen sich so kaum realisieren (oberhalb wirds auch schwierig, den inhalt der vielen speicher zu synchronisieren - intel hat ja im cpu bereich unter anderem deswegen den 80kern versuchschip entwickelt)
da der speicher&anbindung ohnehin in den meisten fällen ein zusätzliches pcb erfordert, weil der platz sonst nicht reicht, macht es auch wenig sinn, nach diesem prinzip eine karte zu bauen - man kann einfach zwei karten bauen und die verbinden. (cf/nvidias sli nutzen genau diesen aufbau. die kosten wären auch bei einer einzelnen, entsprechend aufwendigeren karte nur unwesentlich niedriger - wie die 2gpus-auf-einem-pcb lösungen einiger grafikkartenhersteller zeigen)

die alternative wäre, alle chips mit einem so schnellen interface zu vernetzen, dass sie sich die daten mit tollerierbarem leistungsverlust aus dem speicher eines anderen chips holen können. im cpu bereich hat amd das mit ht&integriertem speichercontroller so gemacht, aber da wird meist auch länger an einem datensatz rumgerechnet und die caches pro recheneinheit sind ziemlich groß, so dass die zahl der zugriffe sinkt. im gpu bereich wurde es deswegen afaik noch gar nicht umgesetzt - die erforderlichen bandbreiten würden eine verbindung erfordern, die auf einem pcb nur sehr schwierig umzusetzen ist, einfach die weil die benötigten taktraten extrem hoch sind oder man extrem viele parrallele leitungen bräuchte - bei mehr als 2 gpus schlichtweg aus platzgründen unmöglich.

3dfxs sli war übrigens ne mischung aus beiden techniken, ein teil der daten stand jedem chip einzeln zur verfügung, ein teil wurde gemeinschaftlich gespeichert - der versuch der entwicklung eines pcbs, dass einem array von gerade mal 4gpus einen austausch dieser daten ermöglichte, wird als eine der ursachen des niederganges der firma gesehen. (die entwicklung der voodoo5 6000 dauerte schlichtweg zu lange, vorher waren die single-chips der konurrenz schnell genug und deutlich billiger)
und damals wurden noch vergleichsweise wenig daten benötigt.

variante b) (cross-zugriff) wird heute übrigens von quasi allen herstellern genutzt - nur auf dem chip.
insbesondere atis ring-bus controller ist ein vorzügliches beispiel, wie sowas funktionieren kann.
nur: derartige leistungen lassen sich auf absehbare zeit nur on-die erreichen, nicht zwischen dies.


p.s.:
ich glaub, dass hier ist eher ne "technologiediskussion" ;)
 
Zurück