Nauwkeurige Modellen van AMD Matrix Cores

Samenvatting

Matrixvermenigvuldigers die beschikbaar zijn op recente GPU's voldoen niet aan de IEEE 754 floating-point standaard. De kenmerken van matrixvermenigvuldigers verschillen per leverancier en per architectuur van dezelfde leverancier. Voorbeelden hiervan zijn:

  • de breedte van de accumulator;
  • afrondingsgedrag;
  • normalisatiepunten;
  • logica voor tussenliggende underflow en overflow;
  • de omgang met subnormalen;
  • de behandeling van speciale inputs.

Als gevolg hiervan is de reproduceerbaarheid van resultaten van kleine matrixvermenigvuldigers over verschillende apparaten niet mogelijk en kan dit niet via softwarecontrole worden bereikt. Bovendien zijn implementatiedetails van matrixvermenigvuldigers niet gedocumenteerd, wat het moeilijk maakt om discrepanties in de berekende resultaten te interpreteren.

In dit onderzoek karakteriseren wij het numerieke gedrag van matrixvermenigvuldigers over drie AMD GPU-architecturen, waarbij gebruik is gemaakt van de volgende GPU's:

  • CDNA 1: MI100
  • CDNA 2: MI210/250
  • CDNA 3: MI300A/300X

We ontwerpen testvectoren die gericht zijn op numerieke kenmerken voor alle ondersteunde inputformaten. We voorzien hierbij de afleiding en de redenering waarom elke vector toelaat om een specifiek numeriek kenmerk te bepalen op basis van de outputs van de apparaten.

Vervolgens zijn MATLAB-gebaseerde softwaremodellen van de matrixvermenigvuldigers ontwikkeld voor elke architectuur. Deze zijn gevalideerd op bit-niveau reproduceerbaarheid ten opzichte van de hardware, met behulp van een gerandomiseerde testsuite bestaande uit 10 miljoen sets van willekeurige inputvectoren. Om dit te bereiken, hebben we een eerder ontwikkelde techniek toegepast om de nauwkeurigheid van de modellen iteratief te verfijnen in een loop; dit gebeurde via gerandomiseerde tests gevolgd door testverfijning, totdat het model voor elk testgeval overeenkwam met de hardware.

Ten slotte hebben we deze modellen gebruikt in twee demonstratieve numerieke toepassingen als bewijs van concept voor het mogelijke experimentele onderzoek. Hierbij zijn de nauwkeurigheidsverschillen op applicatieniveau tussen AMD matrix cores en NVIDIA tensor cores gekwantificeerd.

Onderwerpen

  • Hardware-architectuur (cs.AR)
  • Mathematische Software (cs.MS)