Computação Paralela - Atividade 11

Leia com atenção as instruções abaixo.

Valor: 2,0 pontos na 3ª Nota.

Data da Entrega Limite: 16/07/2022

Formato de Entrega:

  1. Um .pdf como as respostas das questões subjetivas.
  2. Os arquivos de código fonte requisitados.
A entrega deve ser feita via chat privado no Slack.

A atividade é individual.

Questão 01 - 1,0 Ponto

Escreva um programa para calcular o produto escalar de dois vetores. Utilize rotinas MPI_Send e MPI_Recv para comunicação entre os processos. Considere cada vetor com N posições, informado como argumento na linha de comando, e divida a operação entre P processos distintos. Considere que a dividação de N por P não tem resto. Atribua os valores iniciais aos vetores localmente e assuma que todos os processos conhecem o tamanho N total do vetor. Salve o resultado no arquivo atv11_questao01.c ou atv11_questao01.cpp.

Questão 02 - 1,0 Ponto

Execute o programa do exercício anterior com N = 1.000.000 e com 1, 2, 4 e 8 processos, na máquina paralela. Instrumente o código com uso da rotina MPI_Wtime(). Faça um novo arquivo atv11_questao02.txt com uma tabela mostrando o tempo de execução para cada número de processos.