Verifique se você tem GCC instalado. Se não tiver, pode usar algum computador do NCC (mesmo remotamente).
Baixe o arquivo dotprod_seq.zip. Ele contém o código fonte de um programa simples, que calcula o produto escalar de 2 vetores. Este programa permite configurar o tamanho dos vetores e o número de repetições do cálculo, para variar a carga de trabalho.
Compile o programa:
make
Execute o programa com uma configuração "pequena", por exemplo:
./dotprod_seq 3000 10
Execute o programa com uma configuração maior, por exemplo:
./dotprod_seq 30000000 90
Edite o Makefile fornecido e habilite a flag de profiling (-pg).
Recompile o programa e execute-o novamente. Ao final deve ser gerado um arquivo gmon.out.
Use o profiling gprof para analisar o perfil da execução:
gprof dotprod_seq
Faça profiling do programa com diferentes configurações, observando os perfis gerados.
Responda:
(a) O perfil é afetado pelas opções de configuração?
(b) Pelo perfil de execução, há alguma função que poderia ser candidata a paralelização? Por quê?
Parte 2
Escolha um programa que você tenha desenvolvido, ou que seja desenvolvido por outros mas que você conheça o código. Pode ser um programa em qualquer linguagem, de preferência estruturado em vários subprogramas (procedimentos, funções, métodos...), e que possa ter a entrada variada facilmente.
Escolha 2 profilers para a linguagem alvo e procure repetir os passos da Parte 1, adequando-os a possíveis diferenças.
Observe e faça anotações sobre: (a) particularidades de instalação, recursos ou funcionamento dos profilers, (b) resultados obtidos e (c) dúvidas e/ou dificuldades encontradas.
Entrega
Este trabalho pode ser feito individualmente ou em dupla.
Para entregá-lo, crie um documento no Google Docs com:
Identificação completa da disciplina e do aluno (ou da dupla);
Sumário;
Seções separadas para a Parte 1 e a Parte 2;
Anotações, respostas, screenshots e quaisquer outras observações adicionais sobre cada um dos itens das Partes 1 e 2;
Referências.
Compartilhe o documento usando a opção avançada 'qualquer um com o link pode comentar'.
Preencha o link do documento na tabela enviada pela professora por e-mail.