Arquivo para cache

Análise de algoritmos cache conscientes

Posted in Scripts with tags , , , , on 28/11/2010 by felipessilveira

Há um tempo apresentei um seminário sobre algoritmos cache-conscientes, o meu objetivo era comparar algoritmos tradicionais e suas versões cache-conscientes.

A primeira coisa que decidi pra comparar os algoritmos foi os dados sobre misses em cache (dã), e me indicaram o valgrind. Com ele eu pude verificar os resultados dos algoritmos.

Mas a idéia do seminário era mostrar que existiam algoritmos assintoticamente melhores, logo seria necessário rodar várias vezes os algoritmos. E o pior ainda seria necessário comparar mais de um campo da saída do valgrind. Qual foi a solução pra essa tarefa chata, repetitiva e fácil? Um script! =D

O que eu fiz foi o seguinte:
Um script pra compilar e rodar os algoritmos com o tamanho especificado e salvar os dados em um arquivo. (Em shell)
Um script pra parsear o arquivo e transformar isso em dados trabalhavéis e gerar tabelas. (Em Python)
Plotar as tabelas geradas com o script python pra gerar gráficos (porque nenhum trabalho é válido se não tiver gráficos =]).

Todos os scripts e o código dos algoritmos vocês podem encontrar no meu svn.

PS: Se alguém quiser executar os testes, gostaria de informar que demora. Devido à compilação sem otimizações e com debug, e executar com o valgrind, a multiplicação de uma matriz 1024×1024 levou mais de meia hora =/