# CrossFire (marchio)

CrossFire è un marchio di proprietà Advanced Micro Devices (successivamente allo smantellamento del brand ATI Technologies) per la sua soluzione multi-GPU, ovvero una tecnologia che consente di utilizzare due o più schede video su un computer per migliorare le prestazioni nell'accelerazione grafica 3D. La tecnologia CrossFire è stata introdotta sul mercato il 27 settembre 2005, in risposta a quella analoga di NVidia Corporation, Scalable Link Interface (SLI).

## Componenti richiesti

La tecnologia CrossFire richiede una scheda madre che presenti due slot PCI-Express e un chipset compatibile e due schede grafiche compatibili con connessione PCI-Express. Il CrossFire è supportato a partire dalle famiglie di schede Radeon X800 e X850.

### Prima generazione

Le famiglie X800, X850, X1800, X1900 dispongono di schede CrossFire edition che possono svolgere la funzione di scheda master, alla quale deve essere affiancata una scheda video della stessa famiglia.

### Seconda generazione (Software CrossFire)

Le schede X1300 e X1600 non dispongono di una versione CrossFire edition, ma il CrossFire può essere abilitato con il software. Uno dei principali problemi del CrossFire è proprio la necessità di una scheda Master, che ha costi superiori alla norma e non è facilmente reperibile. Per rimediare a tale inconveniente, ATI ha messo in commercio un chipset (Xpress 3200), che elimina la necessità della scheda master per le famiglie precedenti la X1900.

### CrossFireX

Con l'uscita delle schede X1950 Pro, ATI ha rivisto la connessione del CrossFire, che non richiede una scheda specifica e introduce una connessione tra le schede simile a quella utilizzata da NVidia nello SLI.
Dal momento della distribuzione della piattaforma desktop Spider da parte di AMD il 19 novembre 2007, il CrossFire è stato aggiornato con il supporto per un massimo di quattro schede video con il chipset 790FX, il nome CrossFire è stato poi cambiato in "ATI CrossFire X". L'installazione, in base al test interno condotto da AMD, porterà un aumento delle performance in diversi giochi e applicazioni che richiedono enormi capacità grafiche del sistema di almeno 3.2x, l'installazione si rivolge al mercato enthusiast. Un successivo sviluppo include una duplice soluzione GPU che è stata messa in commercio nei primi mesi del 2008, la "ATI Radeon HD 3870 X2", con un solo connettore CrossFire per il Crossfire X a 4 GPU.

## Modalità di rendering

* SuperTiling: modalità standard. Divide lo schermo in una scacchiera e i riquadri vengono renderizzati da ciascuna delle due schede (paragonando lo schermo a una scacchiera, una scheda renderizza i riquadri neri, l'altra quelli bianchi). Il SuperTiling supporta tutte le applicazioni Direct3D, ma non le OpenGL. È la modalità che offre il guadagno prestazionale minore, per il fatto che la computazione della geometria della scena non può essere divisa tra le due schede. Inoltre questa modalità funziona solo con schede aventi lo stesso numero di pipeline.
* Scissor: anche conosciuto con il nome di Split Frame Rendering (SFR), utilizzato nello SLI di Nvidia, divide lo schermo in due rettangoli orizzontali. È la modalità predefinita per le applicazioni OpenGL. Le prestazioni però sono analoghe a quelle del SuperTiling, anche se in teoria il primo dovrebbe essere migliore, in quanto vi è una maggiore probabilità che i calcoli siano equamente distribuiti tra le due schede. Con la modalità Scissor il sistema deve calcolare il punto di divisione per bilanciare il carico tra le GPU.
* Alternate Frame Rendering (AFR): una scheda renderizza i frame pari, l'altra quelli dispari. Questa modalità esibisce le prestazioni migliori, ma è incompatibile con i giochi che utilizzano funzioni render-to-texture, in quanto una scheda non ha accesso alla memoria texture dell'altra. Come NVidia, ATi utilizza nei driver dei profili per abilitare l'AFR nei giochi compatibili, ma non permette l'impostazione manuale per i giochi OpenGL.
* CrossFire Super AA: questa modalità non è studiata per incrementare il framerate, ma migliora la qualità delle scene utilizzando il Super AA (Super Antialiasing), che è in grado di raddoppiare il fattore di antialiasing (es. 4x, 8x, 12x) senza alcun calo nel framerate.

## Confronto con NVidia SLI
### Vantaggi

* Le configurazioni CrossFire di fascia media e bassa non necessitano di alcuna connessione esterna tra le due schede, ma si appoggiano esclusivamente al BUS PCI-Express.
* Il nuovo bridge CrossFire ha un'ampiezza di banda maggiore di quello utilizzato nello SLI, inoltre permette l'inserimento di schede video aggiuntive, in previsione di un eventuale utilizzo per i calcoli fisici.
* Non necessita di schede video identiche, basta che condividano la stessa GPU(anche se con edizioni differenti come ad es. Tahiti Pro con Tahiti XT e Tahiti XT2) e che quindi facciano parte della stessa serie (es. HD7950 - HD7970 o R9 280 - R9 280x o addirittura HD7950 - R9 280x).
* Ad ogni scheda può essere impostata una frequenza di clock diversa dall'altra.

### Svantaggi

* Eventuali giochi OpenGL che non hanno un profilo CrossFire verranno renderizzati con la modalità Scissor e non è possibile sceglierne una migliore, cosa che invece è possibile manualmente con SLI.

## AMD Crossfire e BOINC

Alla stregua dell'elaborazione parallela CUDA di NVidia, anche Crossfire viene mantenuto da alcuni progetti della piattaforma BOINC (Berkeley Open Infrastructure for Network Computing), i quali ne sfruttano le potenzialità e i benefici.
I progetti BOINC portati avanti da AMD Crossfire sono:$^{[1]}$
* Collatz Conjecture: si pone come obiettivo la soluzione della celebre congettura di Collatz (o 3n + 1)
* Einstein@home: ha lo scopo di analizzare i dati prodotti da osservatori astronomici per rilevare delle onde gravitazionali da diverse fonti, come ad esempio i buchi neri
* GPUgrid.net: è un progetto nel campo della ricerca biomedica
* Milkyway@home: l'obiettivo di questo progetto è la creazione di un accurato modello tridimensionale della Via Lattea, utilizzando i dati forniti dallo Sloan Digital Sky Survey
* Moo!: permette di partecipare alla competizione RC5-72, è un wrapper di distributed.net
* PrimeGrid: esegue la ricerca dei numeri primi più elevati al mondo
* SETI@home: è il famosissimo progetto di calcolo distribuito, utilizza i dati del radiotelescopio di Arecibo per la ricerca di segnali correlati a intelligenze extraterrestri