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:
A atividade é individual.
Faça uma versão em MPI da multiplicação de matrizes chamada atv15_questao01.c. Você deve partir da versão com a matriz linear na memória, atendendo aos seguintes requisitos:
Considere N = 100. Com p = 4 processos, o processo 0 ficaria com as linhas 0 a 24 de A, o processo 1 com as linhas 25 a 49, o processo 2 com as linhas 50 a 74, e o processo 3 com as linhas 75 a 99. Cada um calcularia suas partições de C e o processo 0 consolidaria o resultado final.
Execute o programa anterior com N = 2048 e com 2, 4, 8 e 16 processos utilizando a máquina paralela. Instrumente o código com o uso da rotina MPI_Wtime() e anote o tempo de execução para cada número de processos. Em seguida, paralelize o laço com OpenMP com a solução que deu melhor tempo de execução na Atividade 14 e execute com 4 processos MPI, sendo que cada processo deve usar 4 threads. O número de processos MPI você defina na invocação do programa e o número de threads OpenMP você pode fixar no código ou exportar a variável de ambiente.
Anote o resultado dos tempos de execução em um arquivo de texto atv5_resultados.txt mostrando o tempo de execução para cada uma das cinco configurações pedidas acima.