Altifigence Academy

20 / 24 · Concetto

Pianificazioni, code finali e doppio buffering

Per K=10,quattro uscite,tre PE e un ciclo aggiuntivo per uscita, calcola cicli modellati e utilizzo dei soli MAC.

Trasforma un limite inferiore in una pianificazione

Un limite di calcolo presume che ogni posizione PE utile possa essere riempita. Una pianificazione deve collocare caricamenti, inizializzazione, MAC, conversione, scrittura e completamento. Suddividere l'asse di riduzione tra PE crea somme parziali da combinare. Suddividere gli assi di uscita può evitare quella combinazione, ma lascia PE inattivi sulle code finali delle uscite. Dichiara quale asse viene parallelizzato.

Coda finale di riduzione svolta

Un'uscita richiede K=9 MAC e due PE eseguono due termini per ciclo. Occorrono ceil(9/2)=5 cicli MAC, con una posizione non valida nel ciclo finale. Quattro uscite elaborate sequenzialmente usano venti cicli MAC e quaranta posizioni disponibili. Trentasei MAC utili danno utilizzo delle posizioni MAC del 90%. Presumi un ciclo aggiuntivo di combinazione/scrittura per uscita, senza sovrapposizione: totale 24 cicli.

Questo costo è un'ipotesi del modello, non una latenza RTL verificata. Alberi di riduzione reali, dipendenze e porte di uscita possono differire. Rispetto a tutte le posizioni PE su 24 cicli, l'utilizzo è 36/(2×24)=75%. Questo denominatore differisce dalla misura del 90% dei soli MAC. Il progetto finale etichetta queste ipotesi.

Sovrapposizione svolta con doppio buffering

Supponi che ogni blocco richieda sei cicli di caricamento, dieci di calcolo e due di scrittura. Tre blocchi completamente seriali richiedono 54 cicli. Con risorse separate di caricamento/calcolo, ingressi e pesi con doppio buffering e scritture senza conflitti, carica il primo blocco per sei cicli, poi calcola tre blocchi da dieci cicli precaricando i successivi. Aggiungi l'ultima scrittura di due cicli: 38 cicli. Si presume che le scritture precedenti si sovrappongano al calcolo successivo.

Se il calcolo richiede quattro cicli ma il caricamento ancora sei, il caricatore rimane indietro. Due buffer non possono creare banda. Disegna le transizioni di proprietà affinché un nuovo caricamento non possa sovrascrivere un buffer di calcolo attivo. Se caricamenti e scritture condividono un bus, ricalcola la pianificazione ideale.

Ricevere l'ultimo ingresso non termina l'operazione. Completa MAC,conversione,attivazione,pooling e l'ultimo risultato accettato. Specifica condizioni iniziali/finali dei contatori. Stime software,simulazione RTL,frequenza sintetizzata e misure sul dispositivo sono prove diverse; questo corso fornisce esecuzione numerica e una stima esplicita della pianificazione.

Pianificazione di un'uscita
  1. Inizializzazione: Caricare una sola volta il bias nelle unità dell'accumulatore
  2. Cinque cicli MAC: Due PE elaborano nove termini utili
  3. Combinazione e memorizzazione: Un ciclo aggiuntivo modellato per uscita
  4. Completamento del transito: Terminare soltanto dopo l'accettazione dell'ultimo risultato

Prova tu

Per K=10,quattro uscite,tre PE e un ciclo aggiuntivo per uscita, calcola cicli modellati e utilizzo dei soli MAC.

Leggi la spiegazione

Ogni uscita richiede quattro cicli MAC. Il totale è 4×(4+1)=20 cicli. Ci sono 48 posizioni MAC e 40 MAC utili, dando 83.33%.

La scelta vale per questo browser. Puoi modificarla in qualsiasi momento dal piè di pagina.