Software en schaalbaarheid
Omdat Larrabee bijzonder weinig hardware met een vaste functie heeft, zijn de Directx- en Opengl-renderpipelines bijna volledig in de software geïmplementeerd. Er is gekozen voor een tile-based aanpak waarbij een frame opgedeeld wordt in kleinere blokken. De grootte daarvan is afhankelijk van de complexiteit, maar zou tussen de 32x32 en 128x128 pixels liggen. De begrenzende factor is hier de grootte van de L2-cache, omdat ieder blok uiteindelijk aan één core wordt toegewezen, die het efficiëntst werkt vanuit zijn eigen snelle geheugen.
Een nadeel van de tile-based aanpak is dat polygonen die twee of meer blokken raken gekopieerd moeten worden en dus meerdere malen in de cache staan, maar dat zou maar ongeveer 5 procent overhead opleveren. De bandbreedtebesparing die bereikt wordt doordat niet iedere core zich met de hele scène bezig hoeft te houden zou daarentegen te allen tijde minstens 30 procent zijn en oplopen tot ver boven de 50 procent.

Ook andere problemen die ouderwetse tile-based rendersystemen hadden, meent Intel met zijn software-implementatie te hebben opgelost. Om met effecten als reflecties en schaduwen om te gaan construeert het programma een afhankelijksheidsboom tussen verschillende tiles, zodat het mogelijk is om tijdens het tekenen van een frame alvast te beginnen met het berekenen van de schaduwen voor de volgende.
Voor zover bekend zijn er nog geen gegevens bekendgemaakt over de kloksnelheid en het aantal cores van verschillende Larrabee-producten, waardoor het erg moeilijk is om op dit moment al over de prestaties te spreken. Wel is Intel zo vriendelijk geweest om te simuleren in hoeverre het ontwerp schaalbaar is.
Het bedrijf heeft uit de spellen Half-Life 2: Episode 2, Fear en Gears of War ieder 25 frames geplukt van verschillende scènes. In alle gevallen was de schermresolutie 1600 bij 1200 en de eerste twee spellen draaiden met 4xAA. Door alle Directx-commando's op een systeem met een gewone videokaart te onderscheppen en dezelfde serie later op een Larrabee-simulator af te schieten heeft men onderzocht hoe de chip presteert met verschillende aantallen cores.
Uit deze simulatie is gebleken dat de chip in ieder geval van 8 tot 48 cores met 90 tot 93 procent bijna perfect schaalt. Dat wil zeggen dat een versie met 32 cores daadwerkelijk bijna twee keer zo snel is als een versie met 16 cores, mits ook het aantal texture-eenheden en de geheugenbandbreedte meegroeien. Door de code verder te tweaken werd in een van de spellen zelfs 98 procent bereikt.
Uitgaande van een kloksnelheid van 1GHz, heeft Intel berekend dat deze drie spellen met 25 cores steeds minimaal 60 frames per seconde moeten halen. Wat dat betekent voor de gemiddelde framerate bij verschillende kloksnelheden en aantallen cores laten we als oefening voor de lezer over.

Belangrijk om in het achterhoofd te houden is dat Intels Directx-renderer maar een van de mogelijke applicaties is die op een Larrabee-processor kunnen draaien. Het doel is dat straks iedereen zijn eigen 'Larrabee Native Application' kan schrijven, wat actief wordt ondersteund met een optimaliserende compiler en voor Larrabee geoptimaliseerde blokken in de Math Kernel Library, een gereedschapskist voor ontwikkelaars.
De meeste x86-software zou zonder aanpassingen op Larrabee kunnen draaien, maar het is wel nodig om gebruik te maken van de (vector)extensies en tientallen threads om het maximale er uit te slepen. Communicatie tussen Larrabee en de gewone cpu wordt verzorgd door Intels driver, die zowel synchroon als asychroon data kan versturen en zelfs toegang tot bestanden op de harde schijf kan regelen.
Om aan te tonen dat Larrabee veel meer kan dan alleen graphics heeft Intel nu al een paar andere toepassingen voor de chip ontwikkeld, waaronder de simulatie van verschillende natuurkundige effecten, ray tracing en populaire supercomputercodes. Volgens het bedrijf kan Larrabee veel beter omgaan met complexe datastructuren dan een gpu, wat het aanpassen van bestaande algoritmes eenvoudiger maakt.

Een nadeel van de tile-based aanpak is dat polygonen die twee of meer blokken raken gekopieerd moeten worden en dus meerdere malen in de cache staan, maar dat zou maar ongeveer 5 procent overhead opleveren. De bandbreedtebesparing die bereikt wordt doordat niet iedere core zich met de hele scène bezig hoeft te houden zou daarentegen te allen tijde minstens 30 procent zijn en oplopen tot ver boven de 50 procent.

Schaalbaarheid
Voor zover bekend zijn er nog geen gegevens bekendgemaakt over de kloksnelheid en het aantal cores van verschillende Larrabee-producten, waardoor het erg moeilijk is om op dit moment al over de prestaties te spreken. Wel is Intel zo vriendelijk geweest om te simuleren in hoeverre het ontwerp schaalbaar is.Het bedrijf heeft uit de spellen Half-Life 2: Episode 2, Fear en Gears of War ieder 25 frames geplukt van verschillende scènes. In alle gevallen was de schermresolutie 1600 bij 1200 en de eerste twee spellen draaiden met 4xAA. Door alle Directx-commando's op een systeem met een gewone videokaart te onderscheppen en dezelfde serie later op een Larrabee-simulator af te schieten heeft men onderzocht hoe de chip presteert met verschillende aantallen cores.
Uit deze simulatie is gebleken dat de chip in ieder geval van 8 tot 48 cores met 90 tot 93 procent bijna perfect schaalt. Dat wil zeggen dat een versie met 32 cores daadwerkelijk bijna twee keer zo snel is als een versie met 16 cores, mits ook het aantal texture-eenheden en de geheugenbandbreedte meegroeien. Door de code verder te tweaken werd in een van de spellen zelfs 98 procent bereikt.
Uitgaande van een kloksnelheid van 1GHz, heeft Intel berekend dat deze drie spellen met 25 cores steeds minimaal 60 frames per seconde moeten halen. Wat dat betekent voor de gemiddelde framerate bij verschillende kloksnelheden en aantallen cores laten we als oefening voor de lezer over.

Andere applicaties
Belangrijk om in het achterhoofd te houden is dat Intels Directx-renderer maar een van de mogelijke applicaties is die op een Larrabee-processor kunnen draaien. Het doel is dat straks iedereen zijn eigen 'Larrabee Native Application' kan schrijven, wat actief wordt ondersteund met een optimaliserende compiler en voor Larrabee geoptimaliseerde blokken in de Math Kernel Library, een gereedschapskist voor ontwikkelaars.De meeste x86-software zou zonder aanpassingen op Larrabee kunnen draaien, maar het is wel nodig om gebruik te maken van de (vector)extensies en tientallen threads om het maximale er uit te slepen. Communicatie tussen Larrabee en de gewone cpu wordt verzorgd door Intels driver, die zowel synchroon als asychroon data kan versturen en zelfs toegang tot bestanden op de harde schijf kan regelen.
Om aan te tonen dat Larrabee veel meer kan dan alleen graphics heeft Intel nu al een paar andere toepassingen voor de chip ontwikkeld, waaronder de simulatie van verschillende natuurkundige effecten, ray tracing en populaire supercomputercodes. Volgens het bedrijf kan Larrabee veel beter omgaan met complexe datastructuren dan een gpu, wat het aanpassen van bestaande algoritmes eenvoudiger maakt.

Raytracing op Larrabee
Volgende pagina (Conclusie - 5/5)
Inhoudsopgave
- Software en schaalbaarheid
- Conclusie
- Reacties (62)
