Altifigence Academy

9 / 20 · Conceito

Saídas estacionárias e outros fluxos de dados

Compare armazenamento e transporte identificando o que permanece no PE.

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 dadosValor mantidoCusto a examinar
OSSoma parcial da saídaAcumuladores largos e coleta de resultados
WSPesoPré-carga e transporte/armazenamento de somas parciais
ISAtivaçãoFornecimento 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.

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