InglêsFrancêsEspanhol

Ad


favicon do OnWorks

likwid-perfctr - Online na nuvem

Execute likwid-perfctr no provedor de hospedagem gratuita OnWorks no Ubuntu Online, Fedora Online, emulador online do Windows ou emulador online do MAC OS

Este é o comando likwid-perfctr que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador online Windows ou emulador online MAC OS

PROGRAMA:

NOME


likwid-perfctr - configura e lê contadores de desempenho de hardware em cpus x86

SINOPSE


likwid-perfctr [-vhHVmaeiMoO] [-c / -C ] [-g or
] [-t ] [-S ] [-s ] [-o
]

DESCRIÇÃO


likwid-perfctr é um aplicativo de linha de comando leve para configurar e ler
dados de monitoramento de desempenho de hardware em processadores x86 com suporte. Ele pode medir tanto como
wrapper sem alterar o aplicativo medido ou com funções de API de marcador dentro do
código, que liga e desliga os contadores. Existem grupos pré-configurados com úteis
conjuntos de eventos e métricas derivadas. Eventos arbitrários adicionais podem ser medidos com
conjuntos de eventos. O marcador API pode medir várias regiões nomeadas. Os resultados são acumulados em
várias chamadas. Os seguintes processadores x86 são suportados:

· Intel núcleo 2: todas as variantes. Contadores: PMC [0-1], FIXC [0-2]

· Intel Nehalém: Contadores: PMC [0-3], FIXC [0-2], UPMC [0-7]

· Intel Nehalem EX: Contadores: PMC [0-3], FIXC [0-2], MBOX [0-1] C [0-5], BBOX [0-1] C [0-3],
RBOX [0-1] C [0-7], WBOX [0-5], UBOX0, SBOX [0-1] C [0-3], CBOX [0-9] C [0-4]

· Intel Westmere:
Contadores: PMC [0-3], FIXC [0-2], UPMC [0-7]

· Intel Westmere EX: Contadores: PMC [0-3], FIXC [0-2], MBOX [0-1] C [0-5], BBOX [0-1] C [0-3],
RBOX [0-1] C [0-7], WBOX [0-5], UBOX0, SBOX [0-1] C [0-3], CBOX [0-9] C [0-4]

· Intel arenoso Ponte: suporte RAPL completo. Contadores: PMC [0-3], FIXC [0-2], PWR [0-3]

· Intel arenoso ponte EP: suporte parcial para uncore, suporte RAPL completo. Contadores:
PMC [0-3], FIXC [0-2], PWR [0-3]. MBOX [0-3] C [0-3]

· Intel hera Ponte: suporte RAPL completo. Contadores: PMC [0-3], FIXC [0-2], PWR [0-3]

· Intel hera ponte EP: suporte parcial para uncore, suporte RAPL completo. Contadores:
PMC [0-3], FIXC [0-2], PWR [0-3], CBOX [0-9] C [0-3], MBOX [0-3] C [0-3], MBOX [0-3] FIX

· Intel Haswell: suporte RAPL completo. Contadores: PMC [0-3], FIXC [0-2], PWR [0-3]

· Intel Haswell EP: sem suporte uncore, suporte RAPL completo. Contadores: PMC [0-3],
FIXC [0-2], PWR [0-3]

· Intel Atom Silvermont: suporte RAPL completo. Contadores: PMC [0-1], FIXC [0-2], PWR [0-1]

· Intel Pentium M: Variantes de Banias e Dothan. Contadores: PMC [0-1]

· Intel P6: Testado em P3.

· AMD K8: todas as variantes. Contadores: PMC [0-3]

· AMD K10: Processadores baseados em Barcelona, ​​Xangai, Istambul e MagnyCours. Contadores:
PMC [0-3]

OPÇÕES


-v imprime informações de versão na saída padrão e sai.

-h imprime uma mensagem de ajuda na saída padrão e sai.

-H imprime a mensagem de ajuda do grupo (use junto com a opção -g).

-V saída detalhada durante a execução para depuração.

-m executar no modo API do marcador

-a imprimir grupos de desempenho disponíveis para o processador atual.

-e imprimir contadores disponíveis e eventos de desempenho do processador atual.

-o
armazene todas as saídas em um arquivo em vez de stdout. Para o nome do arquivo o seguinte
marcadores de posição são suportados:% j para PBS_JOBID,% r para MPI RANK (apenas Intel MPI em
momento),% h hostname e% p para processo pid. Os marcadores de posição devem ser
separados por sublinhado como, por exemplo, -o test_% h_% p. Você deve especificar um sufixo para o
nome do arquivo. Para txt, a saída é impressa como está no arquivo. Outros sufixos acionam um
filtro na saída. Os filtros disponíveis são csv (valores separados por vírgula) e xml
no momento.

-O Não imprima tabelas para resultados; em vez disso, use CSV facilmente analisável.

-i imprimir informações cpuid sobre o processador e no Intel Performance Monitoring
recursos e, em seguida, saia.

-c
especifique uma lista numérica de processadores. A lista pode conter vários itens,
separados por vírgula e intervalos. Por exemplo 0,3,9-11.

-C
especifique uma lista numérica de processadores. A lista pode conter vários itens,
separados por vírgula e intervalos. Por exemplo 0,3,9-11. Esta variante também fixará
os fios para os núcleos. Também podem ser usadas numerações lógicas.

-g <performance grupo> or <performance evento conjunto string>
especificar qual grupo de desempenho medir. Esta pode ser uma das tags de saída com
a bandeira -a. Além disso, um conjunto de eventos personalizados pode ser especificado por uma lista separada por vírgulas de
eventos. Cada evento tem o formato eventId: registro com o registro sendo um
de registradores de contadores de desempenho com suporte de arquitetura.

-t <frequency of medições>
modo de linha do tempo para medições de tempo resolvido, possíveis sufixos 's' e 'ms' como
100ms. A saída tem o formato:

<Result thread0> <Result thread1> ...

-S
modo estetoscópio com duração em senconds. Pode ser usado para medir um aplicativo
de fora.

EXEMPLO


Porque likwid-perfctr medidas em processadores e não em aplicações individuais, é necessário
para garantir que os processos e threads sejam fixados em recursos dedicados. Você pode fixar
o aplicativo por conta própria ou use a funcionalidade de pino embutida.

1. Como empacotador com grupo de desempenho:

likwid-perfctr -C 0-2 -g TLB ./cacheBench -n 2 -l 1048576 -i 100 -t Corrente

O processo pai é fixado ao processador 0, Thread 0 ao processador 1 e Thread 1 ao
processador 2.

2. Como wrapper com evento personalizado definido no AMD:

likwid-perfctr -C 0-4 -g INSTRUCTIONS_RETIRED_SSE: PMC0, CPU_CLOCKS_UNHALTED: PMC3 ./meuAplicativo

É especificado que o evento INSTRUCTIONS_RETIRED_SSE é medido no contador PMC0 e
o evento CPU_CLOCKS_UNHALTED no balcão PMC3. É possível calcular o tempo de execução de
todos os tópicos com base no CPU_CLOCKS_UNHALTED evento. Se você quiser isso, você deve incluir
este evento em sua string de evento customizada, conforme mostrado acima.

3. Como wrapper com evento personalizado definido na Intel:

likwid-perfctr -C 0 -g INSTR_RETIRED_ANY: FIXC0, CPU_CLK_UNHALTED_CORE: FIXC1 ./meuAplicativo

Nos processadores Intel, os eventos fixos são medidos em contadores dedicados. Estes são
INSTR_RETIRED_ANY , CPU_CLK_UNHALTED_CORE. e CPU_CLK_UNHALTED_REF Se você configurar
esses contadores fixos, likwid-perfctr irá calcular o tempo de execução e as métricas de CPI para o seu
executar.

4. Usando a API do marcador para medir apenas partes do seu código (isso pode ser usado com
grupos ou conjuntos de eventos personalizados):

likwid-perfctr -m -C 0-4 -g INSTRUCTIONS_RETIRED_SSE: PMC0, CPU_CLOCKS_UNHALTED: PMC3
./cacheBench

Você deve vincular seu código a liblikwid.a / .so e usar as chamadas de API do marcador. o
o seguinte snippet de código mostra as chamadas necessárias:

#incluir

/ * apenas um encadeamento chama init * /
se (threadId == 0)
{
likwid_markerInit ();
}
/ * se você deseja medir um aplicativo encadeado
* você tem que chamar likwid_markerThreadInit () para
* preparação, exemplo com OpenMP * /
#pragma omp paralelo
{
likwid_markerThreadInit ();
}
BARREIRA;
likwid_markerStartRegion ("Benchmark");
/ * seu código a ser medido está aqui. * /

likwid_markerStopRegion ("Benchmark");
BARREIRA;
/ * novamente, apenas um thread pode fechar os marcadores * /
se (threadId == 0)
{
likwid_markerClose ();
}

5. Usando o likwid no modo de linha do tempo:

likwid-perfctr -c 0-3 -g FLOPS_DP -t 300ms ./meuAplicativo > saída.txt

Isso irá ler os contadores a cada 300 ms nos núcleos físicos 0-3 e gravar os resultados para
out.txt. Para o modo de linha do tempo, há um aplicativo de front-end likwid-scope, que permite
plotagem ao vivo de eventos selecionados. Para mais exemplos de código, dê uma olhada em likwid WIKI
Páginas. Os processos são não fixado às CPUs 0-3.

6. Usando o likwid no modo estetoscópio:

likwid-perfctr -c 0-3 -g FLOPS_DP -S 2s

Isso iniciará os contadores e os lerá após 2s nos núcleos físicos 0-3 e gravará
os resultados para stdout. Os processos são não fixado às CPUs 0-3.

Use likwid-perfctr online usando serviços onworks.net


Servidores e estações de trabalho gratuitos

Baixar aplicativos Windows e Linux

Comandos Linux

Ad