Professor: Pedro Carlos Lara (CEFET-RJ)
Horarios: Sexta 04/02 de 08:30h às 12:30h
Objetivo: O desempenho de programas pode ser diretamente afetado pelo desbalanceamento de carga em programas paralelos, cache miss e incapacidade dos compiladores de otimizar alguns loops específicos. Para descobrir quais partes do código devem ser modificadas e melhorar o desempenho, ferramentas de Profiling podem ser usadas. Este minicurso explora algumas técnicas, métodos e ferramentas com o objetivo de melhorar o desempenho de códigos em C/C++ sem necessariamente envolver paralelismo. Para tanto, exploraremos por exemplo, otimização de memória cache. Além disso, serão exibidos métodos para identificar trechos de códigos responsáveis gargalos tempo computacional. O minicurso será dado no formato de hands-on, permitindo que os alunos possam executar os experimentos de forma prática.
Ementa:
- Uso do profile gprof
- Otimização em nível de cache
- Otimização de loops e em low level
- Profiling em OpemMP/MPI