EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

likwid-pin - Online in der Cloud

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

Dies ist der Befehl likwid-pin, 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-pin - eine sequentielle oder Threaded-Anwendung an dedizierte Prozessoren anheften

ZUSAMMENFASSUNG


likwid-pin [-vhqipS] [-c ] [-s ] [-d ]

BESCHREIBUNG


likwid-pin ist eine Befehlszeilenanwendung zum Anheften einer sequentiellen oder Multithread-Anwendung
an dedizierte Prozessoren. Es kann als Ersatz für verwendet werden Aufgabengruppe(1). Gegenüber
Taskset keine Affinitätsmaske, aber es werden einzelne Prozessoren angegeben. Für Multithreading
Anwendungen basierend auf der pthread-Bibliothek die pthread_create Bibliotheksaufruf ist überladen
durch LD_PRELOAD und jeder erstellte Thread wird wie angegeben an einen dedizierten Prozessor gepinnt
in Kernliste

Standardmäßig wird jeder generierte Thread in der Reihenfolge der Aufrufe an den Kern gepinnt
pthread_create. Es ist möglich, einzelne Threads mit der Befehlszeilenoption -s zu überspringen.

Für OpenMP-Implementierungen werden gcc- und icc-Compiler explizit unterstützt. Andere können auch
Arbeit. likwid-pin setzt die Umgebungsvariable OMP_NUM_THREADS für Sie, falls noch nicht geschehen
gegenwärtig. Es werden so viele Threads gesetzt, wie im Pin-Ausdruck vorhanden sind. Beachten Sie, dass
bei pthreads wird der übergeordnete Thread immer gepinnt. Wenn Sie zum Beispiel 4 Threads erstellen mit
pthread_create und verwenden Sie nicht den übergeordneten Prozess als Worker, den Sie noch bereitstellen müssen
num_threads+1 Prozessor-IDs.

likwid-pin unterstützt verschiedene Nummerierungen zum Anheften. Standardmäßig physikalische Nummerierung von
die Kerne verwendet werden. Das ist auch die Nummerierung likwid-topologie(1) berichtet. Aber auch
logische Nummerierung innerhalb des Knotens oder der Sockets verwendet werden. Bei Verwendung mit einem N (zB -c
N:0-6) werden die Kerne über den gesamten Knoten logisch nummeriert. Physische Kerne stehen an erster Stelle. Wenn
ein System hat zB 8 Kerne mit 16 SMT Threads mit -c N:0-7 bekommt man alle physikalischen Kerne.
Wenn Sie -c N:0-15 angeben, erhalten Sie alle physischen Kerne und alle SMT-Threads. Mit S kannst du
Geben Sie logische Nummerierungen innerhalb von Sockets an, auch hier stehen die physischen Kerne an erster Stelle. Sie können mischen
verschiedene Domänen mit @ getrennt. ZB -c S0:0-3@S2:2-3 du pinnst den Thread 0-3 auf logisch
Kerne 0-3 auf Sockel 0 und Threads 4-5 auf logischen Kernen 2-3 auf Sockel 2.

Für Anwendungen, bei denen die First-Touch-Policy auf numa-Systemen nicht angewendet werden kann likwid-pin
kann verwendet werden, um die Platzierung des Interleave-Speichers zu aktivieren. Dies kann die
Leistung von speichergebundenen Multithread-Codes. Alle numa-Knoten, an die der Benutzer Threads angeheftet hat
werden zum Verschachteln verwendet.

OPTIONAL


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

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

-c OR OR <scatter Politik>
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. Sie können auch logisches verwenden
Nummerierungen, entweder innerhalb eines Knotens (N), eines Sockets (S ) oder eine numa-Domäne (M ).
likwid-pin unterstützt auch logisches Anheften innerhalb eines CPUsets mit einem L-Präfix. wenn du
Lassen Sie diese Option weg. likwid-pin wird die Threads an die Prozessoren des Knotens anheften
mit physischen Kernen zuerst. Siehe unten für Details zur Verwendung eines Thread-Ausdrucks oder
Streuungsrichtlinie

-s
Überspringen-Maske als HEX-Nummer angeben. Für jedes gesetzte Bit ist der entsprechende Thread
übersprungen.

-S Alle ccNUMA-Speicherdomänen, die zur angegebenen Threadliste gehören, werden bereinigt
vor dem Lauf. Kann Probleme mit dem Dateipuffer-Cache unter Linux lösen.

-p druckt die verfügbaren Thread-Domänen für logisches Anheften. Bei Verwendung in Kombination
mit -c werden die IDs der physischen Prozessoren auf stdout ausgegeben.

-i Legen Sie die numa-Speicherrichtlinie so fest, dass sie alle numa-Knoten umfasst, die am Pinning beteiligt sind

-q stille Ausführung ohne Ausgabe

-d
Trennzeichen für die Ausgabe der physischen Prozessorliste setzen (-p & -c)

BEISPIEL


1. Für Standard-pthread-Anwendung:

likwid-pin -c 0,2,4-6 ./meine App

Der übergeordnete Prozess ist an Prozessor 0 gepinnt. Thread 0 an Prozessor 2, Thread 1 an
Prozessor 4, Thread 2 zu Prozessor 5 und Thread 3 zu Prozessor 6. Wenn mehr Threads
erstellt als in der Prozessorliste angegeben, werden diese Threads an Prozessor 0 gepinnt als
zurückgreifen.

2. Für gcc OpenMP müssen in der Prozessorliste so viele IDs angegeben werden, wie Threads vorhanden sind:

OMP_NUM_THREADS=4; likwid-pin -c 0,2,1,3 ./meine App

3. Die vollständige Kontrolle über das Anheften kann durch die Angabe einer Skip-Maske erreicht werden. Zum Beispiel
der folgende Befehl überspringt das Anheften von Thread 1:

OMP_NUM_THREADS=4; likwid-pin -s 0x1 -c 0,2,1,3 ./meine App

4. Der Schalter -c unterstützt die Definition von Threads in einer bestimmten Affinitätsdomäne wie
NUMA-Knoten oder Cache-Gruppe. Die verfügbaren Affinitätsdomänen können mit dem -p . abgerufen werden
switch und keine weitere Option auf der Kommandozeile. Die gemeinsamen Affinitätsdomänen sind N
(ganzer Node), SX (Socket X), CX (Cachegruppe X) und MX (Speichergruppe X). Mehrere
Affinitätsdomänen können durch @ getrennt festgelegt werden. Um an jeder Buchse 2 Gewinde zu stiften
eines 2-Sockel-Systems:

OMP_NUM_THREADS=4; likwid-pin -c S0:0-1@S1:0-1 ./meine App

5. Eine weitere Argumentdefinition des Schalters -c ermöglicht es, die Threads entsprechend zu fixieren
zu einem Ausdruck wie E:N:4:1:2. Die Syntax ist E: :
Threads>(: : ). Die Beispielstifte 8 Gewinde mit 2 SMT-Gewinden pro
Kern auf einer SMT 4-Maschine:

OMP_NUM_THREADS=4; likwid-pin -c E:N:8:2:4 ./meine App

6. Die letzte Alternative für den Schalter -c ist das automatische Streuen von Threads auf
Affinitätsdomänen. Um beispielsweise die Threads über alle Speicherdomänen in a . zu verteilen
System:

OMP_NUM_THREADS=4; likwid-pin -c M: Streuung ./meine App

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


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

  • 1
    libusb
    libusb
    Bibliothek, um den Benutzerbereich zu aktivieren
    Anwendungsprogrammen, mit denen kommuniziert werden soll
    USB-Geräte. Zielgruppe: Entwickler, Ende
    Benutzer/Desktop. Programmiersprache: C.
    Kategorien...
    Laden Sie libusb herunter
  • 2
    SCHLUCK
    SCHLUCK
    SWIG ist ein Softwareentwicklungstool
    das verbindet in C geschriebene Programme und
    C++ mit einer Vielzahl von High-Level
    Programmiersprachen. SWIG wird mit verwendet
    anders...
    SWIG herunterladen
  • 3
    WooCommerce Nextjs Reaktionsthema
    WooCommerce Nextjs Reaktionsthema
    Reagieren Sie mit dem WooCommerce-Theme, das mit erstellt wurde
    Als nächstes JS, Webpack, Babel, Node und
    Express mit GraphQL und Apollo
    Klient. WooCommerce-Shop in React(
    enthält: Produkte...
    Laden Sie WooCommerce Nextjs React Theme herunter
  • 4
    archlabs_repo
    archlabs_repo
    Paket-Repo für ArchLabs Dies ist eine
    Anwendung, die auch abgerufen werden kann
    für
    https://sourceforge.net/projects/archlabs-repo/.
    Es wurde in OnWorks gehostet in...
    Laden Sie archlabs_repo herunter
  • 5
    Zephyr-Projekt
    Zephyr-Projekt
    Das Zephyr Project ist eine neue Generation
    Echtzeitbetriebssystem (RTOS), das
    unterstützt mehrere Hardware
    Architekturen. Es basiert auf einer
    Kernel mit kleinem Fußabdruck ...
    Laden Sie das Zephyr-Projekt herunter
  • 6
    SCons
    SCons
    SCons ist ein Software-Konstruktionstool
    das ist eine überlegene Alternative zum
    klassisches "Make"-Build-Tool, das
    wir alle kennen und lieben. SCons ist
    implementiert ein...
    Laden Sie SCons herunter
  • Mehr »

Linux-Befehle

Ad