14 / 20 · Conceito
Largura de banda e utilização útil
Separe a capacidade máxima de MACs dos custos de preenchimento inicial, esvaziamento, padding e memória.
As aulas podem ser lidas gratuitamente. Inscreva-se para salvar o progresso.
Defina o intervalo e as unidades
Uma grade N×N atinge um máximo de N² MACs por borda com advance. O preenchimento inicial e o esvaziamento reduzem a utilização de um trabalho isolado. Em nosso modelo sem pausas, de bloco completo e encaminhamento de uma borda, o trabalho útil é N²K e as posições disponíveis são N²(K+2N−2), dando utilização no intervalo de cálculo de K/(K+2N−2).
Para N=4, K=16, a grade executa 256 MACs em vinte e duas bordas com advance. A utilização é 256/352=8/11, aproximadamente 72.73%. Em uma frequência presumida de 100MHz, a capacidade máxima é 1.6 GMAC/s e a taxa no intervalo de cálculo isolado é de cerca de 1.164 GMAC/s. Contar multiplicação e soma separadamente dobra o número de operações. Essas são estimativas em uma frequência presumida, não resultados medidos de síntese.
Calcule o tráfego em cada fronteira
Injetar A e B exige 2NK valores: 128 bytes para operandos de oito bits. Os PEs consomem 512 valores de operandos, mostrando reutilização de quatro vezes de cada entrada da fronteira. O intervalo de injeção sobreposta pode exigir oito bytes por borda, ou 0.8GB/s em 100MHz. A demanda máxima de fornecimento difere da demanda média durante preenchimento e esvaziamento.
Suponha que dezesseis resultados usem posições de armazenamento de trinta e dois bits, apesar da largura de vinte bits do acumulador. As escritas de resultados acrescentam sessenta e quatro bytes, portanto o tráfego externo totaliza 192 bytes sem reutilização entre blocos, sobrecarga de comandos ou desperdício de alinhamento. A intensidade aritmética é 256/192=4/3 MAC por byte.
Em 0.4GB/s, apenas a transferência precisa de pelo menos 480ns; o cálculo precisa de 220ns. Mesmo a sobreposição perfeita não pode superar o intervalo mais longo, limitando a taxa a aproximadamente 0.533 GMAC/s. Esse é um limite superior, não desempenho garantido. Sem sobreposição, o carregamento leva trinta e duas bordas, o cálculo vinte e duas e o armazenamento dezesseis, totalizando setenta bordas e cerca de 0.366 GMAC/s antes da inicialização ou de outras esperas.
O exemplo 3×3 com preenchimento em N=2 tem vinte e sete MACs úteis em oitenta posições de PEs: 33.75% de utilização útil. Contar os MACs de preenchimento zero dá 60%, uma medição diferente. O artigo de Jouppi e colaboradores sobre a TPU é uma referência de pesquisa para separar capacidade máxima do acelerador e desempenho da carga; nossos exemplos numéricos derivam de nosso próprio cronograma.
Experimente
Para um bloco completo N=2, K=8, encontre MACs, bordas de cálculo, utilização e bytes de entrada na fronteira para oito bits.
Ler a explicação
Há 32 MACs, dez bordas de cálculo e quarenta posições de PEs, portanto a utilização é 80%. A entrada na fronteira é 2×2×8=32 bytes. A utilização de cálculo exclui carregamento e escritas de resultados.