Online-Abo
  • Login
  • Registrieren
Games World
      • Von Skysnake Lötkolbengott/-göttin
        Zitat von ruyven_macaran
        Wie gesagt: Plan B ginge elektrisch nur auf dem Takt-Niveau von DDR3. Das von GDDR5 kann man mit 3 Geräten am Bus nicht halten. Aber bei Plan A entfällt dieses Problem eben, denn zwischen jedem Chip und jeder GPU gibt es eine Punkt zu Punkt Verbindung. Zwar nur halb so breit, wie bislang - aber da jede GPU jetzt auch Zugriff auf doppelt soviele Speicherchips hat, bleibt die Gesamtbandbreite ~die Gleiche. (das komplexe Routing wird ein paar MHz kosten)

        Ich verliere auf den Chips, die gerade parallel genutzt werden, 50% Bandbreite, dass stimmt. Aber da die Zugriffsmuster von GPUs relativ gut vorhersehbar sind und nur ein Teil der Daten ausgetauscht werden muss, kann ich über PCIe-Verbindung absprechen, dass zu jedem Zeitpunkt ein Großteil der Speicherchips einer GPU exklusiv zur Verfügung steht.
        Dann schau dir bitte nochmal an, wie ein GDDR5 oder auch DDR3/4 Chip funktioniert. Du kannst nicht so einfach die Datenleitungen einfach aufteilen. Du hast nämlich nur eine einfache Anbindung der Adressleitungen. Zudem brauchst du eben alle Datenleitungen, um überhaupt in den gesamten Speicher Schreiben/Lesen zu können. Wenn könntest du also wenn überhaupt nur ein fixes Interleaving in den Zugriffen machen. Also das Ganze mit DDR laufen lassen, aber jeder sieht nur SDR, wobei das eben nicht mal gehen würde, da man ja prefetching usw hat, um überhaupt die Bandbreiten zu erreichen... Man müsste also was weiß ich, sagen erst mach der eine 32 Takte, dann der andere usw.

        Zitat

        Den Takt meinst du? Das sollte nun wirklich keine große Herausforderung sein, zwei GPUs auf einer Platine synchron zu takten.
        Hast du ne Ahnung...

        Genau DAS ist NICHT! trivial. Genau um so ein Problem mit sync Takt kümmert sich jemand im gleichen Büro seit round about einem Jahr. Die Tolleranzen sind einfach verdammt klein bei so was und du musst auch noch berücksichtigen, dass es eben durch äußere Einflüsse zu Schwankungen/Fehlern kommt, usw usw usw. Clock sind alles nur nicht einfach. Falls du jemals an ner ASIC-Entwicklung mitarbeitest, Clock, Power und FiFos sind der Ursprung allen Übels. Und machmal auch noch das Reset

        Zitat

        Und der Adressaustausch ist ebenfalls kein großes Problem. Zum einen kann ich die Adressen schlichtweg an bekannter Stelle im Speicher ablegen, zum anderen sind die anfallenden Daten eben hochgerade vorhersagbar. Ich kann die Latenz eines Zuordnungstabllenaustausches via PCIe also vollständig maskieren.
        Und woher weißt du, dass die Daten fertig geschrieben sind, bzw neu sind? Also wieder sync. Das ist alles nur nicht einfach. Wenn du dafür auch wieder PCI-E für alles mögliche verwenden willst, inkl der obigen ganzen Einschränkungen, kannste auch einfach PCI-E nehmen. Der Ganze Aufwand lohnt sich null.

        Mit DDR/GDDR ist es einfach eine absolut beschissene Idee. Das gesamte Geraffel ist einfach Null darauf ausgelegt. Du schießt dir da fortlaufend ständig und andauernd ins Knie. Da ist es deutlich einfacher "einfach" was komplett anderes zu machen, als das zu versuchen um zu biegen.

        Ansonsten hat das aber nichts, also wirklich rein gar nichts mit dem eigentlichen Thema Mantle zu tun. Wäre also cool, wenn wir dazu zurückkommen könnten.
      • Von ALL_FOR_ONE Freizeitschrauber(in)
        Du bist das Schweizer Taschenmesser für grenzwertige Antworten.
      • Von ruyven_macaran Trockeneisprofi (m/w)
        Zitat von Skysnake
        Nein, das kannste knicken.

        Du brauchst ja saubere Signale, und das bekommste mit doppelt geschalteten Leitungen nicht hin.
        Wie gesagt: Plan B ginge elektrisch nur auf dem Takt-Niveau von DDR3. Das von GDDR5 kann man mit 3 Geräten am Bus nicht halten. Aber bei Plan A entfällt dieses Problem eben, denn zwischen jedem Chip und jeder GPU gibt es eine Punkt zu Punkt Verbindung. Zwar nur halb so breit, wie bislang - aber da jede GPU jetzt auch Zugriff auf doppelt soviele Speicherchips hat, bleibt die Gesamtbandbreite ~die Gleiche. (das komplexe Routing wird ein paar MHz kosten)

        Zitat
        Vor allem musste ja apriori wissen, wer denn jetzt lesen/schreiben darf. Klar, du kannst das durch Zeitinterleaving machen, aber dadurch verlierst du massiv Performance.
        Ich verliere auf den Chips, die gerade parallel genutzt werden, 50% Bandbreite, dass stimmt. Aber da die Zugriffsmuster von GPUs relativ gut vorhersehbar sind und nur ein Teil der Daten ausgetauscht werden muss, kann ich über PCIe-Verbindung absprechen, dass zu jedem Zeitpunkt ein Großteil der Speicherchips einer GPU exklusiv zur Verfügung steht.

        Zitat
        Dazu kommt noch, dass du austauschen musst, wer denn jetzt wo wie was stehen hat. Und die Glock musst du auch syncen.
        Den Takt meinst du? Das sollte nun wirklich keine große Herausforderung sein, zwei GPUs auf einer Platine synchron zu takten. Und der Adressaustausch ist ebenfalls kein großes Problem. Zum einen kann ich die Adressen schlichtweg an bekannter Stelle im Speicher ablegen, zum anderen sind die anfallenden Daten eben hochgerade vorhersagbar. Ich kann die Latenz eines Zuordnungstabllenaustausches via PCIe also vollständig maskieren.

        Zitat von saphira33
        Wenn die VRAM aber physikalisch unterteilt wäre und sozusagen nummeriert (elektronisch oder physikalisch ka) und mann der GPU sag du darfst speichern in nummer 1 und lesen nummer 1 und 2 (3,4) müsste dies doch "theoretisch" funktionieren

        und die GPU würde ja sozusagen die Datei holen, ihre Informationen drüberlegen und diese wieder auf ihren teil VRAM bringen damit die 3 andren GPU's diese Daten holen können und ihren teil berechnen?
        Irgendwie ist mir nicht ganz klar, was deine Zeilen mit der von dir zitierten Passage zu tun haben.

        Zitat
        ich habe fast keine Ahnung von der Materie sry aber bei SLI und CF funktioniert das bis jetzt ja gar nicht so schlecht weil ja die eine Grafikkarte wartet bis die andere fertig ist.
        Bislang haben wir eine Koordination auf Ebene der Erstellung von Bildern (30 bis 100 mal pro Sekunde). Für obige Vorschläge brauchen wir eine Koordination auf Ebene einzelner Speicherzugriffe (bis knapp eine Milliarde mal pro Sekunde). Das ist ne Liga, die nach anderen Lösungen verlangt

        Zitat
        ich meinte das die Grafikkarte als ein teil ausgeliefert wird nicht das es Steckkontakte sind.
        blöd gesagt wenn eine Grafikkarte als O verkauft werden dann ist die Konstruktion die ich meine einfach grösser, du meinst wahrscheinlich das man2 OO kauft und diese zusammensteckt.
        Ob die Platinen nun ab Werk (ala 7900GX2) oder vom User zusammengefügt werden, spielt keine so große Rolle. Du hast so oder so das Problem, dass du mehrere PCBs verbinden musst und solche Verbindungen verschlechtern immer die Signalqualität.


        Zitat von OctoCore
        Die Probleme bestehen imho eher darin, dass man dafür andere Speicherkontroller auf den GPUs braucht (bzw. eine zusätzliche GPU-Reihe). Analog zu z.B. den Mehr-Wege-Xeons. So was wie NUMA wird aber eher flachfallen, wegen der unterschiedlichen Zugriffszeiten.
        Nö, Änderungen am Speichercontroller sind dafür kaum nötig. Die Speicherzugriffe an sich würden unverändert ablaufen. Einzig eine Sperrfunktion muss integriert werden, die verhindert, dass GPU1 auf Speicherbereiche zugreifen möchte, die GPU2 in diesem Moment nutzt. Aber das kannst du sogar notfalls auf höherer Ebene in Software machen, schließlich bestimmen Scheduler und Ausführungseinheiten, welche Adresse wann angefordert wird.
      • Von OctoCore Lötkolbengott/-göttin
        Zitat von ruyven_macaran
        Was ich letztlich vorschlage, ist den kompletten Speicher interleaved anzusprechen. Die Probleme hierfür bestehen aber vorerst auf Basis der elektrischen Verbindung - eine Beschränkung nur auf Texturen bringt keine Vereinfachung. (und auch relativ wenig für multi-GPU, denn Texturen kann man auch direkt an beide Karten schicken, solange deren Speicher reicht. Größere Chips sind hier die billigste Lösung)


        Die Probleme bestehen imho eher darin, dass man dafür andere Speicherkontroller auf den GPUs braucht (bzw. eine zusätzliche GPU-Reihe). Analog zu z.B. den Mehr-Wege-Xeons. So was wie NUMA wird aber eher flachfallen, wegen der unterschiedlichen Zugriffszeiten.
        Dann ist man aber wieder hier:
        Zitat
        Dann könnte man aber auch ebensogut eine direkte GPU-GPU-Schnittstellen mit auf die Chips packen.
        Bislang werden derartige Lösungen aber als finanziell unattraktiv betrachtet.


        Wenn man das simpel - preiswert, bzw. noch preiswerter als auf den bestehenden Dual-GPU-Karten - erschlagen könnte, hätte man das mit Sicherheit zumindest auf diesen Karten schon in Angriff genommen.
      • Von saphira33 Software-Overclocker(in)
        Zitat von ruyven_macaran
        Ein doppelter Lesezugriff wäre nicht soviel einfacher, als ein doppelter Lese- und Schreibzugriff (die Abstimmung, wer wohin schreibt, entfällt - das wars


        Wenn die VRAM aber physikalisch unterteilt wäre und sozusagen nummeriert (elektronisch oder physikalisch ka) und mann der GPU sag du darfst speichern in nummer 1 und lesen nummer 1 und 2 (3,4) müsste dies doch "theoretisch" funktionieren

        und die GPU würde ja sozusagen die Datei holen, ihre Informationen drüberlegen und diese wieder auf ihren teil VRAM bringen damit die 3 andren GPU's diese Daten holen können und ihren teil berechnen?

        Zitat von ruyven_macaran
        Aber selbst die Zeitpunkte müssen weiterhin koordiniert werden, da der DRAM-Chip ja im Moment des lesens durch eine GPU von der anderen nicht genutzt werden kann

        ich habe fast keine Ahnung von der Materie sry aber bei SLI und CF funktioniert das bis jetzt ja gar nicht so schlecht weil ja die eine Grafikkarte wartet bis die andere fertig ist.
        Und Mantel soll ja auch 2 Grafikkarte 1 Bild erstellen lassen und unterschiedliche Teile erstellen. (??) wäre ja eine ähnliche Technik nur das man eben immer noch die langsame PCI3 Schnittstelle hat.

        Zitat von ruyven_macaran
        ...verträgt keine großen Leiterbahnenlängen und erst recht keine Steckkontakte...

        ich meinte das die Grafikkarte als ein teil ausgeliefert wird nicht das es Steckkontakte sind.
        blöd gesagt wenn eine Grafikkarte als O verkauft werden dann ist die Konstruktion die ich meine einfach grösser, du meinst wahrscheinlich das man2 OO kauft und diese zusammensteckt.

        Zitat von ruyven_macaran
        Smileys tippt man entweder einfach mit ein oder man nimmt das Auswahlmenü rechts vom Antworten-Fenster.


        Dafür bin ich entweder zu blöd oder mein Firmen PC mit dem doofen IE zeigt das einfach nicht an
  • Print / Abo
    Apps
    PC Games Hardware 01/2017 PC Games 12/2016 PC Games MMore 01/2016 play³ 01/2017 Games Aktuell 12/2016 buffed 12/2016 XBG Games 11/2016
    PCGH Magazin 01/2017 PC Games 12/2016 PC Games MMORE Computec Kiosk On the Run! Birdies Run
article
1097332
AMD Radeon Crossfire
Mantle "entfesselt" Crossfire: AMD verabschiedet sich vom AFR-Modus - Mikroruckler adieu?
Laut einer offiziellen PDF-Präsentation wird AMD bei Multi-GPU-Konfigurationen zukünftig nicht mehr auf den geläufigen AFR-Modus beim Rendern eines Bildes setzen, sofern die hauseigene Mantle-API zum Einsatz kommt. Auf der gestrigen Keynote spezifizierte Johan Andersson, Technical Director bei DICE, dass die neu eingeführten Queues auf unterschiedliche GPUs verteilt werden können.
http://www.pcgameshardware.de/AMD-Radeon-Crossfire-Grafikkarte-255521/News/AMD-Mantle-Crossfire-ohne-AFR-Modus-1097332/
14.11.2013
http://www.pcgameshardware.de/screenshots/medium/2013/11/AMD_Mantle_Crossfire-pcgh.png
amd,radeon,mantle,crossfire
news