# AMD Crossfire

AMD Crossfire (Eigenschreibweise: AMD CrossFire, früher AMD CrossFireX, in der Anfangsphase ATI Multi-Rendering) ist ein Verfahren der Firma AMD, um die Grafikleistung durch gleichzeitigen Einsatz mehrerer Grafikkarten in einem PCI-Express-System zu erhöhen. Die Grenze der Karten, die diese Technologie derzeit gleichzeitig nutzen können, liegt bei vier.
Das gleiche Verfahren wird angewandt, wenn zwei GPUs auf derselben Karte liegen oder eine GPU auf der Hauptplatine (etwa im Chipsatz) und eine weitere auf einer Einsteckkarte („Radeon Dual Graphics“).

## Funktionsweise

Zunächst wurde noch ein spezielles Monitorkabel (DVI-Y-Dongle) benötigt, über welches beide Grafikkarten extern am DVI-Anschluss verbunden werden, damit ein Datenaustausch zwischen den Grafikkarten stattfinden kann. Hier wird eine sogenannte Master-Karte (am Namen „Crossfire Edition“ erkennbar) benötigt, die mit einer Slave-Karte (übliche Version) kombiniert wird. Ein Chip auf der Master-Karte regelt den Datenaustausch der beiden Grafikkarten, um ein Bild auf den Monitor auszugeben.
Ende 2006, mit Einführung der Radeon X1650 XT und Radeon X1950 Pro wurde das interne CrossFire, von AMD als „nativ“ bezeichnet, vorgestellt. Über zwei Anschlüsse werden zwei baugleiche Grafikkarten mit einem CrossFire-Brückenkabel verbunden. Der Monitor wird an eine der beiden Grafikkarten angeschlossen. Ausnahmen bilden einige billige bzw. Standard-Grafikkarten mit weniger Leistung als Hochleistungs-Grafikkarten: Hier erfolgt die Kommunikation der beiden Grafikkarten ausschließlich über den PCI-Express-Bus, ähnlich wie bei MultiChrome von S3 Graphics oder der leistungsschwächeren SLI-Variante von Nvidia.
Ende 2007 wurde CrossFire mit AMDs Spider-Platform eingeführt (ursprünglich unter dem Namen CrossFireX). Mit CrossFire ist es seither möglich bis zu vier GPUs gleichzeitig zu betreiben. Der Unterschied zum SLI von NVIDIA ist, dass bei CrossFire Daten generell bidirektional ausgetauscht werden können.
Ende 2013 hat AMD mit der Vorstellung der Grafikkarten mit dem Codenamen Hawaii erstmals die sogenannte XDMA-Technik vorgestellt. Durch „XDMA“ (X= CrossFire, DMA= Direct Memory Access) soll es möglich sein, auch bei High-End-Grafikkarten auf die zusätzlichen Brücken zwischen den Grafikkarten zu verzichten und die Kommunikation zwischen den GPUs über PCIe laufen zu lassen.

### Unterschiede der CrossFire-Generationen

| Bezeichnung | Erscheinungsdatum | Max. GPU-Anzahl | Master-Karte benötigt | Crossfire-Brückenkabel | Anmerkung |
| CrossFire | 26.09.2005 | 2 | Teilweise | Teilweise | |
| CrossFireX CrossFire™ | 19.11.2007 | 4 | Nein | Teilweise | Funktioniert mit Grafikkarten ab der Radeon HD2000- Serie mit zwei bis vier Karten derselben Serie (s. u.). |
| XDMA | 24.10.2013 | 4 | Nein | Nein | ab R290-Serie |

### Mikroruckler

Sowohl CrossFire als auch SLI setzen vorwiegend auf Alternate Frame Rendering. Hierbei kommt es derzeit oft zu dem Phänomen, dass jedes zweite Frame langsamer berechnet wird als das vorherige. Es kommt zu sogenannten „Mikrorucklern“. Dies führt zu einem ungleichmäßigen Spielfluss, der besonders bei relativ niedrigen Bildraten störend ist. Durch diesen Umstand benötigen Grafikkarten im CrossFire-Modus in den betreffenden Spielen eine deutlich höhere Durchschnitts-Framerate als eine einzelne Grafikkarte, um für das Auge eine relativ ruckelfreie Darstellung zu gewährleisten. Dieses Problem tritt auch bei Dual-GPU-Grafikkarten auf sowie auch bei „Dual Graphics“-Systemen, da beides ebenfalls auf die Crossfiretechnologie zurückgreift. Die Tatsache, dass die höheren durchschnittlichen Bilder pro Sekunde in Benchmarks im Crossfire-Modus keine bessere Spielbarkeit liefern, führt dazu, dass in ausführlichen Testberichten insbesondere von Crossfire mit Grafikkarten bis hin zum Mainstream abgeraten und eine Einzelkarte empfohlen wird.
Im August 2013 hat AMD das sogenannte Frame-Pacing in den Catalyst 13.8 Beta 1 Treiber implementiert. Hierbei wird das sehr schnell berechnete Frame bei der Ausgabe an den Bildschirm durch ein Zwischenpuffern leicht verzögert. Die Frame-Raten werden dadurch wieder gleichmäßiger und die maximalen Latenzen zwischen zwei aufeinander folgenden Frames werden kleiner, da die Wartezeit auf den nachfolgenden, langsam berechneten Frame reduziert wird. Durch dieses Workaround treten deutlich weniger Mikroruckler auf und die Spiele werden besser spielbar, auch dann wenn die durchschnittliche FPS-Zahl leicht absinkt. Die Verbesserungen sind fast überall deutlich spürbar und das Ergebnis ist ähnlich gut wie bei SLI-Systemen, bei denen diese Technik schon länger eingesetzt wird. Damit sind die Mikroruckler zwar nicht völlig verschwunden, aber der Spielfluss ist jetzt erstmals mit dem von Einzel-GPU-Systemen vergleichbar. Den ersten WHQL-Treiber mit Frame-Pacing und weitere Verbesserungen hat AMD für das Jahr 2014 angekündigt. Es gibt (Stand 12/2013) die Einschränkungen, dass das Frame Pacing lediglich bei GPUs mit GCN-Architektur (ab HD7000-Serie) angewendet werden kann und dies auch nur bis zu einer Auflösung von 2.560 × 1.600. Höhere Auflösungen sind nur mit Radeon R9 290 und R9 290X mit dem Frame-Pacing-Treiber kompatibel. Für DirectX-9c- und OpenGL-Spiele gibt es ebenfalls noch keine Unterstützung für das Frame-Pacing.

### Betriebsmodi

Es werden vier Betriebsmodi angeboten:
* SuperTiling: Standard für Direct3D-Anwendungen.
* Scissor: (auch bekannt als Split Frame Rendering (SFR) mit „Load-Balancing“). Standard für OpenGL-Anwendungen.
* Alternate Frame Rendering (AFR): Höchste Ergebnisse in Benchmarks, aber Probleme mit Mikrorucklern.
* SuperAA: Ein Qualitätsmodus, bei dem beide Grafikkarten denselben Frame mit unterschiedlichen FSAA-Patterns berechnen. Damit sind größere FSAA-Faktoren möglich.

## Grafikkarten mit CrossFire Unterstützung

Die gegenseitige Kompatibilität ist auf einer entsprechenden Webseite bei AMD übersichtlich dargestellt.
| Grafikkartenserie | CrossFire- Generation | Master-Karte | Crossfire- Brückenkabel | Anmerkungen |
| Radeon-X800-Serie | CrossFire | Ja | – | |
| Radeon-X850-Serie | CrossFire | Ja | – | |
| ATI-Radeon-X1000-Serie | CrossFire | Teilweise | Teilweise | Die X1300, X1500-Serien und X1600 Pro/XT benötigen keine Master-Karte und kein Brückenkabel. Die X1650 XT, X1950 GT und X1950 Pro benötigen nur ein Brückenkabel. |
| ATI-Radeon-HD-2000-Serie | CrossFire | – | Ja | |
| ATI-Radeon-HD-3000-Serie | CrossFireX | – | Ja | |
| ATI-Radeon-HD-4000-Serie | CrossFireX | – | Teilweise | Die HD-4300, HD-4500 und HD-4600-Serien benötigen kein Crossfire-Brückenkabel (Ausnahme: 2-4x HD 4670) |
| ATI-Radeon-HD-5000-Serie | CrossFireX | – | Teilweise | Die HD-5400, HD-5500 und HD-5600-Serien benötigen kein Crossfire-Brückenkabel (Ausnahme: 2-4x HD 5670) |
| AMD-Radeon-HD-6000-Serie | CrossFireX | – | Ja | |
| AMD-Radeon-HD-7000-Serie | CrossFireX | – | Ja |
| AMD Radeon R200-Serie | CrossFireX | – | Teilweise | Die R9 290 und R9 290X benötigen aufgrund eines neuen Verfahrens kein Brückenkabel mehr |
* ↑ Diese ATI-Grafikkarten beherrschen CrossFire nur mit einer externen Verbindung und dem Einsatz einer Master-Karte (Crossfire-Edition). Es werden dabei eine Master-Karte und eine Slave-Karte benötigt, wobei sich eine leistungsstärkere Slave-Karte an der Leistung der Master-Karte orientieren muss. Die CrossFire-Edition Master-Karten haben „CF“ als Suffix (Bspw. X1950CF: 'Master-Karte', X1950XT: 'Slave-Karte'). Die X1950CF hat teilweise einen um 10 MHz verringerten GPU-Takt.

## Dual-GPU-Grafikkarten

Alle bisherigen Dual-GPU-Grafikkarten unter dem Markennamen ATI basieren auf der Crossfire-Technologie. Zunächst fertigten einige ATI-Partner – wie zum Beispiel Sapphire oder GeCube – unter Eigenregie Dual-GPU-Grafikkarten, so zum Beispiel die X1950 Pro Gemini oder die X1650 XT Gemini. Später übernahm AMD selbst die Entwicklung und stellte allen Partnern ein Referenzdesign vor. Die beiden GPUs werden auf der Karte mit einem PCIe-Switch verbunden und laufen im Crossfire-Modus. Bis zur HD3870 X2 unterstützte der PCIe-Switch PCIe der ersten Generation, ab HD48xx X2 unterstützt der PCIe-Switch PCIe 2.0 und bietet damit mehr Bandbreite für die Kommunikation zwischen den beiden GPUs.

## Hybrid CrossFire

Mit Hybrid CrossFire ist es möglich, einen AMD-Chipsatz mit Integriertem Grafikprozessor (ab der AMD 7er Chipsatz-Serie) und einer Low-End-Grafikkarte HD 3450 oder HD 3470 (Stand April 2011) zur Steigerung der Grafikleistung zusammenzuschalten.
Der Monitor kann zur Bildausgabe entweder an die Hauptplatine oder die Grafikkarte angeschlossen werden. Bei Anschluss des Monitors an die Hauptplatine hat die Grafikkarte bei 2D-Anwendungen keine Funktion, sie wird jedoch nicht abgeschaltet. Wird der Monitor an die Grafikkarte angeschlossen, ist im 2D-Modus nur die dedizierte Grafikkarte für die Bildausgabe zuständig, hier wird die IGP vollständig abgeschaltet. In beiden Fällen werden die IGP und dedizierte Grafikkarte zur Leistungssteigerung zusammengeschaltet, falls der Catalyst-Treiber CrossFire-Unterstützung für die jeweilige 3D-Anwendung bereitstellt. Bei 3D-Anwendungen ohne treiberseitige CrossFire-Unterstützung wird es empfohlen, den Monitor an die diskrete Grafikkarte anzuschließen, da die integrierte GPU des Chipsatzes leistungsschwächer als eine Hybrid CrossFire-fähige Grafikkarte ist.
Im Hybrid-Crossfire-Betrieb rendern sowohl die auf der Hauptplatine integrierte GPU als auch die diskrete Grafikkarte ihre Bilder unabhängig voneinander (Alternate Frame Rendering). Mit Erscheinen der Catalyst-Software-Suite 8.8 werden sowohl Windows XP als auch Vista unterstützt.
Mit „Hybrid-SLI“ bietet Nvidia unter der Bezeichnung GeForce Boost eine ähnliche Funktion wie Hybrid-CrossFire an.
Ein Feature ähnlich Nvidias „HybridPower“, das nach Bedarf die diskrete Grafikkarte deaktivieren kann, bietet AMD nur für Notebook-Chipsätze unter der Bezeichnung PowerXPress an. PowerXpress wird zurzeit (Stand: Juni 2008) nur unter Windows Vista unterstützt.