Altifigence Academy

19 / 24 · Konzept

Bandbreiten- und Rechengrenzen

Verwenden Sie für 1152 MACs und 224 Bytes acht PEs, halten Sie die Bandbreite aber bei 0.5 Bytes/Takt. Welche Untergrenze gilt bei perfekter Überlappung?

Die Arithmetik versorgen

Die MAC-Anzahl misst Arbeit, Bandbreite die Geschwindigkeit, mit der Operanden sie erreichen können. Vier PEs mit je einem MAC bieten ideal vier MACs pro Takt. Zwei Ein-Byte-Operanden pro MAC zu laden würde acht Bytes pro Takt erfordern. Wiederverwendung verringert externen Verkehr, lokale Puffer benötigen aber weiterhin genügend Anschlüsse zur PE-Versorgung. Externe Bandbreite und interner Leseanschlussbedarf sind unterschiedliche Größen.

Die Rechenuntergrenze ist MAC-Anzahl geteilt durch verfügbare MAC-Rate. Die Übertragungsuntergrenze ist Bytes geteilt durch Bandbreite. Bei perfekter Überlappung kann die Gesamtzeit ihr Maximum nicht unterschreiten. Ohne Überlappung addieren Sie sie. Start, Bursts, Adresseinrichtung, Restgruppen und Schreiben können einen tatsächlichen Ablauf verlängern.

Durchgerechneter hypothetischer Entwurf

Verwenden Sie N=1, C=2, H=W=6, M=4 und 3×3-Faltung ohne Auffüllung. Die Ausgabe ist 4×4 und die Arbeit 1152 MACs. Nehmen Sie an, jeder Tensor wird einmal geladen, ohne Nachladen von Randbereichen oder Auslagern von Teilsummen. Int8-Eingaben benötigen 72 Bytes, Gewichte 72, Ausgaben 64 und 32-Bit-Biaswerte 16: insgesamt 224 Bytes.

Vier PEs liefern eine Rechengrenze von 288 Takten. Bei einem Byte pro Takt benötigt Übertragung 224 Takte, also ist die Grenze bei perfekter Überlappung 288. Bei einem halben Byte pro Takt benötigt Übertragung 448 Takte und wird zur größeren Grenze. Ohne Überlappung bei einem Byte pro Takt beträgt die einfache Summe 512 Takte. Führen Sie diese Annahmen bei jeder gemeldeten Zahl mit.

Unter dieser Wiederverwendungsannahme ist die arithmetische Intensität 1152/224≈5.14 MACs pro Byte. Beide Operanden für jeden MAC neu zu laden benötigt dagegen 2304 Operandenbytes; Ausgaben und Biaswerte erhöhen die Gesamtmenge auf 2384. Die Arbeit bleibt gleich, die Bewegung unterscheidet sich. Dies ignoriert bewusst Caches, Kompression und Busausrichtung und ist keine Hardwaremessung.

Erfassen Sie eindeutige Tensorgröße, tatsächliche Lese-/Schreibbytes, Teilsummenverkehr, nützliche PE-Operationen und Gesamttakte. Ordnen Sie Leertakte nach Eingabemangel, Ausgabeblockierung, Restgruppen und Steuerung ein. Verdoppelte PEs können die Zeit nicht halbieren, wenn Übertragungen dominieren. Bessere Wiederverwendung kann mehr Speicher benötigen; betrachten Sie diese Analyse daher gemeinsam mit dem vorhergehenden Kachelbudget.

Selbst ausprobieren

Verwenden Sie für 1152 MACs und 224 Bytes acht PEs, halten Sie die Bandbreite aber bei 0.5 Bytes/Takt. Welche Untergrenze gilt bei perfekter Überlappung?

Erklärung lesen

Die Rechengrenze ist 144 Takte, die Übertragungsgrenze 448, also ist das Maximum 448. Operandenzufuhr bleibt die begrenzende Untergrenze.

Deine Auswahl gilt für diesen Browser. Du kannst sie jederzeit in der Fußzeile ändern.