IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

likwid-perfctr - Online nel cloud

Esegui likwid-perfctr nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando likwid-perfctr che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


likwid-perfctr - configura e legge i contatori delle prestazioni hardware su cpus x86

SINOSSI


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

DESCRIZIONE


likwid-perfctr è un'applicazione a riga di comando leggera da configurare e leggere
dati di monitoraggio delle prestazioni hardware sui processori x86 supportati. Può misurare sia come
wrapper senza modificare l'applicazione misurata o con funzioni API marker all'interno del
codice, che accenderà e spegnerà i contatori. Ci sono gruppi preconfigurati con utili
set di eventi e metriche derivate. Eventi aggiuntivi arbitrari possono essere misurati con custom
set di eventi. L'API marker può misurare più regioni con nome. I risultati si accumulano su
più chiamate. Sono supportati i seguenti processori x86:

· Intel Nucleo 2: tutte le varianti. Contatori: PMC[0-1], RISOLTO[0-2]

· Intel Nealem: Contatori: PMC[0-3], FISSC[0-2], UPMC[0-7]

· Intel Nehalem EX: Contatori: PMC[0-3], FISSC[0-2], MBOX[0-1]C[0-5], BBOX[0-1]C[0-3],
RBOX[0-1]C[0-7], SCATOLA[0-5], UBOX0, SCATOLA[0-1]C[0-3], CBOX[0-9]C[0-4]

· Intel Ovest:
Contatori: PMC[0-3], FISSC[0-2], UPMC[0-7]

· Intel Westmere EX: Contatori: PMC[0-3], FISSC[0-2], MBOX[0-1]C[0-5], BBOX[0-1]C[0-3],
RBOX[0-1]C[0-7], SCATOLA[0-5], UBOX0, SCATOLA[0-1]C[0-3], CBOX[0-9]C[0-4]

· Intel sabbioso Ponte: pieno supporto RAPL. Contatori: PMC[0-3], FISSC[0-2], PWR[0-3]

· Intel sabbioso Ponte EP: supporto parziale per uncore, supporto RAPL completo. Contatori:
PMC[0-3], FISSC[0-2], PWR[0-3]. MBOX[0-3]C[0-3]

· Intel Edera Ponte: pieno supporto RAPL. Contatori: PMC[0-3], FISSC[0-2], PWR[0-3]

· Intel Edera Ponte EP: supporto parziale per uncore, supporto RAPL completo. Contatori:
PMC[0-3], FISSC[0-2], PWR[0-3], CBOX[0-9]C[0-3], MBOX[0-3]C[0-3], MBOX[0-3]FIX

· Intel Haswell: pieno supporto RAPL. Contatori: PMC[0-3], FISSC[0-2], PWR[0-3]

· Intel Haswell EP: nessun supporto uncore, pieno supporto RAPL. Contatori: PMC[0-3],
FISSC[0-2], PWR[0-3]

· Intel Atom Silvermont: pieno supporto RAPL. Contatori: PMC[0-1], FISSC[0-2], PWR[0-1]

· Intel Pentium M: Varianti Banias e Dothan. Contatori: PCM[0-1]

· Intel P6: Testato su P3.

· AMD K8: tutte le varianti. Contatori: PCM[0-3]

· AMD K10: Processori basati su Barcellona, ​​Shanghai, Istanbul, MagnyCours. Contatori:
PCM[0-3]

VERSIONI


-v stampa le informazioni sulla versione sullo standard output, quindi esce.

-h stampa un messaggio di aiuto sullo standard output, quindi esce.

-H stampa il messaggio di aiuto del gruppo (usare insieme all'opzione -g).

-V output dettagliato durante l'esecuzione per il debug.

-m eseguire in modalità API marker

-a stampa i gruppi di prestazioni disponibili per il processore corrente.

-e stampare i contatori disponibili e gli eventi delle prestazioni del processore corrente.

-o
memorizza tutto l'output in un file anziché in stdout. Per il nome del file il seguente
i segnaposto sono supportati: %j per PBS_JOBID, %r per MPI RANK (solo Intel MPI su
momento), %h hostname e %p per il processo pid. I segnaposto devono essere
separati da un carattere di sottolineatura come, ad esempio, -o test_%h_%p. Devi specificare un suffisso per
nome del file. Per txt l'output viene stampato così com'è sul file. Altri suffissi attivano a
filtro in uscita. I filtri disponibili sono csv (valori separati da virgola) e xml
in questo momento.

-O Non stampare tabelle per i risultati, usa invece un CSV facilmente analizzabile.

-i stampa informazioni cpuid sul processore e su Intel Performance Monitoring
funzioni, quindi esci.

-c
specificare un elenco numerico di processori. L'elenco può contenere più elementi,
separati da virgola e intervalli. Ad esempio 0,3,9-11.

-C
specificare un elenco numerico di processori. L'elenco può contenere più elementi,
separati da virgola e intervalli. Ad esempio 0,3,9-11. Questa variante sarà anche pin
i fili ai nuclei. Possono essere utilizzate anche numerazioni logiche.

-g <performance gruppo> or <performance evento set stringa>
specificare quale gruppo di prestazioni misurare. Questo può essere uno dei tag in uscita con
la bandiera -a. Anche un set di eventi personalizzato può essere specificato da un elenco separato da virgole di
eventi. Ogni evento ha il formato eventId:register con il registro che è uno
di un'architettura supportata dai registri dei contatori delle prestazioni.

-t <frequency of misure>
modalità timeline per misurazioni risolte nel tempo, possibili suffissi 's' e 'ms' come
100 ms. L'output ha il formato:

<Result filo0> <Result filo1> ...

-S
modalità stetoscopio con durata in secondi. Può essere utilizzato per misurare un'applicazione
da fuori.

ESEMPIO


Perché likwid-perfctr misure sui processori e non sulle singole applicazioni è necessario
per garantire che processi e thread siano associati a risorse dedicate. Puoi appuntare
l'applicazione da soli o utilizzare la funzionalità pin incorporata.

1. Come wrapper con gruppo di prestazioni:

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

Il processo padre è bloccato al processore 0, il thread 0 al processore 1 e il thread 1 a
processore 2.

2. Come wrapper con set di eventi personalizzati su AMD:

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

Si precisa che l'evento INSTRUCTIONS_RETIRED_SSE si misura sul contatore PMC0 ed
l'evento CPU_CLOCKS_UNHALTED sul bancone PMC3. È possibile calcolare il runtime di
tutti i thread basati sul CPU_CLOCKS_UNHALTED evento. Se vuoi questo devi includere
questo evento nella stringa dell'evento personalizzato come mostrato sopra.

3. Come wrapper con set di eventi personalizzati su Intel:

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

Sui processori Intel gli eventi fissi vengono misurati su contatori dedicati. Questi sono
INSTR_RITIRATO_QUALSIASI , CPU_CLK_UNHALTED_CORE. ed CPU_CLK_UNHALTED_REF Se configuri
questi contatori fissi, likwid-perfctr calcolerà le metriche di runtime e CPI per il tuo
eseguire.

4. Utilizzo dell'API marker per misurare solo parti del codice (può essere utilizzato sia con
gruppi o set di eventi personalizzati):

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

Devi collegare il tuo codice a liblikwid.a/.so e utilizzare le chiamate API marker. Il
il seguente frammento di codice mostra le chiamate necessarie:

#includere

/* solo un thread chiama init */
if (idthread == 0)
{
likwid_markerInit();
}
/* se vuoi misurare un'applicazione con thread
* devi chiamare likwid_markerThreadInit() per
* preparazione, esempio con OpenMP */
#pragma omp parallelo
{
likwid_markerThreadInit();
}
BARRIERA;
likwid_markerStartRegion("Benchmark");
/* il tuo codice da misurare è qui.*/

likwid_markerStopRegion("Benchmark");
BARRIERA;
/* di nuovo solo un thread può chiudere i marker */
if (idthread == 0)
{
likwid_markerChiudi();
}

5. Utilizzo di likwid in modalità timeline:

likwid-perfctr -c 0-3 -g FLOP_DP -t 300ms ./miaApp > out.txt

Questo leggerà i contatori ogni 300 ms sui core fisici 0-3 e scriverà i risultati su
out.txt. Per la modalità timeline c'è un'applicazione frontend likwid-scope, che abilita
live plot di eventi selezionati. Per ulteriori esempi di codice dai un'occhiata al likwid WIKI
pagine. I processi sono non appuntato alle CPU 0-3.

6. Utilizzo di likwid in modalità stetoscopio:

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

Questo avvierà i contatori e li leggerà dopo 2 secondi sui core fisici 0-3 e scriverà
i risultati allo stdout. I processi sono non appuntato alle CPU 0-3.

Usa likwid-perfctr online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

Comandi Linux

Ad