EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

likwid-perfctr - Online in der Cloud

Führen Sie likwid-perfctr im kostenlosen OnWorks-Hosting-Provider über Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator aus

Dies ist der Befehl likwid-perfctr, der im kostenlosen OnWorks-Hosting-Provider mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


likwid-perfctr - Hardware-Leistungsindikatoren auf x86-CPUs konfigurieren und auslesen

ZUSAMMENFASSUNG


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

BESCHREIBUNG


likwid-perfctr ist eine leichte Kommandozeilenanwendung zum Konfigurieren und Auslesen
Daten zur Überwachung der Hardwareleistung auf unterstützten x86-Prozessoren. Es kann entweder als
Wrapper ohne Änderung der gemessenen Anwendung oder mit Marker-API-Funktionen innerhalb der
Code, der die Zähler ein- und ausschaltet. Es gibt vorkonfigurierte Gruppen mit nützlichen
Ereignissets und abgeleitete Metriken. Zusätzlich können beliebige Ereignisse mit custom gemessen werden
Event-Sets. Die Marker-API kann mehrere benannte Regionen messen. Ergebnisse werden kumuliert am
mehrere Anrufe. Die folgenden x86-Prozessoren werden unterstützt:

· Intel Kernbereich 2: alle Varianten. Zähler: PMC[0-1], FIXC[0-2]

· Intel Nehalem: Zähler: PMC[0-3], FIXC[0-2], UPMC[0-7]

· Intel Nehalem EX: Zähler: 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:
Zähler: PMC[0-3], FIXC[0-2], UPMC[0-7]

· Intel Westmähren EX: Zähler: 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 Sand- Brücke: volle RAPL-Unterstützung. Zähler: PMC[0-3], FIXC[0-2], PWR[0-3]

· Intel Sand- Bridge EP: teilweise Unterstützung für Uncore, volle RAPL-Unterstützung. Zähler:
PMC[0-3], FIXC[0-2], PWR[0-3]. MBOX[0-3]C[0-3]

· Intel Ivy Brücke: volle RAPL-Unterstützung. Zähler: PMC[0-3], FIXC[0-2], PWR[0-3]

· Intel Ivy Bridge EP: teilweise Unterstützung für Uncore, volle RAPL-Unterstützung. Zähler:
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: volle RAPL-Unterstützung. Zähler: PMC[0-3], FIXC[0-2], PWR[0-3]

· Intel Haswell EP: keine Uncore-Unterstützung, volle RAPL-Unterstützung. Zähler: PMC[0-3],
FIXC[0-2], PWR[0-3]

· Intel Atom Silbermont: volle RAPL-Unterstützung. Zähler: PMC[0-1], FIXC[0-2], PWR[0-1]

· Intel Pentium M: Banias- und Dothan-Varianten. Zähler: PMC[0-1]

· Intel P6: Getestet auf P3.

· AMD K8: alle Varianten. Zähler: PMC[0-3]

· AMD K10: Barcelona, ​​Shanghai, Istanbul, MagnyCours-basierte Prozessoren. Zähler:
PMC[0-3]

OPTIONAL


-v gibt Versionsinformationen auf der Standardausgabe aus und wird dann beendet.

-h gibt eine Hilfenachricht auf der Standardausgabe aus und wird dann beendet.

-H gibt eine Gruppenhilfenachricht aus (zusammen mit dem Schalter -g verwenden).

-V ausführliche Ausgabe während der Ausführung zum Debuggen.

-m im Marker-API-Modus ausführen

-a Verfügbare Leistungsgruppen für den aktuellen Prozessor drucken.

-e Druckt verfügbare Zähler und Leistungsereignisse des aktuellen Prozessors.

-o
Speichern Sie alle Ausgaben in einer Datei anstelle von stdout. Für den Dateinamen folgendes
Platzhalter werden unterstützt: %j für PBS_JOBID, %r für MPI RANK (nur Intel MPI at
im Moment), %h Hostname und %p für Prozess-PID. Die Platzhalter müssen sein
durch Unterstrich getrennt, zB -o test_%h_%p. Sie müssen ein Suffix an die
Dateiname. Für txt wird die Ausgabe unverändert in die Datei ausgegeben. Andere Suffixe lösen a . aus
am Ausgang filtern. Verfügbare Filter sind csv (kommagetrennte Werte) und xml
im Moment.

-O Drucken Sie keine Tabellen für Ergebnisse, sondern verwenden Sie stattdessen einfach zu analysierende CSV-Dateien.

-i CPU-Informationen über Prozessor und Intel Performance Monitoring drucken
Funktionen, dann beenden.

-c
Geben Sie eine numerische Liste von Prozessoren an. Die Liste kann mehrere Elemente enthalten,
durch Komma getrennt, und Bereiche. Zum Beispiel 0,3,9-11.

-C
Geben Sie eine numerische Liste von Prozessoren an. Die Liste kann mehrere Elemente enthalten,
durch Komma getrennt, und Bereiche. Zum Beispiel 0,3,9-11. Diese Variante wird auch pinnen
die Fäden zu den Kernen. Auch logische Nummerierungen können verwendet werden.

-g <Leistung Gruppe> or <Leistung Event kompensieren Zeichenfolge>
Geben Sie an, welche Leistungsgruppe gemessen werden soll. Dies kann eines der Tags sein, die mit ausgegeben werden
die -a-Flagge. Auch ein benutzerdefinierter Ereignissatz kann durch eine durch Kommas getrennte Liste von angegeben werden
Veranstaltungen. Jedes Ereignis hat das Format eventId:register, wobei das Register eins ist
von einer Architektur unterstützten Leistungszählerregister.

-t <Frequenz of Maße>
Timeline-Modus für zeitaufgelöste Messungen, mögliche Suffixe 's' und 'ms' wie
100ms. Die Ausgabe hat das Format:

<Ergebnis thread0> <Ergebnis thread1> ...

-S
Stethoskop-Modus mit Dauer in Sekunden. Kann verwendet werden, um eine Anwendung zu messen
von außen.

BEISPIEL


Parce que likwid-perfctr Maßnahmen auf Prozessoren und nicht auf Einzelanwendungen erforderlich
um sicherzustellen, dass Prozesse und Threads an dedizierte Ressourcen angeheftet sind. Du kannst entweder pinnen
die Anwendung selbst oder nutzen Sie die eingebaute Pin-Funktionalität.

1. Als Wrapper mit Leistungsgruppe:

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

Der übergeordnete Prozess ist an Prozessor 0 gepinnt, Thread 0 an Prozessor 1 und Thread 1 an
Prozessor 2.

2. Als Wrapper mit benutzerdefiniertem Ereignissatz auf AMD:

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

Es wird angegeben, dass die Veranstaltung INSTRUCTIONS_RETIRED_SSE wird am Zähler gemessen PMC0 und
das Ereignis CPU_CLOCKS_UNHALTED auf der Theke PMC3. Es ist möglich, die Laufzeit von zu berechnen
alle Threads basieren auf dem CPU_CLOCKS_UNHALTED Veranstaltung. Wenn du das willst, musst du einschließen
dieses Ereignis in Ihrer benutzerdefinierten Ereigniszeichenfolge wie oben gezeigt.

3. Als Wrapper mit benutzerdefiniertem Ereignissatz auf Intel:

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

Auf Intel-Prozessoren werden feste Ereignisse an dedizierten Zählern gemessen. Diese sind
INSTR_RETIRED_ANY , CPU_CLK_UNHALTED_CORE. und CPU_CLK_UNHALTED_REF Wenn Sie konfigurieren
diese festen Zähler, likwid-perfctr berechnet die Laufzeit- und CPI-Kennzahlen für Ihre
laufen.

4. Verwenden der Marker-API, um nur Teile Ihres Codes zu messen (dies kann sowohl mit
Gruppen oder benutzerdefinierte Ereignissets):

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

Sie müssen Ihren Code mit liblikwid.a/.so verknüpfen und die Marker-API-Aufrufe verwenden. Die
folgender Codeausschnitt zeigt die notwendigen Aufrufe:

#enthalten

/* nur ein Thread ruft init auf */
if (threadId == 0)
{
likwid_markerInit();
}
/* wenn Sie eine Thread-Anwendung messen möchten
* Sie müssen likwid_markerThreadInit() aufrufen für
* Vorbereitung, Beispiel mit OpenMP */
#pragma omp parallel
{
likwid_markerThreadInit();
}
BARRIERE;
likwid_markerStartRegion("Benchmark");
/* Ihr zu messender Code ist hier.*/

likwid_markerStopRegion("Benchmark");
BARRIERE;
/* wieder kann nur ein Thread die Marker schließen */
if (threadId == 0)
{
likwid_markerClose();
}

5. Verwenden von likwid im Timeline-Modus:

likwid-perfctr -c 0-3 -g FLOPS_DP -t 300ms ./meine App > aus.txt

Dadurch werden die Zähler alle 300 ms auf den physischen Kernen 0-3 ausgelesen und die Ergebnisse in geschrieben
out.txt. Für den Timeline-Modus gibt es eine Frontend-Anwendung likwid-scope, die es ermöglicht
Live-Darstellung ausgewählter Ereignisse. Weitere Codebeispiele finden Sie im likwid WIKI
Seiten. Die Prozesse sind nicht an die CPUs 0-3 gepinnt.

6. Verwendung von likwid im Stethoskop-Modus:

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

Dadurch werden die Zähler gestartet und nach 2s auf den physischen Kernen 0-3 ausgelesen und geschrieben
die Ergebnisse auf stdout. Die Prozesse sind nicht an die CPUs 0-3 gepinnt.

Verwenden Sie likwid-perfctr online mit den onworks.net-Diensten


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad