17 / 24 · Conceito
PEs, fluxo de dados e reutilização de MACs
Mapeie P=3,M=2,K=8 para quatro PEs com saídas estacionárias. Quais são os ciclos MAC e a utilização útil das posições MAC, excluindo escritas?
As aulas podem ser lidas gratuitamente. Inscreva-se para salvar o progresso.
Decida o que permanece próximo
Um PE é um elemento de processamento com multiplicação, acumulação e pequeno estado local. Mais PEs aumentam a simultaneidade possível apenas quando operandos e somas parciais conseguem chegar até eles. O fluxo de dados mapeia eixos dos laços para o tempo e as posições dos PEs e escolhe quais valores permanecem locais. Quantidades idênticas de MACs podem exigir movimentos muito diferentes.
O fluxo de saídas estacionárias mantém local uma soma parcial de saída enquanto fornece operandos. O de pesos estacionários mantém pesos ao longo das entradas e move ou combina somas parciais. O de entradas estacionárias mantém valores de entrada para reutilização com pesos. Cada nome identifica um movimento que é reduzido; não elimina todas as outras transferências. Descreva os caminhos reais ao combinar estratégias de reutilização.
Mapeamento resolvido com saídas estacionárias
P=4 posições espaciais,M=2 canais de saída,K=9 termos de redução dão oito saídas e 72 MACs. Quatro PEs assumem uma saída cada e executam um termo por ciclo. As primeiras quatro saídas levam nove ciclos, depois as próximas quatro levam nove: dezoito ciclos MAC. Acrescente um ciclo simultâneo de escrita de resultados após cada grupo sem sobreposição, dando vinte ciclos totais. As posições MAC são totalmente usadas, mas a utilização da operação completa também inclui as escritas.
Coloque dois canais de saída do mesmo recorte em PEs diferentes e distribua sua entrada compartilhada a ambos. Ler esse recorte de nove amostras separadamente para os dois canais exige dezoito leituras na fronteira de fornecimento; ler uma vez e compartilhar exige nove. Isso não conta leituras locais de PEs nem reutilização entre recortes vizinhos. Declare a fronteira na qual o tráfego é contado.
Mantenha apenas tantas somas parciais quanto o armazenamento local permitir. Sete saídas em quatro PEs deixam um PE não usado no segundo grupo. Uma máscara de validade deve suprimir seu resultado falso, e a utilização deve contar MACs úteis.
Mover somas parciais pode exigir transferências mais largas que mover operandos int8. Registre a largura e as contagens de leitura/escrita de cada classe de valor. Reordenar somas inteiras exatas preserva seu resultado, mas a limitação intermediária pode quebrar essa equivalência. O projeto Eyeriss do MIT fornece um exemplo primário de projeto de acelerador atento à reutilização. As quantidades de PEs e os cronogramas daqui são exemplos didáticos hipotéticos separados.
Experimente
Mapeie P=3,M=2,K=8 para quatro PEs com saídas estacionárias. Quais são os ciclos MAC e a utilização útil das posições MAC, excluindo escritas?
Ler a explicação
Seis saídas exigem dois grupos e dezesseis ciclos MAC. Há 64 posições de PE por ciclo e 48 MACs úteis, dando 75%.