Graphics Core Next (2)
Wat is nu het grote verschil met AMD's vorige architectuur (VLIW) en Graphics Core Next?
De Cayman chip van de Radeon HD 6970 bestond uit 24 SIMD engines, die elk bestonden uit 16 groepjes van vier rekeneenheden. Op die manier zaten er 16 x 4 = 64 rekeneenheden in een enkele SIMD-engine. Op ieder moment in tijd moesten alle groepjes van vier rekeneenheden dezelfde instructie uitvoeren op andere data. Ofwel: een complexe combinatie van vier instructies - vandaar Very Long Instruction Word - gelijktijdig op zestien stukken data.
In de praktijk bleek het erg lastig om alle rekeneenheden de hele tijd bezig te houden. Zeker wanneer er veel interne afhankelijkheden in code zitten, bleek het in veel gevallen ondoenlijk om instructies te vinden die veilig gecombineerd konden worden en gelijktijdig op veel verschillende data uitgevoerd kunnen worden. Het verdelen en klaarzetten van instructies was zodoende een zeer complexe aangelegenheid binnen AMD's vorige architectuur. Daarbij kwam nog: VLIW4 mag voor typische 3D-berekeningen prima geschikt zijn, voor veel GPGPU-berekeningen was de opzet niet optimaal.
Graphics Core Next werkt anders. In iedere compute unit zitten zoals beschreven 64 rekeneenheden. Deze zijn verdeeld in vier SIMD-units. Ofwel: op ieder moment in tijd kunnen binnen een compute unit maximaal vier verschillende instructies uitgevoerd worden, die elk plaatsvinden op zestien verschillende stukken data. Verschillende instructies hoeven echter niet meer gecombineerd te worden om groepjes van vier telkens op een eenduidige manier bezig te houden. Ieder SIMD-blok van 16 rekeneenheden kan binnen GCN geheel onafhankelijk werken. Het doorvoeren en klaarzetten van instructies is op die manier een stuk eenvoudiger.
De theoretische maximale prestaties van een voormalige VLIW4 SIMD-engine en een nieuwe GCN compute engine zijn identiek: beide bevatten 64 rekeneenheden en kunnen zodoende 64 single precision floating point berekeningen per klokslag afleveren. Dat maakt dat de Tahiti chip met in totaal 2048 rekeneenheden in theorie 33,3% sneller kan zijn dan de Cayman chip met in totaal 1536 rekeneenheden. Maar juist omdat het aansturen van de rekeneenheden en het verdelen van instructies van GCN veel flexibeler is, is de kans veel groter, dat alle rekeneenheden op een bepaald moment in tijd daadwerkelijk gebruikt kunnen worden. In de praktijk zou het prestatieverschil dus veel meer dan die 33,3% kunnen zijn.
Met één ding moeten we wel rekening houden: een nieuwe architectuur vergt veel optimalisaties op driver-niveau. Het is al de normaalste zaak van de wereld, maar zeker bij de Radeon HD 7970 mogen we in de maanden na de lancering nog de nodige prestatiewinst dankzij driveroptimalisaties verwachten.
1 besproken product
Vergelijk | Product | Prijs | |
---|---|---|---|
![]() |
AMD Radeon HD 7970
|
Niet verkrijgbaar |