Atividade 9
LUCAS LOPES LISBOA
Atividade 7: Uso do GPROF
O gprof é uma ferramenta de geração de perfil de execução que já vem incorporada ao
GNU. Para a realização da tarefa, foi feito o download de um arquivo .rar contendo um algoritmo em C que realizava operação de matrizes.
Este algoritmo é executado por meio do prompt de comando (CMD), onde inicialmente este é compilado. Logo após, são pedidos 4 parâmetros. O 1º indica o número de linhas da primeira matriz, o 2º indica o número de colunas da primeira e o de linhas da segunda matriz. Já o 3º indica o número de colunas da segunda matriz e o último aponta se o preenchimento será automático (1) ou manual (0).
Em seguida, o algoritmo é compilado usando o gprof, com a utilização do comando “ gcc
-o opseq op_matriz_sequencial.c -pg”. Após a compilação e execução do .exe gerado, é possível obter o perfil de execução gerado, conforme é mostrado na figura abaixo.
Com base nesses dados, é possível então analisar os dados e após aumentar os parâmetros das matrizes, obter resultados mais precisos sobre a execução do algoritmo de cálculo de matrizes, conforme pode ser visto na figura abaixo.
Após todo esse processo, junto a análise do algoritmo fornecido, dá para deduzir que as principais partes do programa poderiam ser paralelizadas (constrói, multiplica e soma), já que as variáveis usadas nas funções que implementam a construção, multiplicação e soma das matrizes são independentes, ou seja, a saída de uma variável não intefere nos processos de outra.
Dessa forma, dá para se dizer que o programa todo poderia ser implementado de forma paralela, porém, seguindo a ordem constrói-multiplica-soma, com a paralelização sendo feita em cada parte separadamente.