AnglaisFrançaisEspagnol

Exécutez les serveurs | Ubuntu > | Fedora > |


Icône de favori OnWorks

likwid-perfctr - En ligne dans le Cloud

Exécutez likwid-perfctr dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande likwid-perfctr qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

PRÉNOM


likwid-perfctr - configure et lit les compteurs de performances matérielles sur les processeurs x86

SYNOPSIS


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

DESCRIPTION


likwid-perfctr est une application de ligne de commande légère pour configurer et lire
données de surveillance des performances matérielles sur les processeurs x86 pris en charge. Il peut mesurer soit comme
wrapper sans changer l'application mesurée ou avec des fonctions API de marqueur à l'intérieur du
code, qui allumera et éteindra les compteurs. Il existe des groupes préconfigurés avec des
ensembles d'événements et métriques dérivées. De plus, des événements arbitraires peuvent être mesurés avec des
ensembles d'événements. L'API du marqueur peut mesurer plusieurs régions nommées. Les résultats sont accumulés sur
plusieurs appels. Les processeurs x86 suivants sont pris en charge :

· Intel Core 2: toutes les variantes. Compteurs : CMP[0-1], FIXC[0-2]

· Intel Nehalem : Compteurs: CMP[0-3], FIXC[0-2], UPMC[0-7]

· Intel Nehalem EX: Compteurs: CMP[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 :
Compteurs: CMP[0-3], FIXC[0-2], UPMC[0-7]

· Intel Westmere EX: Compteurs: CMP[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 sablonneux Pont: prise en charge complète de RAPL. Compteurs : CMP[0-3], FIXC[0-2], REP[0-3]

· Intel sablonneux Pont EP: prise en charge partielle de la prise en charge complète de RAPL uncore. Compteurs :
CMP[0-3], FIXC[0-2], PWR[0-3]. MBOX[0-3]C[0-3]

· Intel Rasoir Lierre Pont: prise en charge complète de RAPL. Compteurs : CMP[0-3], FIXC[0-2], REP[0-3]

· Intel Rasoir Lierre Pont EP: prise en charge partielle de la prise en charge complète de RAPL uncore. Compteurs :
CMP[0-3], FIXC[0-2], REP[0-3], CBOX[0-9]C[0-3], MBOX[0-3]C[0-3], MBOX[0-3]FIX

· Intel Haswell : prise en charge complète de RAPL. Compteurs : CMP[0-3], FIXC[0-2], REP[0-3]

· Intel Haswell EP: pas de support uncore, support RAPL complet. Compteurs : CMP[0-3],
FIXC[0-2], REP[0-3]

· Intel Atome Mont-Argent : prise en charge complète de RAPL. Compteurs : CMP[0-1], FIXC[0-2], REP[0-1]

· Intel Pentium M: Variantes Banias et Dothan. Compteurs : CMP[0-1]

· Intel P6: Testé sur P3.

· AMD K8: toutes les variantes. Compteurs : CMP[0-3]

· AMD K10: Processeurs basés à Barcelone, Shanghai, Istanbul, MagnyCours. Compteurs :
CMP[0-3]

OPTIONS


-v imprime les informations de version sur la sortie standard, puis se ferme.

-h imprime un message d'aide sur la sortie standard, puis se ferme.

-H imprime le message d'aide du groupe (à utiliser avec le commutateur -g).

-V sortie détaillée pendant l'exécution pour le débogage.

-m exécuter en mode API de marqueur

-a imprimer les groupes de performances disponibles pour le processeur actuel.

-e imprimer les compteurs disponibles et les événements de performance du processeur actuel.

-o
stocker toutes les sorties dans un fichier au lieu de stdout. Pour le nom de fichier ce qui suit
les espaces réservés sont pris en charge : %j pour PBS_JOBID, %r pour MPI RANK (uniquement Intel MPI à
le moment), %h hostname et %p pour le processus pid. Les espaces réservés doivent être
séparés par un trait de soulignement comme, par exemple, -o test_%h_%p. Vous devez spécifier un suffixe au
nom de fichier. Pour txt, la sortie est imprimée telle quelle dans le fichier. D'autres suffixes déclenchent un
filtre en sortie. Les filtres disponibles sont csv (valeurs séparées par des virgules) et xml
en ce moment.

-O N'imprimez pas les tableaux pour les résultats, utilisez plutôt un fichier CSV facilement analysable.

-i imprimer des informations cpuid sur le processeur et sur Intel Performance Monitoring
fonctionnalités, puis quittez.

-c
spécifier une liste numérique de processeurs. La liste peut contenir plusieurs éléments,
séparés par des virgules et des plages. Par exemple 0,3,9-11.

-C
spécifier une liste numérique de processeurs. La liste peut contenir plusieurs éléments,
séparés par des virgules et des plages. Par exemple 0,3,9-11. Cette variante épinglera également
les fils aux noyaux. Des numérotations logiques peuvent également être utilisées.

-g <performance groupe> or <performance un événement set chaîne>
spécifier quel groupe de performance mesurer. Cela peut être l'une des balises de sortie avec
le drapeau -a. Un ensemble d'événements personnalisé peut également être spécifié par une liste séparée par des virgules de
événements. Chaque événement a le format eventId:register avec le registre étant un
d'une architecture prenant en charge les registres de compteurs de performances.

-t <frequency of mesures>
mode chronologie pour les mesures résolues dans le temps, suffixes possibles « s » et « ms » comme
100ms. La sortie a le format :

<Result fil0> <Result fil1> ...

-S
mode stéthoscope avec durée en secondes. Peut être utilisé pour mesurer une application
de l'exterieur.

EXEMPLE


Parce que likwid-perfctr mesures sur les processeurs et non sur les applications individuelles, il est nécessaire
pour s'assurer que les processus et les threads sont épinglés à des ressources dédiées. Vous pouvez soit épingler
l'application vous-même ou utilisez la fonctionnalité de broche intégrée.

1. En tant qu'enveloppe avec groupe de performances :

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

Le processus parent est épinglé sur le processeur 0, le thread 0 sur le processeur 1 et le thread 1 sur
processeur 2.

2. En tant que wrapper avec un événement personnalisé défini sur AMD :

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

Il est précisé que l'événement INSTRUCTIONS_RETIRED_SSE est mesuré sur le compteur PMC0 et
l'événement CPU_CLOCKS_UNHALTED au comptoir PMC3. Il est possible de calculer le temps d'exécution de
tous les fils basés sur le CPU_CLOCKS_UNHALTED un événement. Si vous voulez cela, vous devez inclure
cet événement dans votre chaîne d'événement personnalisée, comme indiqué ci-dessus.

3. En tant que wrapper avec un événement personnalisé défini sur Intel :

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

Sur les processeurs Intel, les événements fixes sont mesurés sur des compteurs dédiés. Ceux-ci sont
INSTR_RETIRED_ANY , CPU_CLK_UNHALTED_CORE. et CPU_CLK_UNHALTED_REF Si vous configurez
ces compteurs fixes, likwid-perfctr calculera le temps d'exécution et les métriques CPI pour votre
fonctionner.

4. Utilisation de l'API Marker pour mesurer uniquement des parties de votre code (cela peut être utilisé à la fois avec
groupes ou ensembles d'événements personnalisés) :

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

Vous devez lier votre code à liblikwid.a/.so et utiliser les appels API du marqueur. Les
l'extrait de code suivant montre les appels nécessaires :

#comprendre

/* un seul thread appelle init */
si (threadId == 0)
{
likwid_markerInit();
}
/* si vous voulez mesurer une application threadée
* vous devez appeler likwid_markerThreadInit() pour
* préparation, exemple avec OpenMP */
#pragma omp parallèle
{
likwid_markerThreadInit();
}
BARRIÈRE;
likwid_markerStartRegion("Benchmark");
/* votre code à mesurer est ici.*/

likwid_markerStopRegion("Référence");
BARRIÈRE;
/* encore une fois un seul thread peut fermer les marqueurs */
si (threadId == 0)
{
likwid_markerFerme();
}

5. Utilisation de likwid en mode chronologie :

likwid-perfctr -c 0-3 -g FLOPS_DP -t 300ms ./monApp > sortie.txt

Cela lira les compteurs toutes les 300 ms sur les cœurs physiques 0-3 et écrira les résultats dans
out.txt. Pour le mode chronologie, il existe une application frontale likwid-scope, qui permet
traçage en direct d'événements sélectionnés. Pour plus d'exemples de code, consultez le likwid WIKI
pages. Les processus sont ne pas épinglé aux CPU 0-3.

6. Utilisation de likwid en mode stéthoscope :

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

Cela démarrera les compteurs et les lira après 2 s sur les cœurs physiques 0-3 et écrira
les résultats sur stdout. Les processus sont ne pas épinglé aux CPU 0-3.

Utilisez likwid-perfctr en ligne en utilisant les services onworks.net


Ad


Ad