Computação Paralela - Atividade 11

Esta atividade deve ser colocada no repositório, na pasta atividades/atividade11 sob o nome questao01.c.

Valor: 1,0 Ponto.

Data de Entrega: 31/07/2021.

Questão 01 - 0,5 Pontos

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 questao01.c.

Questão 02 - 0,5 Pontos

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

Em seguida crie um cluster na AWS com 2 máquinas, 4 processadores ou núcleo por máquina, e execute o programa. Adicione na última linha do arquivo o tempo obtido.