Trabalho 4: Comunicação coletiva com MPI

Este trabalho é individual!

Parte 1

  • Leia o artigo abaixo:

    Gorlatch, S. Send-receive considered harmful: Myths and realities of message passing. ACM Transactions on Programming Languages and Systems (TOPLAS), vol. 26, n. 1, pp. 47-56, 2004. Disponível em: http://portal.acm.org/citation.cfm?id=963780 (acesso somente na UFSM ou via proxy).

  • Agora responda às seguintes questões, com base na sua experiência atual com MPI (que não é muita, mas deve ser valorizada ;-)):

    1. Dentre os problemas com send/receive apresentados pelo autor, explique e argumente sobre aquele que você achou MAIS relevante ou MENOS relevante.

    2. Dentre as vantagens da comunicação coletiva defendidas pelo autor, explique e argumente sobre aquela que você achou MAIS relevante ou MENOS relevante.

Parte 2

Nesta parte do trabalho, você vai ter que entender e explicar uma função do MPI para comunicação coletiva, conforme o roteiro abaixo:

  1. Busque documentação sobre a função e assegure-se de que entendeu minimamente seu funcionamento.

  2. Busque pelo menos 2 exemplos de pequenos programas que usem a função e teste-os na linux01 ou linux02, verificando se funcionaram como esperado.

  3. Faça modificações em um dos exemplos, mudando a forma de uso da função (por exemplo, variando o tipo e/ou tamanho dos dados, os processos, etc.). Coloque seu programa modificado em um repositório e indique no código onde encontrou o programa original.

  4. Crie slides sobre a função no Google Drive, incluindo: explicação sobre o funcionamento, referências, trechos de programas (com explicações), screenshots de execução, link para o código dos programas e alguma informação extra à sua escolha (dificuldade encontrada, curiosidade observada, resultado de medições, etc.).

Funções

A tabela abaixo tem as funções distribuídas em aula. Alunos que não estavam na aula devem enviar e-mail à professora para saber qual função estudar.

Função Aluno
MPI_Bcast Kevin
MPI_Barrier Marcelo
MPI_Scatter Luisa
MPI_Gather Vinicius
MPI_Allgather Otavio
MPI_Reduce Vitor
MPI_Allreduce Guilherme
MPI_Reduce_scatter Rafael
MPI_Alltoall Matheus
MPI_Scan ?

Entrega

  • Este trabalho é individual!

  • Compartilhe os slides no Google Drive usando opção avançada 'qualquer um com o link pode comentar'.

  • Preencha o link para os slides nesta tabela.

  • Prepare-se para apresentar seus slides em aula, se for sorteado!

  • Datas:
    • Preenchimento do link na tabela: 22/04, 12h
    • Apresentação: 23/04, 10:30