OpenCL: General-Purpose Computing
Misurare le prestazioni GPGPU con configurazioni multi-GPU è una sfida perché non tutte le applicazioni sanno come sfruttare più GPU contemporaneamente. inoltre ci sono applicazioni compatibili solo con CUDA o solo Stream/APP. Questo ci lascia quindi con poche opzioni, ed è per questo che limitiamo la nostra indagine alle applicazioni OpenCL.
Il vantaggio più evidente di OpenCL è che le schede di entrambi i produttori competono su un campo comune. Inoltre, un confronto con benchmark reali che copre calcoli in virgola mobile (FP32) e in doppia precisione (FP64) è molto più interessante rispetto a quanto ottenuto con i test sintetici. Come sempre, includiamo anche alcune schede workstation per vedere come si raffrontano con le soluzioni consumer.
Rendering
Abbiamo scelto due differenti test: il benchmark LuxMark basato sull'engine LuxRender, e il test integrato di ratGPU, un'applicazione che tende a favorire le schede Nvidia ma non è davvero ottimizzata per nessuna architettura. LuxMark riporta i risultati in sample (campioni) al secondo, mentre RatGPU misura il tempo della sessione.
Non c'è molto da dire su LuxMark. L'architettura GCN di AMD domina.
RatGPU mostra quelle che molte soluzioni di rendering basate su CUDA hanno dimostrato in passato, cioè nessuna delle schede GeForce Kepler è in grado di tenere il passo la GeForce GTX 580 Fermi nelle prestazioni di calcolo generale. È un po' strano che l'architettura VLIW4 della Radeon HD 6970 sia più veloce di Radeon HD 7970 GHz Edition.
Codifica
Il software che usiamo per questo test tratta le schede multi-chip come se avessero una GPU, quindi le prestazioni scalano molto bene. La Radeon HD 7990, che sembra eccellere nelle operazioni di hashing basate su interi, si comporta davvero bene, seguita da altre schede GCN.
Analisi delle prestazioni finanziarie (Float/FP32)
Osserviamo uno scaling quasi ideale con la Radeon HD 7990 nei benchmark - due test con due livelli di precisione ciascuno. La portabandiera di AMD fornisce prestazioni quasi doppie rispetto a una singola GPU Radeon HD 7970 GHz Edition, malgrado le frequenze leggermente inferiori. La GeForce GTX Titan e la GTX 690 non possono competere.
Analisi delle prestazioni finanziarie (Double/FP64)
Ripetere questi due benchmark usando calcoli in virgola mobile a doppia precisione fa una chiara differenza. Le schede Nvidia Kepler fatica con i calcoli FP64, mentre la GTX Titan si comporta abbastanza bene, specialmente nei confronti della GeForce GTX 690 e della GTX 680. Il trucco è attivare la modalità a doppia precisione in CUDA attraverso i driver della scheda, che estende tale funzionalità anche a OpenCL. Anche se questo impatta negativamente sulle frequenze, la scheda è generalmente più veloce con carichi di lavoro FP64. Nel frattempo, la Radeon HD 7990 non ha bisogno di alcuna modifica per raggiungere prestazioni impressionanti e da prima della classe.