Pular para o conteúdo
Disponível para estágio em desenvolvimento, automação e infraestrutura.Fale comigo
RGW.
Todos os projetos

Game of Life

Acadêmico

O Jogo da Vida distribuído com MPI.

Ano
2026
Papel
Projeto acadêmico
Contexto
Computação paralela

Tecnologias: C, MPI, Open MPI, Make

Glider
Gosper glider gun

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.