Altifigence Academy

19 / 24 · Conceito

Limites de largura de banda e de cálculo

Para 1152 MACs e 224 bytes, use oito PEs, mas mantenha a largura de banda em 0.5 bytes/ciclo. Qual é o limite inferior com sobreposição perfeita?

Alimente a aritmética

A quantidade de MACs mede o trabalho; a largura de banda mede a rapidez com que os operandos podem chegar até ele. Quatro PEs de um MAC oferecem idealmente quatro MACs por ciclo. Buscar dois operandos de um byte para cada MAC exigiria oito bytes por ciclo. A reutilização reduz o tráfego externo, mas buffers locais ainda precisam de portas suficientes para alimentar os PEs. Largura de banda externa e demanda interna de portas de leitura são quantidades distintas.

O limite inferior de cálculo é a quantidade de MACs dividida pela taxa disponível de MACs. O limite inferior de transferência é bytes divididos pela largura de banda. Com sobreposição perfeita, o tempo total não pode ser menor que o máximo dos dois. Sem sobreposição, some-os. Inicialização, rajadas, preparação de endereços, caudas e escrita podem aumentar um cronograma real.

Projeto hipotético resolvido

Use N=1, C=2, H=W=6, M=4 e convolução 3×3 sem preenchimento. A saída é 4×4 e o trabalho é 1152 MACs. Suponha que cada tensor seja buscado uma vez, sem recargas de halo nem gravações de somas parciais fora dos buffers locais. Entradas int8 usam 72 bytes, pesos 72, saídas 64 e vieses de 32 bits 16: 224 bytes totais.

Quatro PEs dão um limite de cálculo de 288 ciclos. Em um byte por ciclo, a transferência exige 224 ciclos, portanto o limite com sobreposição perfeita é 288. Em meio byte por ciclo, as transferências exigem 448 ciclos e se tornam o maior limite. Sem sobreposição em um byte por ciclo, a soma simples é 512 ciclos. Associe essas premissas a cada número informado.

Sob essa premissa de reutilização, a intensidade aritmética é 1152/224≈5.14 MACs por byte. Buscar ambos os operandos para cada MAC usa, em vez disso, 2304 bytes de operandos; saídas e vieses elevam o total a 2384. O trabalho é igual; o movimento difere. Isso ignora intencionalmente caches, compressão e alinhamento do barramento e não é uma medição de hardware.

Registre tamanho único dos tensores, bytes reais de leitura/escrita, tráfego de somas parciais, operações úteis dos PEs e ciclos totais. Classifique ciclos ociosos por falta de entradas, bloqueio da saída, caudas e controle. Dobrar PEs não pode reduzir o tempo pela metade quando as transferências dominam. Melhor reutilização pode precisar de mais armazenamento, portanto considere essa análise junto com o orçamento de blocos anterior.

Experimente

Para 1152 MACs e 224 bytes, use oito PEs, mas mantenha a largura de banda em 0.5 bytes/ciclo. Qual é o limite inferior com sobreposição perfeita?

Ler a explicação

O limite de cálculo é 144 ciclos e o de transferência é 448, portanto o máximo é 448. O fornecimento de operandos continua sendo o limite inferior dominante.

Sua escolha vale neste navegador. Altere-a a qualquer momento no rodapé.