IngleseFranceseSpagnolo

Ad


Favicon di OnWorks

likwid-pin - Online nel cloud

Esegui likwid-pin nel provider di hosting gratuito OnWorks su Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

Questo è il comando likwid-pin che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


likwid-pin: consente di collegare un'applicazione sequenziale o con thread a processori dedicati

SINOSSI


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

DESCRIZIONE


likwid pin è un'applicazione a riga di comando per bloccare un'applicazione sequenziale o multithread
a processori dedicati. Può essere utilizzato in sostituzione di compiti(1). Opposta a
taskset nessuna maschera di affinità ma sono specificati singoli processori. Per multithread
applicazioni basate sulla libreria pthread the pthread_create la chiamata alla libreria è sovraccarica
tramite LD_PRELOAD e ogni thread creato viene bloccato su un processore dedicato come specificato
in core_list

Per impostazione predefinita, ogni thread generato è bloccato al core nell'ordine delle chiamate a
pthread_create. È possibile saltare singoli thread utilizzando l'opzione della riga di comando -s.

Per le implementazioni OpenMP i compilatori gcc e icc sono esplicitamente supportati. Altri possono anche
lavoro. likwid pin imposta la variabile d'ambiente OMP_NUM_THREADS per te se non già
regalo. Imposterà tanti thread quanti sono presenti nell'espressione pin. Fai attenzione a
con pthreads il thread genitore è sempre bloccato. Se crei ad esempio 4 thread con
pthread_create e non utilizzare il processo genitore come lavoratore che devi ancora fornire
num_threads+1 ID processore.

likwid pin supporta diverse numerazioni per il pinning. Per default numerazione fisica di
vengono utilizzati i nuclei. Questa è anche la numerazione topologia likwid(1) rapporti. Ma anche
si può utilizzare la numerazione logica all'interno del nodo o dei socket. Se si usa con una N (es. -c
N:0-6) i nuclei sono numerati in modo logico su tutto il nodo. I nuclei fisici vengono prima di tutto. Se
un sistema ad esempio ha 8 core con 16 thread SMT con -c N: 0-7 ottieni tutti i core fisici.
Se specifichi -c N:0-15 ottieni tutti i core fisici e tutti i thread SMT. Con S puoi
specificare le numerazioni logiche all'interno dei socket, ancora una volta i core fisici vengono prima. Puoi mescolare
domini diversi separati da @. Ad esempio -c S0:0-3@S2:2-3 si appunta il thread 0-3 su logico
core 0-3 sul socket 0 e thread 4-5 sui core logici 2-3 sul socket 2.

Per applicazioni in cui non è possibile utilizzare la politica del primo tocco sui sistemi numa likwid pin
può essere utilizzato per attivare il posizionamento della memoria interlacciata. Questo può accelerare notevolmente il
prestazioni di codici multithread legati alla memoria. Tutti i nodi numa a cui l'utente ha aggiunto i thread
sono usati per intercalare.

VERSIONI


-v stampa le informazioni sulla versione sullo standard output, quindi esce.

-h stampa un messaggio di aiuto sullo standard output, quindi esce.

-c OR OR <dispersione politica>
specificare un elenco numerico di processori. L'elenco può contenere più elementi,
separati da virgola e intervalli. Ad esempio 0,3,9-11. Puoi anche usare la logica
numerazioni, sia all'interno di un nodo (N), che di un socket (S ) o un dominio numerico (M ).
likwid-pin supporta anche il pin logico all'interno di un cpuset con un prefisso L. Se tu
ometti questa opzione likwid-pin collegherà i thread ai processori sul nodo
con i core fisici prima. Vedi sotto per i dettagli sull'uso di un'espressione thread o
politica di dispersione

-s
Specificare la maschera di salto come numero HEX. Per ogni bit impostato il thread corrispondente è
saltato.

-S Tutti i domini di memoria ccNUMA appartenenti all'elenco thread specificato verranno puliti
prima della corsa. Può risolvere i problemi di cache del buffer di file su Linux.

-p stampa i domini di thread disponibili per il pin logico. Se usato in combinazione
con -c, gli ID del processore fisico vengono stampati su stdout.

-i imposta la politica di memoria numa per interlacciare su tutti i nodi numa coinvolti nel pinning

-q esecuzione silenziosa senza output

-d
set delimitatore utilizzato per l'output dell'elenco dei processori fisici (-p e -c)

ESEMPIO


1. Per l'applicazione con filettatura standard:

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

Il processo padre è bloccato al processore 0. Thread 0 al processore 2, thread 1 a
processore 4, thread 2 per processore 5 e thread 3 per processore 6. Se ci sono più thread
creato rispetto a quanto specificato nell'elenco dei processori, questi thread sono fissati al processore 0 come
ricaderci.

2. Per gcc OpenMP devono essere specificati tanti id nell'elenco dei processori quanti sono i thread:

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

3. È possibile ottenere il pieno controllo del blocco specificando una maschera di salto. Per esempio
il seguente comando salta il pinning del thread 1:

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

4. L'opzione -c supporta la definizione di thread in uno specifico dominio di affinità come
Nodo NUMA o gruppo di cache. I domini di affinità disponibili possono essere recuperati con il -p
switch e nessun'altra opzione sulla riga di comando. I domini di affinità comuni sono N
(intero Nodo), SX (zoccolo X), CX (gruppo cache X) e MX (gruppo memoria X). multiplo
i domini di affinità possono essere impostati separati da @. Per collegare 2 fili su ogni presa
di un sistema a 2 prese:

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

5. Un'altra definizione di argomento dell'opzione -c consente di bloccare i thread secondo
a un'espressione come E:N:4:1:2. La sintassi è E: :
discussioni>(: : ). L'esempio pin 8 thread con 2 thread SMT per
core su una macchina SMT 4:

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

6. L'ultima alternativa per l'opzione -c è la dispersione automatica dei thread su
domini di affinità. Ad esempio per sparpagliare i thread su tutti i domini di memoria in a
sistema:

OMP_NUM_THREADS=4; likwid pin -c M: dispersione ./miaApp

Usa likwid-pin online utilizzando i servizi onworks.net


Server e workstation gratuiti

Scarica app per Windows e Linux

  • 1
    libusb
    libusb
    Libreria per abilitare lo spazio utente
    programmi applicativi con cui comunicare
    dispositivi USB. Pubblico: sviluppatori, fine
    Utenti/Desktop. Linguaggio di programmazione: C.
    Categorie ...
    Scarica libus
  • 2
    SWIG
    SWIG
    SWIG è uno strumento di sviluppo software
    che collega programmi scritti in C e
    C++ con una varietà di alto livello
    linguaggi di programmazione. SWIG è usato con
    diverso...
    Scarica SIG
  • 3
    Tema React di WooCommerce Nextjs
    Tema React di WooCommerce Nextjs
    Tema React WooCommerce, costruito con
    Avanti JS, Webpack, Babel, Node e
    Express, utilizzando GraphQL e Apollo
    Cliente. Negozio WooCommerce a React(
    contiene: Prodotti...
    Scarica il tema WooCommerce Nextjs React
  • 4
    archlabs_repo
    archlabs_repo
    Repository dei pacchetti per ArchLabs Questo è un file
    applicazione che può anche essere recuperata
    da
    https://sourceforge.net/projects/archlabs-repo/.
    È stato ospitato in OnWorks in...
    Scarica archlabs_repo
  • 5
    Progetto Zefiro
    Progetto Zefiro
    Il progetto Zephyr è una nuova generazione
    sistema operativo in tempo reale (RTOS) che
    supporta più hardware
    architetture. Si basa su a
    kernel a ingombro ridotto...
    Scarica il progetto zephyr
  • 6
    SCons
    SCons
    SCons è uno strumento di costruzione di software
    che è un'alternativa superiore al
    il classico strumento di costruzione "Make" che
    tutti conosciamo e amiamo. SCons è
    implementato un...
    Scarica SCons
  • Di Più "

Comandi Linux

Ad