EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

likwid-bench - Online in der Cloud

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

Dies ist der Befehl likwid-bench, 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-bench - Low-Level-Benchmark-Suite und Microbenchmarking-Framework

ZUSAMMENFASSUNG


likwid-bank [-hap] [-l ] [-i ] [-g ] [-t
] [-w ]

BESCHREIBUNG


likwid-bank ist eine Benchmark-Suite für Low-Level-(Assembly-)Benchmarks zum Messen
Bandbreiten und Befehlsdurchsatz für spezifischen Befehlscode auf x86-Systemen. Die
derzeit enthaltene Benchmark-Codes enthalten gängige Datenzugriffsmuster wie Laden und Speichern
aber auch Berechnungen wie Vektortriade und Summe. likwid-bank beinhaltet Architektur
spezifische Benchmarks für x86, x86_64 und x86 für Intel Xeon Phi Coprozessoren. Die
Leistungswerte können entweder berechnet werden durch likwid-bank oder anhand der Leistung gemessen
Zähler durch Verwendung. likwid-perfctr als Wrapper zu likwid-bank. Dies erfordert zu bauen
likwid-bank. mit Instrumentation, die in config.mk aktiviert werden kann.

OPTIONAL


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

-a Liste verfügbarer Benchmark-Codes für das aktuelle System auf.

-p Liste verfügbarer Thread-Domains auf.

-l
listet Eigenschaften eines Benchmark-Codes auf.

-i
Anzahl der Iterationen, die innerhalb des Benchmark-Codes ausgeführt werden sollen.

-t
Name des auszuführenden Benchmark-Codes (obligatorisch).

-g
Geben Sie die Anzahl der Arbeitsgruppen an, in denen der Benchmark-Code ausgeführt werden soll (obligatorisch).

-w
Geben Sie die Affinitätsdomäne, die Thread-Anzahl und die Datensatzgröße für den aktuellen . an
Benchmarking-Lauf (obligatorisch).

Arbeitsgruppe SYNTAX


: [: [: : ]] [- : ]
mit Größe in KB, MB oder GB. Wo Thread-Domäne ist, wo Threads platziert werden. Größe ist die
Gesamtdatensatzgröße für den Benchmark. num_threads gibt an, wie viele Threads verwendet werden.
Threads werden immer mit einer kompakten Richtlinie in platziert likwid-bank. Dies bedeutet, dass per
Standardmäßig werden alle SMT-Threads verwendet. Optional ähnlich der ausdrucksbasierten Syntax in
likwid-pin eine Chunk-Größe und Schrittlänge können bereitgestellt werden. Optional für jeden Stream bedeutet
Array kann die Platzierung gesteuert werden. Standardmäßig werden alle Arrays im selben platziert
Thread-Domäne, in der die Threads ausgeführt werden. So platzieren Sie die Daten in einer anderen Domäne für
jeder Stream eines Benchmark-Falls (die Gesamtzahl der Streams kann mit dem -l . erfasst werden
Option) kann die Domäne angegeben werden, in der die Daten abgelegt werden sollen. Mehrere Streams sind Kommas
getrennt. Entweder wird die Platzierung bereitgestellt oder alle Streams müssen explizit platziert werden.
Bitte beachten Sie die Wiki-Seiten auf http://code.google.com/p/likwid/wiki/LikwidBench für
weitere Details und Anwendungsbeispiele.

BEISPIEL


1. Führen Sie den Kopierbenchmark mit 1000 Iterationen auf Socket 0 mit einer Gesamtdatensatzgröße von . aus
100kB.

likwid-bank -t Kopieren -i 1000 -g 1 -w S0:100kB

Da nein num_thread im Workload-Ausdruck angegeben ist, erhält jeder Kern von Socket 0 einen
Gewinde. Die Arbeitslast wird auf alle Threads aufgeteilt.

2. Führen Sie den Triaden-Benchmark-Code mit 100 Iterationen mit 2 Threads auf dem Sockel 0 und a aus
Datengröße von 1 GB.

likwid-bank -t Triade -i 100 -g 1 -w S0:1GB:2:1:2

Unter der Annahme, dass Sockel 0 4 SMT-Threads hat, wird jedem physischen Kern von . ein Thread zugewiesen
Steckdose 0.

3. Führen Sie den Update-Benchmark mit 1000 Iterationen auf Socket 0 mit einer Arbeitslast von 100 kB aus und
auf Sockel 1 mit der gleichen Auslastung.

likwid-bank -t Aktualisierung -i 1000 -g 2 -w S0:100kB -w S1:100kB

Für die Ausgabe werden die Ergebnisse beider Arbeitsgruppen zusammengeführt. Daher die Arbeitsbelastung in jedem
Arbeitsgruppenausdruck sollte die gleiche Größe haben.

4. Führen Sie den Kopierbenchmark aus, aber messen Sie den Speicherverkehr mit likwid-perfctr. Die Option
INSTRUMENT_BENCH in config.mk muss zur Kompilierzeit wahr sein, um diese Funktion zu verwenden.

likwid-perfctr -C E:S0:4 -g MEM -m likwid-bank -t Aktualisierung -i 1000 -g 1 -w S0:100kB

likwid-perfctr konfiguriert und startet die Leistungszähler auf Sockel 0 mit 4
Threads vor der Ausführung von likwid-bank. Die Leistungszähler werden richtig gelesen
vor und nach der Ausführung des Benchmarking-Codes, um die Interferenzen der
Messung.

5. Führen Sie den Kopier-Benchmark aus und platzieren Sie die Daten auf einem anderen Sockel

likwid-bank -t Kopieren -i 50 -g 1 -w S0:1GB:10:1:2-0:S1,1:S1

Stream-ID 0 und 1 werden in Thread-Domänen S1 platziert, die Socket 1 sind. Dies kann überprüft werden
als Ausgabe der Initialisierungs-Threads, wo sie ausgeführt werden.

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


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad