ATI försvinner och Intel satsar fel
Under 2006 inträffade nästa milstolpe inom tekniksektorn. Efter 21 år som ett eget bolag blev det i oktober officiellt att processorjätten AMD förvärvar ATI. ATI:s VD David Orton och AMD:s VD Hector Ruiz skakade hand över affären som gav AMD tillgång till grafikteknik som annars skulle tagit många år att utveckla själva.
Blott två veckor efter den historiska affären introducerade dock Nvidia nästa signifikanta steg i grafikteknik. Som en del av arkitekturen Tesla och kretsen G80 introducerades enhetliga shaders (unified shaders) till PC-marknaden, en funktion som i en något enklare form redan funnits tillgänglig i Xenos-kretsen i Microsoft Xbox 360.
Före enhetliga shaders introducerades förbättrades grafikkortens prestanda genom att lägga till fler dedikerade vertex shaders och pixel shaders, vilket gjorde kretsytan mer komplex och dyrare att tillverka. För speltitlar som inte utnyttjar mer komplexa vertex shaders-enheterna förblir dessa resurser outnyttjade, ett problem som enhetliga shaders eliminerar.
Enhetliga shaders var en av de centrala förbättringarna i DirectX 10, och det första grafikkortet som fick stöd för den nya gränssnittsversionen var Nvidias G80-baserade monsterkort Geforce 8800 GTX. Denna best klämde in hela 681 miljoner transistorer på en yta som mätte 484 kvadratmillimeter. Kortet och dess tillvässade syskon Geforce 8800 Ultra krossade allt motstånd, enskilda kort såväl som parkopplade diton.
G80 introducerade mer än bara stöd för enhetliga shaders. En ny algoritm för kantutjämning vid namn CSAA (Coverage Sample anti-aliasing) lät de nya korten erbjuda bättre bildkvalitet utan de stora prestandaförluster som aggressiv kantutjämning brukar medföra. Här introducerades även fysikberäkningstekniken PhysX som kom från förvärvet av företaget Ageia.
En generaliserad inriktning
PhysX och enhetliga shaders var bara två exempel på hur grafikkortens arkitektur och mjukvarugränssnitten utvecklades mot att bli mer generella. Nvidia använde grafikkretsen G80 som bas när de under 2007 släppte utvecklingsplattformen CUDA som möjliggjorde mer generella beräkningar på grafikkorten, vilket bland annat användes till vetenskapliga applikationer.
AMD valde att istället exponera företagets grafikkortsarkitektur via det öppna gränssnittet OpenCL, något som började utnyttjas på allvar först när R600-generationen blev tillgänglig. Det första grafikkortet baserat på R600 blev det emotsedda Radeon HD 2900 XT, som inte uppfyllde förväntningarna. Kortets energiförbrukning låg på nivå med entusiastprodukterna, men prestanda hörde till det övre mellansegmentet.
Besvikelsen till trots representerade R600 en rad nyheter för AMD. Det var företagets första DirectX 10-kompatibla arkitektur och även dess första arkitektur som använde en 512 bitar bred minnesbuss. Här fanns även en krets som möjliggjorde tesselering, men då stöd för tekniken saknades i DirectX utnyttjades inte denna kapacitet.
R600 innebar även introduktionen av en arkitektur baserad på Very Long Instruction Word (VLIW). Detta byggde på att arkitekturen utformats för att exekvera komplexa kedjor av instruktioner parallellt. VLIW-arkitekturen medförde även att korten inte behövde lika avancerade metoder för schemaläggning av exekveringen av instruktioner.
Radeon HD 2000-serien var den första serien där AMD inte erbjöd en reell konkurrent till Nvidia i entusiastsegmentet. För att råda bot på problemen med prestanda och energieffektivitet släppte AMD uppföljaren R670 som krympte tillverkningsprocessen från 80 till 55 nanometer och den 512 bitar breda minnesbussen ersattes med en mer konventionell sådan på 256 bitar – Radeon HD 3000-serien var född, inledningsvis med HD 3870 i spetsen.
Detta innebar att AMD till slut kunde konkurrera med Geforce 8800-familjen, dock utan att ta över ledartröjan i prestandasegmentet. Eftersom inte de R670-baserade korten kunde konkurrera med Nvidias toppkort valde AMD att introducera grafikkort med två stycken R670-kretsar – HD 3870 X2 och senare HD 3850 X2.
Radeon HD 3870 X2 lanserades i januari 2008 och följdes upp av HD 3850 X2. Till skillnad från tidigare Crossfire-lösningar hade AMD här integrerat en specialkrets som gjorde kommunikationen mellan de båda kretsarna betydligt mer effektiv. Som ett resultat blev Radeon HD 3870 X2 med klar marginal det bäst presterande kortet.
Intels mångkärniga luftslott
Den generaliserade renderingsmodellen var i skottlinjen för en annan gigant i branschen. Intel hade under en tid jobbat på ett projekt vid namn Larrabee där ett större antal processorkärnor baserade på företagets instruktionsuppsättning x86 skulle kopplas samman på ett dedikerat grafikkort. Kärnorna baserades på den gamla Pentium-designen P54C och stödde synkronisering av cacheminne mellan samtliga kärnor på kortet.
Projektet presenterades först under Siggraph 2008 och till skillnad från konventionella grafikkort från AMD eller Nvidia var Larrabee-arkitekturen väldigt avskalad sett till dedikerad hårdvara för rasterbaserad rendering. Hårdvaran kunde accelerera traditionell Direct3D- eller OpenGL-kod i mjukvara men dess största styrka låg i att kunna utföra generella beräkningar och uppgifter som drog nytta av traditionella processorkärnor, exempelvis ray-tracing.
Prestanda i konventionell rastergrafik var begränsad, men Intels mål var att Larrabee-korten skulle kunna utrustas med så pass många P54C-kärnor att det skulle kompensera för dessa tillkortakommanden. Intel skulle komma att visa diverse tekniska demonstrationer av vad Larrabee kunde åstadkomma, bland annat ray-tracing-renderade versioner av Quake II och Quake Wars, men prestanda i traditionell rendering var fortsatt begränsad.
När Intel presenterade Larrabee-prototyper igen följande år lyckades kortet nå en beräkningskapacitet på 1 teraflops (TFLOPS), ungefär en femtedel av vad de dåvarande prestandakorten från konkurrenterna kunde skryta med. Efter fortsatta problem med att nå önskade prestandanivåer valde Intel att skrota Larrabee som grafikkort för konsumentbruk och stöpte om det till beräkningskort för superdatorer och arbetsstationer under produktnamnet Xeon Phi.