GPU-Programmierung

Welche Aussage zu Tensor Cores (Matrixrecheneinheiten) in neueren GPUs ist richtig?

  1. ASie berechnen das Multiply-Accumulate kleiner Matrizen mit einer einzigen Anweisung und beschleunigen KI-Berechnungen vor allem mit Zahlen niedriger Genauigkeit erheblich
  2. BSie sind Sensoren zur Messung der physikalischen Größe Tensor
  3. CSie sind Spezialschaltungen zum Zeichnen von Schatten in der Grafik
Antwort und Erläuterung anzeigen

Antwort: A. Sie berechnen das Multiply-Accumulate kleiner Matrizen mit einer einzigen Anweisung und beschleunigen KI-Berechnungen vor allem mit Zahlen niedriger Genauigkeit erheblich

Ein Tensor Core ist eine Recheneinheit, die die Multiplikation und Addition kleiner Matrizen, etwa 4×4 oder 16×16, mit einer einzigen Anweisung auf einmal ausführt. Bei gleicher Fläche und Leistung lässt sich ein Mehrfaches an Berechnungen leisten, verglichen mit normalen Recheneinheiten, die Multiplikation und Addition einzeln ausführen. Sie werden meist mit niedriger Genauigkeit wie FP16, BF16, FP8 oder INT8 verwendet und beschleunigen das Matrixprodukt, das den größten Teil von Training und Inferenz neuronaler Netze ausmacht, erheblich.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu GPU-Programmierung

  1. Warum wird bei gemischter Genauigkeit auf der GPU häufig die Multiplikation in niedriger Genauigkeit wie FP16 und die Aufsummierung (Akkumulation) in FP32 ausgeführt?
  2. Bei der Summierung derselben Gleitkommadaten auf der GPU unterschied sich die letzte Stelle des Ergebnisses bei jeder Ausführung geringfügig. Was ist die wahrscheinlichste Ursache?
  3. Was ist ein üblicher Richtwert für die Zahl der Threads pro Block in CUDA?
  4. Welchen Vorteil hat es, einen Kernel wie oben mit einer Schleife (Grid-Stride-Loop) zu schreiben?
  5. Bei welchem Zugriff arbeitet der Constant Memory von CUDA besonders schnell?

Vergleiche zu diesem Thema