14 / 20 · Concepto
Ancho de banda y utilización útil
Separa la capacidad MAC máxima de los costes de llenado, drenaje, relleno y memoria.
Las lecciones se pueden leer gratis. Inscríbete para guardar el progreso.
Define intervalo y unidades
Una cuadrícula N×N alcanza N² MAC por flanco con avance. El llenado y el drenaje reducen la utilización de un trabajo aislado. En nuestro modelo sin detenciones, de bloque completo y reenvío de un flanco, el trabajo útil es N²K y las posiciones disponibles son N²(K+2N−2), lo que da una utilización durante el intervalo de cálculo de K/(K+2N−2).
Para N=4, K=16, la cuadrícula realiza 256 MAC en veintidós flancos con avance. La utilización es 256/352=8/11, aproximadamente 72.73%. Con una frecuencia supuesta de 100MHz, la capacidad máxima es 1.6 GMAC/s y el rendimiento del intervalo de cálculo aislado es aproximadamente 1.164 GMAC/s. Contar multiplicación y suma por separado duplica el número de operaciones. Son estimaciones con frecuencia supuesta, no resultados de síntesis medidos.
Calcula el tráfico en cada límite
Inyectar A y B requiere 2NK valores: 128 bytes para operandos de ocho bits. Los PE consumen 512 valores de operandos, lo que muestra una reutilización de cuatro veces de cada entrada de borde. El intervalo de inyección solapada puede requerir ocho bytes por flanco, o 0.8GB/s a 100MHz. La demanda máxima de suministro difiere de la media durante el llenado y el drenaje.
Supón que dieciséis resultados usan posiciones de almacenamiento de treinta y dos bits, pese a la anchura de acumulador de veinte bits. Las escrituras de resultados añaden sesenta y cuatro bytes, así que el tráfico externo suma 192 bytes sin reutilización entre bloques, sobrecarga de comandos ni desperdicio por alineación. La intensidad aritmética es 256/192=4/3 MAC por byte.
A 0.4GB/s, solo la transferencia necesita al menos 480ns; el cálculo necesita 220ns. Ni siquiera un solapamiento perfecto puede mejorar el intervalo mayor, lo que acota el rendimiento cerca de 0.533 GMAC/s. Es una cota superior, no rendimiento garantizado. Sin solapamiento, cargar tarda treinta y dos flancos, calcular veintidós y almacenar dieciséis, setenta en total y aproximadamente 0.366 GMAC/s antes de inicialización u otras esperas.
El ejemplo 3×3 con relleno sobre N=2 tiene veintisiete MAC útiles en ochenta posiciones de PE: 33.75% de utilización útil. Contar en cambio las MAC de ceros de relleno da 60%, una medición diferente. El artículo de TPU de Jouppi y colaboradores es una referencia de investigación para separar la capacidad máxima del acelerador del rendimiento de la carga; nuestros ejemplos numéricos se deducen de nuestra propia planificación.
Inténtalo tú
Para un bloque completo N=2, K=8, calcula las MAC, los flancos de cálculo, la utilización y los bytes de entrada de borde de ocho bits.
Leer la explicación
Hay 32 MAC, diez flancos de cálculo y cuarenta posiciones de PE, así que la utilización es 80%. La entrada de borde es 2×2×8=32 bytes. La utilización de cálculo excluye la carga y las escrituras de resultados.