9 / 20 · Conceito
Saídas estacionárias e outros fluxos de dados
Compare armazenamento e transporte identificando o que permanece no PE.
As aulas podem ser lidas gratuitamente. Inscreva-se para salvar o progresso.
Pergunte qual valor permanece local
Uma matriz sistólica executa trabalho em paralelo enquanto os operandos se movem por elementos de processamento vizinhos. “Estacionário” descreve um valor mantido próximo para reutilização durante um cálculo. Escolhas diferentes alteram os registradores do PE, os caminhos de somas parciais e o cronograma da fronteira mesmo quando a operação matemática é idêntica.
No projeto de saídas estacionárias deste curso, PE(i,j) mantém a soma parcial de C(i,j). A e B se movem conforme k avança. Após a chegada dos K termos, o resultado é coletado; clear inicia um novo bloco de saída. Os valores de A são reutilizados ao longo de uma linha e os de B ao longo de uma coluna. No exemplo 2×2, A(0,0)=1 contribui tanto para C(0,0) quanto para C(0,1).
Projetos com pesos estacionários pré-carregam pesos, como B, nos PEs e os reutilizam com as ativações que chegam. As somas parciais precisam se mover ou ser coletadas em outro lugar. Renomear portas não transforma o controlador OS em WS: o valor armazenado, a sequência de pré-carga e o caminho do resultado mudam. Projetos com entradas estacionárias mantêm ativações para reutilização com pesos ou cálculos de saída. Comparamos essa ideia sem implementar aqui uma matriz IS.
| Fluxo de dados | Valor mantido | Custo a examinar |
|---|---|---|
| OS | Soma parcial da saída | Acumuladores largos e coleta de resultados |
| WS | Peso | Pré-carga e transporte/armazenamento de somas parciais |
| IS | Ativação | Fornecimento de pesos e combinação de somas de saída |
Mantenha separadas três medições de tráfego
Considere dois produtos 2×2 usando a mesma B. Nosso modelo de fronteira OS fornece quatro valores de A e quatro de B por trabalho: dezesseis valores de operandos em dois trabalhos. Um buffer local de B pode evitar a releitura de B da memória externa no segundo trabalho, embora ainda forneça seus quatro tokens de fronteira. Reutilizar a pré-carga de pesos oferece outro compromisso e exige um caminho diferente de somas parciais.
Leituras externas, injeções na fronteira e transferências entre PEs são medições distintas. O README do Gemmini da UC Berkeley fornece um exemplo de fonte primária de fluxos OS e WS configuráveis. Nossa matriz didática tem seu próprio contrato e não reproduz a implementação nem a interface de instruções do Gemmini.
Para uma revisão de projeto, identifique o que permanece local, onde as somas se acumulam e quais valores atravessam cada fronteira. A reutilização por si só não garante portas de memória suficientes nem taxa de processamento sustentada adequada.
Experimente
Dois trabalhos 2×2 compartilham B mantida em um buffer local. A não é reutilizada. Quantas leituras externas de operandos e injeções na fronteira OS são necessárias?
Ler a explicação
As leituras externas totalizam 12 valores: duas matrizes A de quatro, mais uma matriz B de quatro. As injeções na fronteira totalizam 16 valores: quatro de A mais quatro de B por trabalho. Escritas de resultados e encaminhamento interno estão excluídos.