Solicitação de referência para criação de perfil de códigos de computação de alto desempenho

8

Escrevo códigos em Fortran e C para vários algoritmos matriciais. No entanto, quando eu perfil meus códigos usando o VTune, geralmente encontro alguma terminologia que não consigo apreciar completamente. Existe um bom recurso para aprender a criar perfis do zero para um nível bastante avançado?

Embora eu esteja ansioso para criar códigos numéricos, não acho (posso estar errado) que o perfil de outros códigos seja diferente. Quero um tutorial sobre criação de perfis e preferiria um PDF on-line (gratuito), mas não me importaria de livros ou manuais.

Tentei ler o manual do VTune, mas é como tentar aprender chinês lendo um livro em chinês.

Além disso, o VTune é o melhor caminho a percorrer? Eu realmente gosto de uma GUI e, como uso o Intel MKL, achei que seria melhor que o Valgrind.

Inquérito
fonte

Respostas:

6

Outra opção comum é usar o PAPI http://icl.cs.utk.edu/papi/ ou TAU http://www.cs.uoregon.edu/Research/tau/home.php , o Valgrind é ótimo para encontrar erros de memória .

Alguns slides do TACC:

http://www.tacc.utexas.edu/user-services/training/course-materials

http://www.tacc.utexas.edu/c/document_library/get_file?uuid=fc609b77-b727-4bff-81a4-d30caa4013d4&groupId=13601

aterrel
fonte
Obrigado pelos ótimos links. Você também pode sugerir um bom tutorial na forma de PDF, livro ou outro modo para aprender sobre criação de perfil?
Inquérito
Não tenho livros, mas vou perguntar.
aterrel
Ok, depois de perguntar a algumas pessoas, basicamente, depois de superar as coisas fáceis que você precisa saber muito sobre arquitetura de computadores. Recentemente, descobrimos coisas tolas, como a rapidez com que é carregada uma palavra em um chip Intel (contornar a pré-busca de hardware não é tão fácil quanto parece).
aterrel
1

A ferramenta que usei extensivamente para criação de perfil é o valgrind (em combinação com a interface gráfica kcachegrind ). O Valgrind é um conjunto de ferramentas de análise dinâmica: detecção de erros de memória, detecção de erros de threading e criação de perfil.

Algumas referências sobre Valgrind:

Infelizmente (depende de onde você vem :-)), o valgrind não roda no Windows, apenas em máquinas baseadas em Linux e Darwin.

GertVdE
fonte