Usando a ferramenta pin da intel no Ubuntu?

4

Gostaria de usar a ferramenta pin da Intel no Ubuntu 12.04 e ter problemas para instalá-lo. Eu baixei o pin para Linux 64bit aqui link , extraí o pacote e compilei os exemplos em source / tools / .. Como eu corro pin agora? Tentei:

pin
pin.sh
./pin

etc, nenhum parecia funcionar :( Preciso instalar alguma biblioteca extra ou ...? Obrigado!

    
por FSchmidt 19.10.2012 / 03:11

3 respostas

4

Basicamente, as ferramentas pin são projetadas como compiladores "Just In Time (JIT)", portanto, os dois componentes por trás da arquitetura são o Código de Instrumentação e Análise. Como você deve saber, as ferramentas PIN têm a capacidade de instrumentar a arquitetura de forma independente. Portanto, como a instrumentação ocorre imediatamente antes da execução da sequência de código na primeira vez, você deve tratar o programa diretamente com o benchmark de destino.

Aqui estão algumas dicas:

Primeiro, vá para o diretório pai da ferramenta Pin, o uso geral do pin é definido como:

pin [OPTION] [-t <tool> [<toolargs>]] -- <command line>

Em segundo lugar, exporte o caminho do pin para o env para poder usá-lo em qualquer outro lugar (no meu caso):

export PATH=$PATH:/home/amir/pin-2.12-58423-gcc.4.4.7-linux/

Agora você pode usá-lo em qualquer lugar para fixar o instrumento (contagens de compilação, takens de ramificação, etc).

i.e. : Existem algumas fontes de exemplo para começar a trabalhar em

$ cd source/tools/ManualExamples

como inscount, linux_buffer, etc. use o comando make para g ++ compilar os códigos-fonte:

make inscount0.test

e depois:

$ pin -t inscount0.so -- /bin/ls

para obter a saída do / bin / ls.

Espero que isso ajude você.

    
por Amir 04.06.2013 / 18:49
2

O PIN da Intel é uma estrutura de instrumentação binária e pode ser usada para instrumentar programas binários em tempo real. Para especificar quais instruções devem ser instrumentadas exatamente e com as quais você especifica um pintool para pin. Não há mais nenhuma 'instalação'.

Aqui, um exemplo do arquivo README sobre como usar o pin:

pin -t obj-intel64 / opcodemix.so - / bin / ls

Isso instrumentará e executará / bin / ls, a saída dessa ferramenta está em opcodemix.out.

    
por Pavla 30.05.2013 / 10:35
0

A arquitetura do host é de 64 bits (amd64)? Nesse caso, você precisará adicionar suporte de 32 bits (i386), pois o pin é um programa de 32 bits.

$ file pin
pin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.2.5, stripped

Primeiro, adicione o suporte de arquitetura ao dpkg.

$ sudo dpkg --add-architecture i386
$ sudo aptitude update   # or apt-get if you use that

Em seguida, instale as versões i386 das bibliotecas necessárias. Você provavelmente precisará:

  • libc6:i386
  • libstdc++6:i386
  • libgcc1:i386
  • libelf1:i386
  • %código%.

Verifique o Pin User Guide no site da Intel, especificamente a seção Bibliotecas para Linux. Alternativamente, você poderia rodar uma VM i386 Ubuntu e usá-la sem precisar poluir o espaço da sua biblioteca x64.

    
por mikejones 07.09.2015 / 00:37