MC-SD02-IV
Profiling e otimização em códigos C/C++

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:
  1. Uso do profile gprof
  2. Otimização em nível de cache
  3. Otimização de loops e em low level
  4. Profiling em OpemMP/MPI