het Engelshet FransSpaans

Servers draaien | Ubuntu > | Fedora > |


OnWorks-favicon

likwid-pin - Online in de cloud

Voer likwid-pin uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht likwid-pin die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


likwid-pin - pin een sequentiële of schroefdraadtoepassing op speciale processors

KORTE INHOUD


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

PRODUCTBESCHRIJVING


likwid-pin is een opdrachtregeltoepassing om sequentiële of multithreaded toepassingen vast te pinnen
aan toegewijde verwerkers. Het kan worden gebruikt als vervanging voor: takenset(1). Tegenovergesteld aan
takenset geen affiniteitsmasker maar enkele processors zijn gespecificeerd. Voor multithreaded
toepassingen op basis van de pthread-bibliotheek de pthread_create bibliotheekoproep is overbelast
via LD_PRELOAD en elke gemaakte thread wordt vastgemaakt aan een speciale processor zoals gespecificeerd
in core_list

Standaard wordt elke gegenereerde thread vastgemaakt aan de kern in de volgorde van oproepen naar
pthread_create. Het is mogelijk om enkele threads over te slaan met de opdrachtregeloptie -s.

Voor OpenMP-implementaties worden gcc- en icc-compilers expliciet ondersteund. Anderen mogen ook
werken. likwid-pin stelt de omgevingsvariabele OMP_NUM_THREADS voor u in als dat nog niet het geval is
cadeau. Het zal zoveel threads instellen als aanwezig in de pin-expressie. Wees bewust van
bij pthreads wordt de bovenliggende thread altijd vastgezet. Als je bijvoorbeeld 4 threads maakt met
pthread_create en gebruik het bovenliggende proces niet als werknemer die u nog moet leveren
num_threads+1 processor-ID's.

likwid-pin ondersteunt verschillende nummeringen voor vastzetten. Standaard fysieke nummering van
de kernen worden gebruikt. Dit is ook de nummering likwid-topologie(1) rapporten. Maar ook
logische nummering binnen het knooppunt of de sockets kan worden gebruikt. Bij gebruik met een N (bijv. -c
N:0-6) de kernen zijn logisch genummerd over het hele knooppunt. Fysieke kernen komen op de eerste plaats. Indien
een systeem heeft bijv. 8 cores met 16 SMT-threads met -c N:0-7 krijg je alle fysieke cores.
Als u -c N:0-15 opgeeft, krijgt u alle fysieke kernen en alle SMT-threads. Met S kan dat
specificeer logische nummeringen binnen sockets, opnieuw komen fysieke kernen eerst. Je kunt mixen
verschillende domeinen gescheiden door @. Bijv. -c S0:0-3@S2:2-3 u pint draad 0-3 op logisch
cores 0-3 op socket 0 en threads 4-5 op logische cores 2-3 op socket 2.

Voor toepassingen waar first touch-beleid op numa-systemen niet kan worden toegepast likwid-pin
kan worden gebruikt om de plaatsing van interleave-geheugen in te schakelen. Dit kan het proces aanzienlijk versnellen
prestaties van geheugengebonden multithreaded codes. Alle numa-knooppunten waaraan de gebruiker threads heeft vastgemaakt
worden gebruikt voor interleaving.

OPTIES


-v drukt versie-informatie af naar standaarduitvoer en sluit vervolgens af.

-h drukt een helpbericht af naar standaarduitvoer en sluit vervolgens af.

-c OR OR <scatter beleid>
specificeer een numerieke lijst van processors. De lijst kan meerdere items bevatten,
gescheiden door komma's en bereiken. Bijvoorbeeld 0,3,9-11. Je kunt ook logische . gebruiken
nummeringen, hetzij binnen een knoop (N), een socket (S ) of een numa-domein (M ).
likwid-pin ondersteunt ook logische pinning binnen een cpuset met een L-prefix. als jij
deze optie weglaten likwid-pin zal de threads vastzetten op de processors op het knooppunt
eerst met fysieke kernen. Zie hieronder voor details over het gebruik van een thread-expressie of
verstrooiingsbeleid

-s
Geef masker overslaan op als HEX-nummer. Voor elke set bit is de corresponderende draad
overgeslagen.

-S Alle ccNUMA-geheugendomeinen die bij de opgegeven threadlijst horen, worden opgeschoond
voor de vlucht. Kan cacheproblemen met bestandsbuffers op Linux oplossen.

-p drukt de beschikbare threaddomeinen af ​​voor logisch vastzetten. Indien gebruikt in combinatie
met -c worden de fysieke processor-ID's afgedrukt naar stdout.

-i stel numa-geheugenbeleid in om alle numa-knooppunten die betrokken zijn bij vastzetten te interleaven

-q stille uitvoering zonder uitvoer

-d
scheidingsteken instellen dat wordt gebruikt om de lijst met fysieke processors uit te voeren (-p & -c)

VOORBEELD


1. Voor standaard pthread-toepassing:

likwid-pin -c 0,2,4-6 ./mijnApp

Het bovenliggende proces is vastgemaakt aan processor 0. Thread 0 aan processor 2, thread 1 aan
processor 4, thread 2 naar processor 5 en thread 3 naar processor 6. Als er meer threads zijn:
gemaakt dan gespecificeerd in de processorlijst, worden deze threads vastgemaakt aan processor 0 als
terugvallen.

2. Voor gcc OpenMP moeten zoveel id's in de processorlijst worden opgegeven als er threads zijn:

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

3. Volledige controle over het vastzetten kan worden bereikt door een masker voor overslaan op te geven. Bijvoorbeeld
het volgende commando slaat het vastzetten van thread 1 over:

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

4. De schakeloptie -c ondersteunt de definitie van threads in een specifiek affiniteitsdomein zoals
NUMA-knooppunt of cachegroep. De beschikbare affiniteitsdomeinen kunnen worden opgehaald met de -p
switch en geen verdere optie op de commandline. De gemeenschappelijke affiniteitsdomeinen zijn N
(hele node), SX (socket X), CX (cachegroep X) en MX (geheugengroep X). Meerdere
affiniteitsdomeinen kunnen worden gescheiden door @. Om 2 draden op elke socket te pinnen:
van een 2-socket systeem:

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

5. Een andere argumentdefinitie van de schakeloptie -c zorgt ervoor dat de threads kunnen worden vastgezet volgens
naar een uitdrukking als E:N:4:1:2. De syntaxis is E: :
draadjes>(: : ). Het voorbeeld pinnen 8 draden met 2 SMT draden per
kern op een SMT 4-machine:

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

6. Het laatste alternatief voor de -c-schakelaar is de automatische verstrooiing van threads aan
affiniteit domeinen. Bijvoorbeeld om de threads te verspreiden over alle geheugendomeinen in a
systeem:

OMP_NUM_THREADS=4; likwid-pin -c M:verstrooiing ./mijnApp

Gebruik likwid-pin online met onworks.net-services


Ad


Ad