Estados iniciais reais dos arquivos patterns/ do repositório.
Sobre
Implementação em C do Jogo da Vida de Conway com decomposição horizontal do domínio e comunicação entre 16 processos MPI. Cada processo recebe uma faixa contígua do tabuleiro e mantém cinco linhas fantasmas em cada extremidade.
A troca de halos usa MPI_Sendrecv, evitando dependência de ordem e deadlock entre os processos vizinhos.
Fluxo de execução
O processo 0 lê o arquivo de entrada.
MPI_Bcast transmite as dimensões do tabuleiro.
MPI_Scatter distribui as faixas de linhas.
MPI_Sendrecv troca os halos entre vizinhos.
Cada processo calcula sua região da próxima geração.
MPI_Gather reúne o tabuleiro e o processo 0 grava a saída.
make
mpirun --oversubscribe -np 16 ./life patterns/glider.txt 20 saida.txt
Restrições conhecidas
A implementação exige exatamente 16 processos.
O número de linhas deve ser divisível por 16.
Cada processo deve receber pelo menos cinco linhas.
As bordas externas são tratadas como células mortas.
O projeto demonstra comunicação distribuída, sem benchmark de escalabilidade.