Preview: ARM's nieuwe CPU- en GPU-architecturen

6 reacties
Inhoudsopgave
  1. 1. ARM in 2018
  2. 2. ARM als stille kracht 
  3. 3. DynamIQ: Slim samenwerken 
  4. 4. Cortex-A55: Efficiëntie
  5. 5. Cortex-A75: High-performance 
  6. 6. GPU: Mali-G72 
  7. 7. Complete systemen 
  8. 8. Conclusie
  9. 6 reacties

GPU: Mali-G72 

Vorig jaar jaar heeft ARM een flinke stap gezet qua GPU-performance. Het bedrijf introduceerde een nieuwe architectuur, Bifrost, en een nieuwe GPU, de Mali-G71. Deze heeft zijn weg gevonden naar de Samsung Galaxy S8 en S8+, en op onze testbank merkten we in ieder geval dat winst van 50% waar ARM vorig jaar over sprak ook werd waargemaakt.

De Mali-ontwerpen zijn in 2016 in een miljard apparaten terechtgekomen. Aangezien het bedrijf in 2012 nog 150 miljoen implementaties had, is er een flinke groei te zien. Het bedrijf geeft aan dat haar GPU’s in ongeveer de helft van de smartphones en tevens de helft van de mobiele VR-headsets zit. Dit zijn ook meteen de twee belangrijkste markten waar ARM ook graag verder in wil groeien.

Mali-G72 moet nu de G71 opvolgen. Het ontwerp is wederom op de Bifrost-architectuur gebaseerd, maar heeft wel een flink aantal aanpassingen meegekregen. Het bedrijf claimt zelf 40% meer performance ten opzichte van 2017 apparaten, hoewel het daarbij waarschijnlijk de winst van nieuwe semiconductor-processen meeneemt. Helaas geeft het bedrijf over hun nieuwe GPU niet zoveel details als het deed over de CPU-kernen, maar valt er wel wat over te zeggen.

Zoals de kleine verhoging in het serienummer al insinueert, is de G72 echt een optimalisatie. De efficiëntie van de rekeneenheden moet iets hoger zijn, er zijn een paar kleine features toegevoegd voor complexe grafische features en de processor zou verder moeten schalen, hoewel het maximum aantal clusters met 32 onveranderd is.

De moderne, hogeresolutieschermen op smartphones en VR-headsets brengen een aantal uitdagingen met zich mee. De texturen moeten steeds gedetailleerder zijn, waardoor het aantal benodigde vertexen, de datapunten op een vorm of oppervlak, toeneemt. Om al deze texturen op de juiste plaats te krijgen neemt het aantal draw calls ook toe. Verder worden steeds complexere technieken gebruik voor bijvoorbeeld de weerkaatsing van licht.

Een van de mogelijk technieken om efficiënter van de aanwezige rekenkracht gebruik te maken heet deferred shading. Hierbij wordt de geometrie, dus alle vormen en texturen, los getrokken van de belichting. Omdat deze apart gerenderd en vervolgens samengevoegd moeten worden, is dit een behoorlijk geheugenintensieve taak. ARM gebruikt een techniek genaamd Pixel Local Storage om dit te compenseren. Een complexe scene wordt in veel 3D-engines opgebouwd uit een groot aantal tiles, die los van elkaar gerenderd worden. Elke tile heeft een eigen stuk geheugen nodig, de tile buffer. Om te zorgen dat het geheugengebruik binnen de perken blijft kan ARM met PLS dezelfde tile buffer voor zowel de geometrie- als de lichtberekeningen gebruiken, waardoor veel minder geheugenbandbreedte vereist is.

Met PLS kon op Mali-G71 systemen al 42% bandbreedte worden bespaard, terwijl Mali-G72 daar nog eens 45% vanaf haalt. Het gebruik van PLS op de G72 zorgt dus dat de aanwezig bandbreedte veel efficiënter wordt gebruikt, wat meer en complexere texturen en belichting toelaat.

Ook voor VR is een aantal nieuwe technieken geïmplementeerd. De belangrijkste is misschien wel foveated rendering. Hierbij wordt het beeld in een aantal delen opgedeeld, waarbij alleen het gedeelte waar je naar kijkt in de volledige resolutie wordt gerenderd. Dit sluit goed aan op de werking van het menselijk oog, waar in de fovea - het midden van de retina oftewel het netvlies - elk kegeltje en staafje met een eigen zenuw is aangesloten en dus het meeste detail wordt waargenomen. Hierbuiten moeten groepjes receptoren een zenuw delen, waardoor minder detail wordt waargenomen. Het is in deze delen dus ook niet nodig om in de volledige resolutie te renderen. Een nadeel van foveated rendering is dat er zeer solide eye-tracking aanwezig moet zijn, omdat de GPU moet weten naar welk gedeelte van het scherm je kijkt en dus wat er in de hoogste resolutie gerenderd moet worden.

Verder is mobile multiview geïmplementeerd, een techniek die het renderen van beelden voor twee ogen efficiënter moet maken. In plaats van tweemaal het volledige beeld te renderen, wordt het beeld maar voor een oog berekend en gekopieerd naar het andere oog, met de juiste perspectiefaanpassingen. Ook is er native ondersteuning voor MSAA, oftewel multisampling anti-aliasing. Anti-aliasing is zeer belangrijk in VR: vanwege de relatief lage resolutie vallen gekartelde lijnen extra op, dus die wil je zo goed mogelijk wegpoetsen. Ten slotte is er een nieuwe techniek om texturen te comprimeren, ten einde bandbreedte te besparen.

ARM heeft verder geprobeerd de GPU aantrekkelijker te maken voor machine learning toepassingen, een techniek die o.a. gebruikt wordt voor het trainen van neurale netwerken. In de SGEMM, een algoritme voor machine learning, presteert Mali-G72 13% efficiënter bij 32-bit floating-point operaties en 17% efficiënter bij 16-bits FP-operaties.

Alles bij elkaar opgeteld moet de nieuwe GPU 25% energie-efficiënter opereren dan zijn voorganger. Mali-G72 kan nog steeds in een groot aantal formaten geïmplementeerd worden, met 1 tot 32 clusters. Per vierkante millimeter moet de GPU 20% beter presteren, iets wat belangrijk is om de kosten voor de chipfabrikant laag te houden. 

0
*