19 / 24 · Concetto
Banda e limiti di calcolo
Per 1152 MAC e 224 byte, usa otto PE ma mantieni la banda a 0.5 byte/ciclo. Qual è il limite inferiore con sovrapposizione perfetta?
Le lezioni sono gratuite. Iscriviti per salvare i progressi.
Alimenta l'aritmetica
Il conteggio MAC misura il lavoro; la banda misura quanto rapidamente gli operandi possono raggiungerlo. Quattro PE da un MAC offrono idealmente quattro MAC per ciclo. Leggere due operandi da un byte per ogni MAC richiederebbe otto byte per ciclo. Il riuso riduce il traffico esterno, ma i buffer locali richiedono comunque porte sufficienti per alimentare i PE. Banda esterna e domanda interna di porte di lettura sono quantità diverse.
Il limite inferiore del calcolo è il conteggio MAC diviso per la frequenza MAC disponibile. Il limite inferiore di trasferimento è byte divisi per banda. Con sovrapposizione perfetta, il tempo totale non può essere inferiore al loro massimo. Senza sovrapposizione, sommali. Avvio, raffiche, preparazione degli indirizzi, code finali e scrittura possono aumentare una pianificazione reale.
Progetto ipotetico svolto
Usa N=1, C=2, H=W=6, M=4 e convoluzione 3×3 senza riempimento. L'uscita è 4×4 e il lavoro è 1152 MAC. Supponi che ogni tensore venga letto una volta, senza ricaricamenti degli aloni o riversamenti di somme parziali. Gli ingressi int8 usano 72 byte, i pesi 72, le uscite 64 e i bias a 32 bit 16: 224 byte totali.
Quattro PE danno un limite di calcolo di 288 cicli. A un byte per ciclo, il trasferimento richiede 224 cicli, quindi il limite con sovrapposizione perfetta è 288. A mezzo byte per ciclo, i trasferimenti richiedono 448 cicli e diventano il limite maggiore. Senza sovrapposizione a un byte per ciclo, la somma semplice è 512 cicli. Associa queste ipotesi a ogni numero riportato.
Con questa ipotesi di riuso, l'intensità aritmetica è 1152/224≈5.14 MAC per byte. Leggere invece entrambi gli operandi per ogni MAC usa 2304 byte di operandi; uscite e bias portano il totale a 2384. Il lavoro è invariato; il movimento differisce. Questo ignora intenzionalmente cache, compressione e allineamento del bus e non è una misura hardware.
Registra dimensione unica del tensore, byte effettivi letti/scritti, traffico delle somme parziali, operazioni PE utili e cicli totali. Classifica i cicli inattivi per mancanza di ingressi, blocco dell'uscita, code finali e controllo. Raddoppiare i PE non può dimezzare il tempo quando dominano i trasferimenti. Un riuso migliore può richiedere più memoria, quindi considera questa analisi insieme al precedente budget dei blocchi.
Prova tu
Per 1152 MAC e 224 byte, usa otto PE ma mantieni la banda a 0.5 byte/ciclo. Qual è il limite inferiore con sovrapposizione perfetta?
Leggi la spiegazione
Il limite di calcolo è 144 cicli e quello di trasferimento 448, quindi il massimo è 448. L'alimentazione degli operandi rimane il limite inferiore determinante.