Análise de algoritmos cache conscientes

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 =/

Anúncios

Uma resposta to “Análise de algoritmos cache conscientes”

  1. Vitor R. Says:

    #euli xP

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: